Technologiczne, Gadżety, Telefony Komórkowe, Pobieranie Aplikacji!

Kompletny przewodnik po teście Dickeya-Fullera w analizie szeregów czasowych

Uwaga: Poniższy artykuł pomoże Ci w: Kompletny przewodnik po teście Dickeya-Fullera w analizie szeregów czasowych

Kiedy tworzymy model do celów prognostycznych w analizie szeregów czasowych, potrzebujemy stacjonarnego szeregu czasowego dla lepszego przewidywania. Tak więc pierwszym krokiem do pracy nad modelowaniem jest uczynienie szeregów czasowych stacjonarnymi. Testowanie stacjonarności jest często stosowaną czynnością w modelowaniu autoregresyjnym. Możemy wykonać różne testy, takie jak KPSS, Phillips-Perron i Augmented Dickey-Fuller. Ten artykuł jest bardziej skoncentrowany na teście Dickeya-Fullera. W artykule zobaczymy matematykę stojącą za testem i sposób, w jaki możemy go zaimplementować w szeregach czasowych.

Test ADF (Augmented Dickey-Fuller) jest testem istotności statystycznej, co oznacza, że ​​test da wyniki w testach hipotez z hipotezami zerowymi i alternatywnymi. W rezultacie będziemy mieli wartość p, z której będziemy musieli wyciągać wnioski na temat szeregu czasowego, niezależnie od tego, czy jest on stacjonarny, czy nie.

Przed przystąpieniem do testu ADF musimy wiedzieć o teście pierwiastka jednostkowego, ponieważ test ADF należy do testu pierwiastka jednostkowego.

Test pierwiastka jednostkowego

Test pierwiastka jednostkowego sprawdza, czy szereg czasowy nie jest stacjonarny i czy składa się z pierwiastka jednostkowego w analizie szeregów czasowych. Obecność pierwiastka jednostkowego w szeregach czasowych definiuje hipotezę zerową, a hipoteza alternatywna definiuje szeregi czasowe jako stacjonarne.

Matematycznie test pierwiastka jednostkowego można przedstawić jako

Gdzie,

    Dt jest składową deterministyczną.zt jest składową stochastyczną.ɛt jest stacjonarnym procesem błędu.

Podstawową koncepcją testu pierwiastka jednostkowego jest określenie, czy zt (składnik stochastyczny) składa się z pierwiastka jednostkowego, czy nie.

Istnieją różne testy, które obejmują testy pierwiastka jednostkowego.

    Rozszerzony test Dickeya-Fullera. Test Phillipsa-Perrona. Test KPSS. Test ADF-GLS. Test Breuscha-Godfreya. Test Ljunga-Box. Test Durbina-Watsona.

Przejdźmy do naszego motywu, którym jest test Dickeya-Fullera.

Wyjaśnienie testu Dickeya-Fullera.

Prosty model AR można przedstawić jako:

Gdzie

    yt jest zmienną będącą przedmiotem zainteresowania w czasie tρ jest współczynnikiem, który definiuje pierwiastek jednostkowy jako szum lub może być traktowany jako składnik błędu.

Jeśli ρ = 1pierwiastek jednostkowy występuje w szeregu czasowym, a szereg czasowy jest niestacjonarny.

Jeśli model regresji można przedstawić jako

Gdzie

    Δ jest operatorem różnicowym.ẟ = ρ-1

Więc tutaj, jeśli ρ = 1co oznacza, że ​​otrzymamy różnicę jako składnik błędu i jeśli współczynnik ma jakieś wartości mniejsze niż jeden lub większe niż jeden, zobaczymy zmiany zgodnie z wcześniejszą obserwacją.

Test może mieć trzy wersje.

    test na pierwiastek jednostkowy
    przetestuj pierwiastek jednostkowy ze stałą
    przetestować pierwiastek jednostkowy ze stałymi i deterministycznymi trendami w czasie

Więc jeśli szereg czasowy jest niestacjonarny, będzie miał tendencję do zwracania składnika błędu lub trendu deterministycznego z wartościami czasu. Jeśli szereg jest stacjonarny, będzie miał tendencję do zwracania tylko składnika błędu lub trendu deterministycznego. W stacjonarnych szeregach czasowych po dużej wartości zwykle następuje mała wartość, a po małej wartości następuje duża wartość. A w niestacjonarnym szeregu czasowym duża i mała wartość będą naliczane z prawdopodobieństwem, które nie zależy od bieżącej wartości szeregu czasowego.

Rozszerzony test Dickeya-Fullera jest rozszerzeniem testu Dickeya-Fullera, który usuwa z szeregów autokorelację, a następnie testy podobne do procedury testu Dickeya-Fullera.

Rozszerzony test pełniejszego Dickeya działa na statystyce, która daje liczbę ujemną, a odrzucenie hipotezy zależy od tej liczby ujemnej; bardziej ujemna wielkość liczby reprezentuje pewność obecności pierwiastka jednostkowego na pewnym poziomie w szeregu czasowym.

Stosujemy ADF na modelu i można go przedstawić matematycznie jako

Gdzie

    ɑ jest stałą ???? jest współczynnikiem w czasie. p jest rzędem opóźnienia procesu autoregresyjnego.

