Я пытаюсь проверить взаимную корреляцию между временными рядами S1 и S2, особенно коэффициент корреляции.
Код: Выделить всё
S1. S2
0.029 2.470
0.030 1.750
0.030 2.200
0.030 2.670
0.031 2.130
0.032 2.180
0.030 3.410
0.031 2.310
0.032 2.170
0.032 2.940
0.032 2.580
0.033 2.210
0.034 2.110
Я также написал короткий код на Python, чтобы выполнить
import numpy as np
import pandas as pn
import pathlib
home=pathlib.Path.home()
filename = home/"Documents"/"Numcorr.csv"
colnames = ["s1","s2"]
df = pn.read_csv(filename,names = colnames, header = None)
ts1 = df["s1"]
ts2 = df["s2"]
ts1 = (ts1-np.mean(ts1))/(np.std(ts1)*len(ts1))
ts2 = (ts2-np.mean(ts2))/(np.std(ts2))
corr = np.correlate(ts1,ts2,"full")
opfile = home/"Documents"/"xcorr.csv"
xcorr = np.flip(corr)
print (xcorr)
df3 = pn.DataFrame(xcorr)
df3.to_csv(opfile, index = False)
< /code>
Но иногда numpy.correlate и numpy.corrcoef возвращают неправильные значения по сравнению. В частности, значение -0.210.
Есть идеи, что идет не так?
Подробнее здесь: https://stackoverflow.com/questions/793 ... rect-value