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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *