Чтобы уточнить, поскольку вы пытаетесь исследовать корреляции между двумя различными временными рядами, вы пытаетесь вычислить взаимную корреляцию .
Существуетнет такой вещи, как «автокорреляция между двумя временными рядами» - автокорреляция означает корреляции внутри одного временного ряда между отдельными лагами.
Давайте рассмотрим пример.Предположим, что кто-то хочет изучить взаимную корреляцию между солнечными часами и максимальной температурой в определенном месте.Этот процесс зависит от сезонного отставания - вследствие чего максимальная температура будет отставать от периода максимальных солнечных часов.
Для данных построена взаимная корреляция:
# Import Libraries
import numpy as np
import pandas as pd
import statsmodels
import statsmodels.tsa.stattools as ts
from statsmodels.tsa.stattools import acf, pacf
import matplotlib as mpl
import matplotlib.pyplot as plt
import quandl
import scipy.stats as ss
import os;
path="directory"
os.chdir(path)
os.getcwd()
#Variables
dataset=np.loadtxt("weather.csv", delimiter=",")
x=dataset[:,0]
y=dataset[:,1]
plt.xcorr(x, y, normed=True, usevlines=True, maxlags=365)
plt.title("Sunlight Hours versus Maximum Temperature")
plt.show()
Вычисление взаимных корреляций с максимальным запаздыванием 365, вот график данных:
В этом случае самые сильныекорреляция между максимальным количеством часов солнечного света и максимальной температурой воздуха становится запаздывающей примерно на 40 дней, то есть именно тогда наблюдается самая сильная корреляция между двумя временными рядами.
В вашем случае я бы порекомендовалпостроение взаимной корреляции между двумя временными рядами для определения наличия задержки и, если да, то на сколько периодов времени.