Como realizar um teste de razão de verossimilhança em r
Um teste de razão de verossimilhança compara a qualidade do ajuste de dois modelos de regressão aninhados.
Um modelo aninhado é simplesmente um modelo que contém um subconjunto de variáveis preditoras no modelo de regressão geral.
Por exemplo, suponha que temos o seguinte modelo de regressão com quatro variáveis preditoras:
Y = β 0 + β 1 x 1 + β 2 x 2 + β 3 x 3 + β 4 x 4 + ε
Um exemplo de modelo aninhado seria o seguinte modelo com apenas duas das variáveis preditoras originais:
Y = β 0 + β 1 x 1 + β 2 x 2 + ε
Para determinar se esses dois modelos são significativamente diferentes, podemos realizar um teste de razão de verossimilhança que utiliza as seguintes hipóteses nulas e alternativas:
H 0 : O modelo completo e o modelo aninhado ajustam-se igualmente bem aos dados. Então, você deve usar modelo aninhado .
HA : O modelo completo ajusta os dados significativamente melhor do que o modelo aninhado. Então você tem que usar o modelo completo .
Se o valor p do 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 o modelo completo proporciona um ajuste significativamente melhor.
O exemplo a seguir mostra como realizar um teste de razão de verossimilhança em R.
Exemplo: teste de razão de verossimilhança em R
O código a seguir mostra como ajustar os dois modelos de regressão a seguir em R usando dados do conjunto de dados integrado mtcars :
Modelo completo: mpg = β 0 + β 1 disponível + β 2 carb + β 3 hp + β 4 cil
Modelo: mpg = β 0 + β 1 disponível + β 2 carb
Usaremos a função lrtest() do pacote lmtest para realizar um teste de razão de verossimilhança nestes dois modelos:
library (lmtest) #fit full model model_full <- lm(mpg ~ disp + carb + hp + cyl, data = mtcars) #fit reduced model model_reduced <- lm(mpg ~ disp + carb, data = mtcars) #perform likelihood ratio test for differences in models lrtest(model_full, model_reduced) Likelihood ratio test Model 1: mpg ~ disp + carb + hp + cyl Model 2: mpg ~ available + carb #Df LogLik Df Chisq Pr(>Chisq) 1 6 -77.558 2 4 -78.603 -2 2.0902 0.3517
A partir do resultado, podemos ver que a estatística do teste qui-quadrado é 2,0902 e o valor p correspondente é 0,3517 .
Como esse valor p não é inferior a 0,05, não conseguiremos rejeitar a hipótese nula.
Isso significa que o modelo completo e o modelo aninhado ajustam-se igualmente bem aos dados. Devemos, portanto, usar o modelo aninhado, porque as variáveis preditoras adicionais no modelo completo não proporcionam uma melhoria significativa no ajuste.
Poderíamos então realizar outro teste de razão de verossimilhança para determinar se um modelo com uma única variável preditora é significativamente diferente de um modelo com ambos os preditores:
library (lmtest) #fit full model model_full <- lm(mpg ~ disp + carb, data = mtcars) #fit reduced model model_reduced <- lm(mpg ~ disp, data = mtcars) #perform likelihood ratio test for differences in models lrtest(model_full, model_reduced) Likelihood ratio test Model 1: mpg ~ available + carb Model 2: mpg ~ available #Df LogLik Df Chisq Pr(>Chisq) 1 4 -78.603 2 3 -82.105 -1 7.0034 0.008136 ** --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Pelo resultado, podemos ver que o valor p do teste da razão de verossimilhança é 0,008136 . Como esse número é menor que 0,05, rejeitaríamos a hipótese nula.
Assim, concluiríamos que o modelo de dois preditores proporciona uma melhoria significativa no ajuste em relação ao modelo de preditor único.
Então, nosso modelo final seria:
mpg = β 0 + β 1 disponível + β 2 carboidratos
Recursos adicionais
Como realizar regressão linear simples em R
Como realizar regressão linear múltipla em R
Como interpretar códigos de significado em R