Извините, первый раз.
Я пытаюсь проверить взаимную корреляцию между временными рядами 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
Три использованных метода возвращают одно и то же значение, (i) метод с использованием электронной таблицы, (ii) встроенная функция корреляции чисел и (iii) с нуля в электронной таблице. Это дает значение -0,178 для xcorr при задержке 0, коэффициента корреляции.
Я также написал короткий код на Python, чтобы выполнить
но иногда numpy.correlate и numpy.corrcoef при сравнении возвращают неправильные значения. В частности, значение -0,210.
Есть идеи, что происходит не так?
Извините, первый раз. Я пытаюсь проверить взаимную корреляцию между временными рядами 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 Три использованных метода возвращают одно и то же значение, (i) метод с использованием электронной таблицы, (ii) встроенная функция корреляции чисел и (iii) с нуля в электронной таблице. Это дает значение -0,178 для xcorr при задержке 0, коэффициента корреляции. Я также написал короткий код на Python, чтобы выполнить [code]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. Есть идеи, что происходит не так?