Test ljunga-boxa: definicja + przykład
Test Ljunga-Boxa , nazwany na cześć statystyków Grety M. Ljung i George’a EP Boxa , jest testem statystycznym sprawdzającym, czy w szeregach czasowych istnieje autokorelacja.
Test Ljunga-Boxa jest szeroko stosowany w ekonometrii i innych dziedzinach, w których powszechne są dane szeregów czasowych.
Podstawy testu Ljunga-Boxa
Oto podstawy testu Ljung-Boxa:
Hipotezy
W teście Ljunga-Boxa przyjęto następujące założenia:
H 0 : Reszty rozkładają się niezależnie.
H A : Reszty nie są dystrybuowane niezależnie; wykazują korelację szeregową.
Idealnie byłoby, gdybyśmy nie odrzucali hipotezy zerowej. Oznacza to, że chcielibyśmy, aby wartość p testu była większa niż 0,05, ponieważ oznacza to, że reszty naszego modelu szeregów czasowych są niezależne, co często przyjmujemy przy tworzeniu modelu.
Statystyka testowa
Statystyka testowa Ljunga-Boxa wygląda następująco:
Q = n(n+2) Σp k 2 / (nk)
Złoto:
n = wielkość próbki
Σ = fantazyjny symbol, który oznacza „sumę” i jest uważany za sumę od 1 do h , gdzie h to liczba testowanych przesunięć.
p k = próbka autokorelacji przy opóźnieniu k
Region odrzucenia
Statystyka testu Q jest zgodna z rozkładem Chi-kwadrat z h stopniami swobody; tj. Q~ X2 (h).
Odrzucamy hipotezę zerową i mówimy, że reszty modelu nie mają rozkładu niezależnego, jeśli Q > X 2 1-α, h
Przykład: Jak wykonać test Ljung-Box w R
Aby wykonać test Ljunga-Boxa w R dla zadanego szeregu czasowego, możemy skorzystać z funkcji Box.test() , która wykorzystuje następującą notację:
Box.test (x, offset=1, type=c(“Box-Pierce”, “Ljung-Box”), fitdf = 0)
Złoto:
- x: wektor liczbowy lub jednowymiarowy szereg czasowy
- przesunięcie: określona liczba przesunięć
- typ: Test do wykonania; dostępne opcje obejmują Box-Pierce i Ljung-Box
- fitdf: bD stopnie swobody odejmowania, jeśli x jest serią reszt
Poniższy przykład ilustruje sposób wykonania testu Ljunga-Boxa dla dowolnego wektora 100 wartości, który ma rozkład normalny ze średnią = 0 i wariancją = 1:
#make this example reproducible set.seed(1) #generate a list of 100 normally distributed random variables data <- rnorm(100, 0, 1) #conduct Ljung-Box test Box.test(data, lag = 10, type = "Ljung")
Generuje to następujące dane wyjściowe:
Box-Ljung test data:data X-squared = 6.0721, df = 10, p-value = 0.8092
Statystyka testowa testu wynosi Q = 6,0721 , a wartość p testu wynosi 0,8092 , czyli jest znacznie wyższa niż 0,05. Tym samym nie udało nam się odrzucić hipotezy zerowej testu i stwierdzić, że wartości danych są niezależne.
Pamiętaj, że w tym przykładzie użyliśmy wartości przesunięcia wynoszącej 10, ale możesz wybrać dowolną wartość, której chcesz użyć dla przesunięcia, w zależności od konkretnej sytuacji.
Powiązane: Jak wykonać test Ljung-Box w Pythonie