Как реализовать автокорреляционную функцию
В настоящее время я работаю над этой проблемой назначения для реализации формулы для автокорреляционной матрицы
=1|| Σ →∈((→ - →)→)(→ - →) →
Матрица стандартных отклонений для двух измерений выглядит так:
S xy xy
Код, очевидно, не работает, может кто-нибудь помочь мне, где я ошибаюсь. Ввод представляет собой массив вида number_data * измерения
example: example_x = [2,2,2]
example_y = [1,2,3]
example_data = np.stack([[1,2,3], [2,2,2]], axis=1)
def autocorrelation(data):
#data is ndimensional array
#u is the mean
#s is sd
x = np.zeros(shape=(data.shape))
norm=np.linalg.norm(data)
automatrix=[]
for row in x:
centered_data = row - row.mean(axis=0)
sd=np.std(data)
c_t=np.transpose(row - row.mean(axis=0))
a= np.dot([c_t/sd],[centered_data/sd])
automatrix.append(a)
return (automatrix/norm)