Test ljung-box: definizione + esempio
Il test Ljung-Box , dal nome degli statistici Greta M. Ljung e George EP Box , è un test statistico che verifica se esiste autocorrelazione in una serie temporale.
Il test Ljung-Box è ampiamente utilizzato in econometria e in altri campi in cui i dati delle serie temporali sono comuni.
Le basi del test Ljung-Box
Ecco le basi del test Ljung-Box:
Ipotesi
Il test Ljung-Box utilizza le seguenti ipotesi:
H 0 : I residui sono distribuiti in modo indipendente.
H A : I residui non sono distribuiti in modo indipendente; mostrano una correlazione seriale.
Idealmente, vorremmo non rifiutare l’ipotesi nulla. Vorremmo cioè che il valore p del test fosse maggiore di 0,05, perché ciò significa che i residui del nostro modello di serie temporali sono indipendenti, che è spesso un’ipotesi che facciamo quando creiamo un modello.
Statistica di prova
La statistica del test Ljung-Box è la seguente:
Q = n(n+2) Σp k 2 / (nk)
Oro:
n = dimensione del campione
Σ = un simbolo di fantasia che significa “somma” ed è considerata la somma da 1 a h , dove h è il numero di offset testati.
p k = campione di autocorrelazione al ritardo k
Regione di rifiuto
La statistica del test Q segue una distribuzione Chi-quadrato con h gradi di libertà; cioè Q~ X2 (h).
Rifiutiamo l’ipotesi nulla e diciamo che i residui del modello non sono distribuiti indipendentemente se Q > X 2 1-α, h
Esempio: come eseguire un test Ljung-Box in R
Per eseguire un test Ljung-Box in R per una determinata serie temporale, possiamo utilizzare la funzione Box.test() , che utilizza la seguente notazione:
Box.test (x, offset=1, type=c(“Box-Pierce”, “Ljung-Box”), fitdf = 0)
Oro:
- x: un vettore numerico o una serie temporale univariata
- offset: numero specificato di offset
- tipologia: Prova da eseguire; le opzioni includono Box-Pierce e Ljung-Box
- fitdf: bD gradi di libertà da sottrarre se x è una serie di residui
L’esempio seguente illustra come eseguire il test Ljung-Box per un vettore arbitrario di 100 valori che segue una distribuzione normale con media = 0 e varianza = 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")
Ciò genera il seguente output:
Box-Ljung test data:data X-squared = 6.0721, df = 10, p-value = 0.8092
La statistica del test è Q = 6,0721 e il valore p del test è 0,8092 , che è molto superiore a 0,05. Pertanto, non riusciamo a rifiutare l’ipotesi nulla del test e a concludere che i valori dei dati sono indipendenti.
Tieni presente che in questo esempio abbiamo utilizzato un valore di offset pari a 10, ma puoi scegliere qualsiasi valore desideri utilizzare per l’offset, a seconda della situazione particolare.
Correlato: Come eseguire un test Ljung-Box in Python