Как реализовать автокорреляционную функцию - PullRequest
0 голосов
/ 03 мая 2019

В настоящее время я работаю над этой проблемой назначения, чтобы реализовать формулу для матрицы автокорреляции

? = 1 | ? | ∑? → ∈? ((? → −? →) ? →) ? (?→ −? →) ? →

Матрица стандартных отклонений для двух измерений выглядит следующим образом:

S xy x ?? ?? ?? ?? y ?? ?? ?? ??

Код, очевидно, не работает, может кто-нибудь помочь мне, где я ошибаюсь. Входной массив представляет собой массив номер_данные * размеры

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)
...