Почему NUMPY correlate и corrcoef возвращают разные значения и как «нормализовать» коррелят в «полном» режиме?

Я пытаюсь использовать анализ временных рядов в Python, используя Numpy.

У меня есть две серии среднего размера, с 20k значениями каждое, и я хочу проверить скользящую корреляцию.

Corrcoef дает мне в качестве вывода матрицу коэффициентов автокорреляции / корреляции. В моем случае ничего полезного само по себе, так как одна из серий содержит задержку.

Функция корреляции (в mode = "full") возвращает список из 40 тыс. Элементов, которые ДЕЙСТВИТЕЛЬНО выглядят как результат, к которому я стремлюсь ( пиковое значение находится настолько далеко от центра списка, на которое указывает задержка), но все значения странные - до 500, когда я ожидал что-то от -1 до 1.

Я не могу просто разделить все это по максимальному значению; Я знаю, что максимальная корреляция не равна 1.

Как я могу нормализовать «взаимную корреляцию» (корреляцию в «полном» режиме), чтобы возвращаемые значения были корреляцией на каждом шаге задержки, а не очень большими, странные значения?

18
задан John Anderson 12 April 2011 в 17:33
поделиться