Я - вычислительный биолог, и когда мне пришлось вычислить авто / взаимные корреляции между парами временных рядов случайных процессов, я понял, что np.correlate
не выполняет нужную мне работу.
Действительно, в np.correlate
, по-видимому, отсутствует , усредняющее по всем возможным парам временных точек на расстоянии ?.
Вот как я определил функцию, выполняющую то, что мне нужно:
def autocross(x, y):
c = np.correlate(x, y, "same")
v = [c[i]/( len(x)-abs( i - (len(x)/2) ) ) for i in range(len(c))]
return v
Мне кажется, что ни один из предыдущих ответов не охватывает этот случай авто / взаимной корреляции: надеюсь, этот ответ может быть полезен для кого-то, работающего над случайными процессами, такими как я.