Kalkulator autokorelacji
Oblicz empiryczne współczynniki autokorelacji r_k dla dowolnego szeregu czasowego przy jednym lub wielu opóźnieniach. Wklej obserwacje w odpowiedniej kolejności, wybierz opóźnienia i estymator, a otrzymasz r_k wraz z pasmem istotności dla białego szumu.
Sprawdź, czy szereg jest skorelowany z własną przeszłością
Wzór na autokorelację
Gdzie:
- \(r_k\) — empiryczny współczynnik autokorelacji przy opóźnieniu \(k\) (korelacja szeregu z jego własną kopią przesuniętą o \(k\) kroków wstecz)
- \(x_t\) — obserwacja w chwili \(t\); \(\bar{x}\) — średnia szeregu
- \(n\) — liczba obserwacji
- \(c_k\) — empiryczna autokowariancja przy opóźnieniu \(k\); \(c_0\) — wariancja z próby
Współczynnik porównuje każdą obserwację z tą sprzed \(k\) kroków, po odjęciu średniej od obu. Podzielenie przez \(c_0\) powoduje, że każde \(r_k\) mieści się w przedziale \([-1, 1]\). W estymatorze „nieobciążonym” suma definiująca \(c_k\) dzielona jest przez \(n-k\) zamiast przez \(n\).
Autokorelacja – przykład obliczenia
Przykład: szereg 12 obserwacji — 2, 4, 3, 5, 7, 6, 8, 10, 9, 11, 13, 12, przy opóźnieniach 1, 2, 3 i standardowym estymatorze ACF.
\[ \bar{x} = \frac{90}{12} = 7.5, \qquad c_0 = \frac{143}{12} = 11.9167 \]
\[ c_1 = \frac{101.75}{12} = 8.4792 \;\Rightarrow\; r_1 = \frac{8.4792}{11.9167} = 0.7117 \]
\[ c_2 = \frac{69}{12} = 5.75 \;\Rightarrow\; r_2 = 0.4825, \qquad c_3 = \frac{39.75}{12} = 3.3125 \;\Rightarrow\; r_3 = 0.2780 \]
Wynik: \(r_1 = 0.7117\), \(r_2 = 0.4825\), \(r_3 = 0.2780\). Pasmo białego szumu na poziomie 95% wynosi \(\pm 1.96/\sqrt{12} = \pm 0.566\), więc istotna jest tylko autokorelacja przy opóźnieniu 1: szereg wykazuje bezwładność — po wysokich wartościach następują kolejne wysokie — i autokorelacja wygasa łagodnie, co jest typowe dla szeregu z trendem.
Jak korzystać z kalkulatora
- Wpisz obserwacje w polu Wartości szeregu czasowego (w kolejności), od najstarszych. Oddzielaj wartości spacjami, średnikami lub znakami nowej linii; przecinki dziesiętne są akceptowane. Potrzebujesz co najmniej 3 wartości.
- Podaj długości opóźnień w polu Opóźnienia do obliczenia — pojedyncze (np. 1) albo kilka, rozdzielone spacjami lub średnikami (np. 1; 2; 3; 4). Każde opóźnienie musi być liczbą całkowitą od 1 do \(n-1\).
- Wybierz Estymator: „Standardowy ACF (dzielenie przez n)” daje to samo, co programy statystyczne rysują na wykresach ACF; „Nieobciążony (dzielenie przez n − k)” koryguje systematyczne zaniżenie, które przy dłuższych opóźnieniach pojawia się w małych próbach.
- Odczytaj tabelę wyników: liczbę nakładających się par użytych przy każdym opóźnieniu, współczynnik \(r_k\) oraz to, czy wychodzi on poza pasmo białego szumu \(\pm 1.96/\sqrt{n}\).
Czym jest autokorelacja?
Autokorelacja (korelacja szeregowa) mierzy, jak silnie szereg czasowy jest liniowo powiązany z własną przeszłością. Zamiast korelować dwie różne zmienne, korelujesz szereg z jego kopią przesuniętą o \(k\) kroków wstecz — o tzw. opóźnienie. Wynik, \(r_k\), interpretuje się dokładnie tak jak współczynnik korelacji Pearsona: \(+1\) oznacza, że przesunięty szereg porusza się w idealnej zgodności z oryginalnym, \(-1\) — że porusza się idealnie przeciwnie, a wartości bliskie zeru — że przy tym opóźnieniu nie ma liniowej zależności.
Autokorelacja to jedno z pierwszych narzędzi diagnostycznych w analizie szeregów czasowych. Współczynnik przy opóźnieniu 1 wyraźnie powyżej zera wskazuje na bezwładność (wartości przez pewien czas pozostają powyżej lub poniżej średniej), a silnie ujemny — na oscylacje: szereg „przestrzeliwuje” średnią w obie strony. Wykres \(r_k\) względem \(k\) daje funkcję autokorelacji (ACF), podstawowe narzędzie identyfikacji modeli ARIMA i wykrywania sezonowości.
Ważniejszy niż pojedyncza wartość jest wzorzec rozkładu po opóźnieniach. Powoli wygasające dodatnie autokorelacje sugerują trend lub niestacjonarność — rozważ najpierw zróżnicowanie szeregu. Pojedynczy pik przy opóźnieniu k wskazuje na wzorzec sezonowy lub cykliczny o okresie \(k\) (np. pik przy opóźnieniu 12 w danych miesięcznych oznacza cykl roczny). Współczynniki, które przy wszystkich opóźnieniach mieszczą się wewnątrz pasa białego szumu, sugerują, że szereg nie ma liniowej pamięci — a dokładnie tego oczekujesz od reszt modelu.
Pamiętaj, że autokorelacja uchwytuje wyłącznie zależność liniową. Szereg może być w pełni przewidywalny na podstawie reguł nieliniowych, a mimo to mieć autokorelację bliską zeru, więc „czysta” ACF nie dowodzi niezależności. Aby formalnie sprawdzić, czy cały zestaw autokorelacji jest zgodny z białym szumem, użyj testu łączonego, np. testu Ljunga–Boxa.
Założenia, ograniczenia i praktyczne wskazówki
- Kolejność i odstępy mają znaczenie. Wartości muszą być ułożone w naturalnej kolejności czasowej i w równych odstępach (ten sam krok czasowy między obserwacjami). Potasowanie danych niszczy autokorelację.
- Stacjonarność. Współczynniki mają sens tylko wtedy, gdy szereg ma w przybliżeniu stabilną średnią i wariancję. Szereg z trendem zawyża autokorelacje przy krótkich opóźnieniach; w razie potrzeby zróżnicuj go najpierw.
- Długie opóźnienia są zawodne. Przy opóźnieniu \(k\) wykorzystuje się tylko \(n-k\) nakładających się par, więc opóźnienia powyżej około \(n/2\) opierają się na bardzo małej liczbie par. Przy 12 obserwacjach wszystko powyżej opóźnienia 6 traktuj jako szum.
- Wybór estymatora. Standardowy estymator (dzielenie przez \(n\)) zawsze daje poprawną funkcję autokorelacji i odpowiada wykresom ACF w programach zgodnych z metodologią Boxa–Jenkinsa. Wersja nieobciążona (dzielenie przez \(n-k\)) usuwa zaniżenie przy długich opóźnieniach, ale teoretycznie może wyprowadzić współczynniki poza przedział \([-1, 1]\).
- Pasmo istotności to tylko wskazówka. Granice \(\pm 1.96/\sqrt{n}\) zakładają, że prawdziwy szereg jest białym szumem. Jeśli w rzeczywistości autokorelacja istnieje, pasmo zaniża zmienność próbkową sąsiednich opóźnień.
- Wartości odstające zaburzają wyniki. Pojedyncza skrajna obserwacja może zdominować zarówno średnią, jak i iloczyny w \(c_k\). Najpierw sprawdź dane albo rozważ odporne alternatywy, np. miary korelacji rangowej.
Jeśli porównujesz dwa różne szeregi, a nie szereg z jego własną przeszłością, użyj narzędzia do korelacji, np. kalkulatora korelacji rang Spearmana albo kalkulatora tau Kendalla. Aby przed modelowaniem podsumować ogólny kształt pojedynczego szeregu, naturalnym uzupełnieniem jest kalkulator skośności i kurtozy.
Najczęściej zadawane pytania
Jaka jest dobra wartość autokorelacji?
Nie ma uniwersalnej „dobrej” wartości — zależy to od tego, co badasz. Dla surowych danych wielkość \(r_k\) po prostu mówi, ile liniowej pamięci ma szereg. Dla reszt modelu oczekujesz wartości bliskich zeru: wszystko poza pasmem \(\pm 1.96/\sqrt{n}\) sugeruje, że model nie uchwycił całej struktury. W zgrubnej skali \(|r_1| > 0.5\) to zależność silna, 0,2–0,5 umiarkowana, a poniżej 0,2 słaba.
Czym autokorelacja różni się od autokorelacji częściowej (PACF)?
Autokorelacja przy opóźnieniu \(k\) obejmuje zarówno bezpośredni związek między \(x_t\) i \(x_{t-k}\), jak i wszystkie pośrednie powiązania przez opóźnienia pomiędzy nimi. Autokorelacja częściowa usuwa te pośrednie opóźnienia i wyodrębnia sam efekt bezpośredni. Dlatego przy identyfikacji modeli ARIMA wykresy ACF i PACF czyta się razem: powoli wygasająca ACF z jednym istotnym pikiem PACF sugeruje proces AR, odwrotna konfiguracja — proces MA.
Ile opóźnień powinienem obliczyć i jak długi musi być mój szereg?
Przyjęta reguła praktyczna mówi, by badać opóźnienia do około \(n/4\), a każde opóźnienie powyżej \(n/2\) traktować jako zawodne, bo pozostaje wówczas tylko \(n-k\) nakładających się par. Do poważnej analizy ACF najlepiej mieć co najmniej 50 obserwacji; przy 10–20 punktach sensowną informację niosą tylko pierwsze jedno lub dwa opóźnienia. Dla danych sezonowych uwzględnij co najmniej jeden lub dwa pełne cykle sezonowe, np. opóźnienia do 24 dla danych miesięcznych.
Czy autokorelacja ma jednostki?
Nie. Podobnie jak każdy współczynnik korelacji, \(r_k\) jest wielkością bezwymiarową i zawsze mieści się między \(-1\) a \(+1\), niezależnie od tego, czy dane wyrażone są w dolarach, stopniach Celsjusza czy liczbach. Autokowariancja \(c_k\) natomiast niesie jednostki danych podniesione do kwadratu, ale podzielenie przez wariancję \(c_0\) je znosi. Oznacza to również, że przeskalowanie szeregu (np. z Celsjuszy na Fahrenheity) nie zmienia żadnej autokorelacji.
Czy mogę to obliczyć w Excelu, korelując szereg z przesuniętą kopią?
Możesz się zbliżyć do wyniku: umieść szereg w kolumnie A, kopię przesuniętą o \(k\) wierszy w kolumnie B i użyj funkcji CORREL na nakładającym się zakresie. Wynik nieco różni się od standardowej ACF, ponieważ CORREL wyśrodkowuje każdy przycięty segment na jego własnej średniej, natomiast ACF wyśrodkowuje oba segmenty na średniej całego szeregu. Różnica jest niewielka dla długich szeregów, ale zauważalna dla krótkich — jeśli zależy Ci na zgodności z oprogramowaniem statystycznym, użyj metody stosowanej w tym kalkulatorze.
Co oznacza ujemna autokorelacja przy opóźnieniu 1?
Ujemne \(r_1\) wskazuje na oscylacje: po wartościach powyżej średniej następują zwykle wartości poniżej niej i odwrotnie. Często spotyka się to po nadmiernym zróżnicowaniu gładkiego szeregu, w procesach oscylacyjnych lub wracających do średniej, a także wtedy, gdy kolejne korekty celowo wzajemnie się równoważą. Silnie ujemna autokorelacja reszt może sygnalizować, że model przesadza z korektą z okresu na okres. Wartości bliskie \(-1\) przy opóźnieniu 1 są w rzeczywistych danych rzadkie i mogą wskazywać, że szereg utworzono sztucznie.
Co zrobić, gdy mój szereg ma braki danych albo nierówne odstępy czasowe?
Autokorelacja zakłada obserwacje w równych odstępach i w ścisłej kolejności czasowej, więc luki zmieniają sens opóźnienia. Dostępne możliwości: interpolacja lub imputacja małych luk; agregacja danych nieregularnych do regularnych interwałów (np. średnie dzienne); a jeśli masz znaczniki czasu — metody zaprojektowane dla szeregów nieregularnych. Zwykłe usunięcie brakujących wierszy skraca widoczną strukturę opóźnień i może zafałszować wyniki. Upewnij się też, że wpisujesz wartości od najstarszych — odwrócenie kolejności nie zmienia tu żadnych znaków, ale może mieć znaczenie w analizach asymetrycznych.