Come eseguire un test di breusch-godfrey in r
Uno dei presupposti chiave della regressione lineare è che non vi sia alcuna correlazione tra i residui, ovvero che i residui siano indipendenti.
Per verificare l’autocorrelazione del primo ordine, possiamo eseguire un test di Durbin-Watson . Tuttavia, se vogliamo testare l’autocorrelazione a ordini più alti, dobbiamo eseguire un test di Breusch-Godfrey .
Questo test utilizza le seguenti ipotesi :
H 0 (ipotesi nulla): non esiste autocorrelazione di ordine inferiore o uguale a p .
H A (ipotesi alternativa): esiste un’autocorrelazione di un certo ordine inferiore o uguale a p .
La statistica del test segue una distribuzione Chi-quadrato con p gradi di libertà.
Se il valore p che corrisponde a questa statistica test è inferiore a un certo livello di significatività (ad esempio 0,05), allora possiamo rifiutare l’ipotesi nulla e concludere che esiste un’autocorrelazione tra i residui ad un certo ordine inferiore o pari a p .
Per eseguire un test di Breusch-Godfrey in R, possiamo utilizzare la funzione bgtest(y ~ x, order = p) dalla libreria lmtest .
Questo tutorial fornisce un esempio di utilizzo di questa sintassi in R.
Esempio: test di Breusch-Godfrey in R
Innanzitutto, creiamo un set di dati falso contenente due variabili predittive (x1 e x2) e una variabile di risposta (y).
#create dataset df <- data. frame (x1=c(3, 4, 4, 5, 8, 9, 11, 13, 14, 16, 17, 20), x2=c(7, 7, 8, 8, 12, 4, 5, 15, 9, 17, 19, 19), y=c(24, 25, 25, 27, 29, 31, 34, 34, 39, 30, 40, 49)) #view first six rows of dataset head(df) x1 x2 y 1 3 7 24 2 4 7 25 3 4 8 25 4 5 8 27 5 8 12 29 6 9 4 31
Successivamente, possiamo eseguire un test di Breusch-Godfrey utilizzando la funzione bgtest() del pacchetto lmtest .
Per questo esempio, testeremo l’autocorrelazione tra i residui all’ordine p = 3:
#load lmtest package library (lmtest) #perform Breusch-Godfrey test bgtest(y ~ x1 + x2, order= 3 , data=df) Breusch-Godfrey test for serial correlation of order up to 3 data: y ~ x1 + x2 LM test = 8.7031, df = 3, p-value = 0.03351
Dal risultato possiamo vedere che la statistica del test è X2 = 8.7031 con 3 gradi di libertà. Il valore p corrispondente è 0,03351 .
Poiché questo valore p è inferiore a 0,05, possiamo rifiutare l’ipotesi nulla e concludere che esiste un’autocorrelazione tra i residui di ordine inferiore o uguale a 3.
Come gestire l’autocorrelazione
Se rifiuti l’ipotesi nulla e concludi che nei residui è presente l’autocorrelazione, hai diverse opzioni per correggere questo problema se lo consideri abbastanza serio:
- Per una correlazione seriale positiva, prendere in considerazione l’aggiunta di ritardi della variabile dipendente e/o indipendente al modello.
- Per la correlazione seriale negativa, assicurati che nessuna delle variabili abbia un ritardo eccessivo .
- Per la correlazione stagionale, prendere in considerazione l’aggiunta di dummy stagionali al modello.
Risorse addizionali
Come eseguire una regressione lineare semplice in R
Come eseguire la regressione lineare multipla in R
Come eseguire un test di Durbin-Watson in R