Tutaj, w matematycznej reprezentacji ADF, dodaliśmy terminy różnicujące, które wprowadzają zmiany między ADF a testem Dickeya-Fullera.

Następnie przeprowadza się test pierwiastka jednostkowego przy hipotezie zerowej ???? = 0 przeciw alternatywnej hipotezie ????

można ją porównać z odpowiednią wartością krytyczną dla testu Dickeya-Fullera. Test ma określony rozkład, znany po prostu jako tabela Dickeya-Fullera dla wartości krytycznych.

Kluczową kwestią do zapamiętania jest to, że: ponieważ hipoteza zerowa zakłada obecność pierwiastka jednostkowego, wartość p uzyskana w teście powinna być mniejsza niż poziom istotności (powiedzmy 00,05) do odrzucenia hipotezy zerowej. Wnioskując tym samym, że szereg jest stacjonarny.

Implementacja testu ADF

Aby wykonać test ADF w dowolnym pakiecie szeregów czasowych, statsmodel udostępnia funkcję implementacji adfuller().

Funkcja adfuller() udostępnia następujące informacje.

    Wartość-pWartość statystyki testowejLiczba opóźnień do rozważenia podczas testowaniaWartości krytyczne

W dalszej części artykułu przeprowadzimy test ADF z niestacjonarnymi danymi pasażerów linii lotniczych i stacjonarnymi danymi dotyczącymi temperatury.

Importowanie bibliotek:

z statsmodels.tsa.stattools importuj adfuller importuj pandy jako pd importuj numpy jako np

Odczyt danych linii lotniczych-pasażerów

path=”/content/drive/MyDrive/Yugesh/desezonowanie szeregów czasowych/AirPassengers.csv” data = pd.read_csv(ścieżka, index_col=”Miesiąc”)

Sprawdzanie niektórych wartości danych.

data.head()

Wyjście:

Wykreślanie danych.

data.plot(rozmiar_figury=(14,8), title=”seria danych dotyczących alkoholu”)

Wyjście:

Tutaj widzimy, że dane, których używamy, są niestacjonarne, ponieważ liczba pasażerów jest dodatnio zintegrowana z czasem.

Teraz, gdy mamy już wszystko, czego potrzebujemy, możemy przeprowadzić nasz test na szeregach czasowych.

Wyciąganie liczby pasażerów jako serii.

seria = dane[‘Passengers’].wartości serie

Wyjście:

Wykonanie testu ADF na serii:

# Wynik testu ADF = adfuller(seria, autolag=’AIC’)

Wyodrębnianie wartości z wyników:

print(‘Statystyka ADF: wynik %f’ %[0]) print(‘wartość-p: %f’ % wynik[1]) print(‘Wartości krytyczne:’) dla klucza, wartość w wyniku[4].items(): print(‘\t%s: %.3f’ % (klucz, wartość)) jeśli wynik[0] Wyjście:

Tutaj w wynikach widzimy, że wartość p dla szeregów czasowych jest większa niż 00,05 i możemy powiedzieć, że nie udało nam się odrzucić hipotezy zerowej, a szereg czasowy jest niestacjonarny.

Teraz sprawdźmy test dla danych stacjonarnych.

Ładowanie danych.

path=”/content/drive/MyDrive/Yugesh/LSTM Univarient Single Step Style/temprature.xlsx” data = pd.read_excel(ścieżka, index_col=”Date”)

Sprawdzanie niektórych wartości głównych danych:

data.head()

Wyjście:

Tutaj widzimy, że dane zawierają średnie wartości temperatur dla każdego dnia.

Wykreślanie danych.

data.plot(rozmiar_figury=(14,8), title=”seria danych o temperaturze”)

Wyjście:

Tutaj widzimy, że w danych większa wartość podąża za następną mniejszą wartością w całym szeregu czasowym, więc możemy powiedzieć, że szereg czasowy jest stacjonarny i sprawdzić to za pomocą testu ADF.

Ekstrakcja temperatury w serii.

seria = dane[‘Temp’].wartości serie

Wyjście:

Wykonywanie testu automatycznego podajnika dokumentów.

wynik = adfuller(seria, autolag=’AIC’)

Sprawdzanie wyników:

print(‘Statystyka ADF: wynik %f’ %[0]) print(‘wartość-p: %f’ % wynik[1]) print(‘Wartości krytyczne:’) dla klucza, wartość w wyniku[4].items(): print(‘\t%s: %.3f’ % (klucz, wartość)) jeśli wynik[0] > wynik[4][“5%”]: print(“Odrzucenie Ho – Szereg czasowy jest stacjonarny”) else: print(“Nie udało się odrzucić Ho – Szereg czasowy jest stacjonarny”)

Wyjście:

W wynikach widać, że wartość p uzyskana z testu jest mniejsza niż 0.05, więc odrzucimy hipotezę zerową „Szereg czasowy jest stacjonarny”, co oznacza, że ​​szereg czasowy jest niestacjonarny.

W artykule widzieliśmy, dlaczego musimy wykonać test ADF i algorytmy, które stosują test ADF i Dickey-Fuller, aby wyciągać wnioski na temat dowolnych szeregów czasowych. Statsmodel to jeden z pakietów, który pozwala na wykonywanie wielu rodzajów testów i analiz dotyczących analizy szeregów czasowych.

Bibliografia: