Korelacja między dwoma szeregami czasowymi

24

Jaki jest najłatwiejszy sposób / metoda obliczenia korelacji między dwoma szeregami czasowymi, które są dokładnie tego samego rozmiaru? Myślałem o pomnożeniu i i zsumowaniu mnożenia. Więc jeśli ta pojedyncza liczba była dodatnia, czy możemy powiedzieć, że te dwie serie są skorelowane? Mogę jednak wymyślić kilka przykładów, w których liniowo inny wykładniczo rosnący szereg czasowy nie miałby ze sobą żadnego związku, ale powyższe obliczenia wykazałyby, że były one skorelowane.(x[t]-μx)(y[t]-μy)

jakieś pomysły?

BBDynSys
źródło
3
Czy słyszałeś kiedyś o funkcji korelacji krzyżowej - en.wikipedia.org/wiki/Cross-correlation#Time_series_analysis ?
Makro
Twoje dwie serie czasowe mają dokładnie taki sam rozmiar. Zobacz stats.stackexchange.com/questions/3463/…, ponieważ jest podobny, nie do końca identyczny z twoim pytaniem, z dwiema seriami tej samej wielkości i częstotliwości, chociaż są niestacjonarne.
Ellie Kesselman

Odpowiedzi:

11

Punkt makro jest poprawny, właściwym sposobem porównywania zależności między szeregami czasowymi jest funkcja korelacji krzyżowej (przy założeniu stacjonarności). Posiadanie tej samej długości nie jest konieczne. Korelacja krzyżowa w opóźnieniu 0 po prostu oblicza korelację, taką jak wykonanie oszacowania korelacji Pearsona parując dane w identycznych punktach czasowych. Jeśli mają taką samą długość, jak zakładasz, będziesz mieć dokładne pary T, gdzie T jest liczbą punktów czasowych dla każdej serii. Korelacja krzyżowa opóźnienia 1 odpowiada czasowi t z serii 1 z czasem t + 1 w szeregu 2. Zwróć uwagę, że chociaż serie są tej samej długości, masz tylko parę T-2, ponieważ jeden punkt w pierwszej serii nie ma dopasowania w drugiej a jeden punkt w drugiej serii nie będzie pasował do pierwszego. Biorąc pod uwagę te dwie serie, można oszacować korelację krzyżową przy kilku opóźnieniach. Jeśli którakolwiek z korelacji krzyżowych jest statystycznie znacząco różna od 0, oznacza to korelację między dwiema seriami.

Michael R. Chernick
źródło
Cześć Michael, czy można określić ilościowo „znacząco różne” - czy mogę użyć 1 lub 2 odchylenia standardowego od zera jako znaczącego?
BBDynSys
@ user423805 Zmieniłem to, aby odczytać statystycznie istotnie różne od 0. Formalnie oznacza to, że testujesz hipotezę zerową, że korelacja wynosi zero w porównaniu z alternatywą, że nie jest 0. Następnie obliczyć dwustronną wartość p dla statystyki testowej . Ogólnie istotna statystycznie średnia wartość p <= 0,05. Czasami inne wartości są używane do zdefiniowania istotności statystycznej (na przykład 0,01). Większość pakietów oprogramowania szeregów czasowych zawierających wiele szeregów czasowych może wykonać te testy za Ciebie. Nasz przyjaciel IrishStat może z tym porozmawiać na temat Autobox.
Michael R. Chernick
czy istnieją przypadki, w których korelacja krzyżowa dla opóźnienia zero i Pearsona różni się?
Bakaburg,
4

Być może warto przyjrzeć się podobnemu pytaniu i mojej odpowiedzi Korelowanie szeregów czasowych objętości, co sugeruje, że można obliczyć korelacje krzyżowe, ALE ich testowanie to koń innego koloru (koński o innym odcieniu) ze względu na autoregresyjną lub deterministyczną strukturę w obu seria.

IrishStat
źródło
jeśli dobrze rozumiem, w tej odpowiedzi mówisz, że korelacja między seriami czasowymi jest bezużyteczna.
BBDynSys
user423805 MOŻE być bezużyteczny, chyba że dane zostaną odpowiednio wstępnie przefiltrowane w celu uzyskania IID. To przemawia bezpośrednio do prawdziwych obaw OP dotyczących fałszywych wniosków, takich jak „bociany przynoszące dzieci J. Neyman 1938 en.wikipedia.org/wiki/… i amstat.org/about / statisticiansinhistory /… ”itp. (Mogę wymyślić kilka przykładów, w których liniowo inny wykładniczo rosnący szereg czasowy nie miałby ze sobą żadnego związku, ale powyższe obliczenia
wykazałyby,
Myślę, że chodzi o to, że seria musi być stacjonarna, aby korelacje krzyżowe miały sens. Jeśli konieczne jest filtrowanie, należy skasować serię stacjonarną (jak różnicowanie lub różnicowanie sezonowe). Ale nazywanie tego bezużytecznym jest błędem.
Michael R. Chernick
@Michael Powiedziałem, że MOŻE być bezużyteczny.
IrishStat
@IrishStat To był dobry komentarz i zabrał mnie z powrotem na trening w 1970 roku. W tym czasie uczyłem się o szeregach czasowych / metodach prognozowania dla mojej cywilnej pracy w armii USA. Używaliśmy wygładzania wykładniczego jako metody prognozowania w oparciu o dane historyczne w porównaniu z subiektywnymi szacunkami, które były wykorzystywane w magazynach zaopatrzenia. Ktoś zasugerował mi świetną propozycję, aby przyjrzeć się bardziej ogólnym modelom ARIMA i tekstowi Boxa i Jenkinsa z 1970 roku i tak zaczęło się moje zainteresowanie seriami czasowymi, które stały się częścią mojej kariery.
Michael R. Chernick
-1

Jest tu kilka interesujących rzeczy

/programming/3949226/calculating-pearson-correlation-and-signiance-in-python

Właśnie tego potrzebowałem. Prosty do wdrożenia i wyjaśnienia.

BBDynSys
źródło
2
-1 Z tego, co mogę zebrać, te odpowiedzi dotyczą jedynie standardowej korelacji Pearsona z momentem produktu. Po zastosowaniu do dwóch szeregów czasowych standardowa korelacja Pearsona daje bezsensowne wyniki! Jeśli zastosujesz się do tych sugestii, wszystko, co robisz, to tworzenie artefaktów statystycznych. Patrz np. Math.mcgill.ca/dstephens/OldCourses/204-2007/Handouts/…
Momo