Como realizar um teste de breusch-godfrey em r


Um dos principais pressupostos da regressão linear é que não há correlação entre os resíduos, ou seja, os resíduos são independentes.

Para testar a autocorrelação de primeira ordem, podemos realizar um teste de Durbin-Watson . No entanto, se quisermos testar a autocorrelação em ordens superiores, precisamos realizar um teste de Breusch-Godfrey .

Este teste usa as seguintes suposições :

H 0 (hipótese nula): Não há autocorrelação de ordem menor ou igual a p .

HA (hipótese alternativa): Existe uma autocorrelação de certa ordem menor ou igual a p .

A estatística de teste segue uma distribuição qui-quadrado com p graus de liberdade.

Se o valor p que corresponde a esta estatística de teste estiver abaixo de um certo nível de significância (por exemplo, 0,05), então podemos rejeitar a hipótese nula e concluir que existe uma autocorrelação entre os resíduos numa certa ordem inferior ou igual a p .

Para realizar um teste de Breusch-Godfrey em R, podemos usar a função bgtest(y ~ x, order = p) da biblioteca lmtest .

Este tutorial fornece um exemplo de uso dessa sintaxe em R.

Exemplo: teste de Breusch-Godfrey em R

Primeiro, vamos criar um conjunto de dados falso contendo duas variáveis preditoras (x1 e x2) e uma variável de resposta (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

A seguir, podemos realizar um teste de Breusch-Godfrey usando a função bgtest() do pacote lmtest .

Para este exemplo, testaremos a autocorrelação entre os resíduos de ordem 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

Pelo resultado podemos ver que a estatística de teste é X2 = 8,7031 com 3 graus de liberdade. O valor p correspondente é 0,03351 .

Como este valor p é inferior a 0,05, podemos rejeitar a hipótese nula e concluir que existe uma autocorrelação entre os resíduos de ordem menor ou igual a 3.

Como lidar com a autocorrelação

Se você rejeitar a hipótese nula e concluir que a autocorrelação está presente nos resíduos, você terá várias opções para corrigir esse problema se considerá-lo suficientemente sério:

  • Para correlação serial positiva, considere adicionar defasagens da variável dependente e/ou independente ao modelo.
  • Para correlação serial negativa, certifique-se de que nenhuma de suas variáveis esteja atrasada demais .
  • Para correlação sazonal, considere adicionar dummies sazonais ao modelo.

Recursos adicionais

Como realizar regressão linear simples em R
Como realizar regressão linear múltipla em R
Como realizar um teste de Durbin-Watson em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *