Como interpretar a saída do glm em r (com exemplo)


A função glm() em R pode ser usada para ajustar modelos lineares generalizados.

Esta função usa a seguinte sintaxe:

glm(fórmula, família=Gaussiano, dados,…)

Ouro:

  • fórmula: A fórmula do modelo linear (por exemplo, y ~ x1 + x2)
  • família: a família estatística a ser usada para ajustar o modelo. O padrão é Gaussiano, mas outras opções incluem Binomial, Gamma e Poisson, entre outras.
  • dados: o nome do bloco de dados que contém os dados

Na prática, esta função é mais frequentemente usada para ajustar modelos de regressão logística , especificando a família “binomial”.

O exemplo a seguir mostra como interpretar a saída do glm em R para um modelo de regressão logística.

Exemplo: como interpretar a saída do glm em R

Para este exemplo, usaremos o conjunto de dados mtcars integrado ao R:

 #view first six rows of mtcars dataset
head(mtcars)

                   mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1

Usaremos as variáveis disp e hp para prever a probabilidade de um determinado carro assumir o valor 1 para a variável am .

O código a seguir mostra como usar a função glm() para ajustar este modelo de regressão logística:

 #fit logistic regression model
model <- glm(am ~ disp + hp, data=mtcars, family=binomial)

#view model summary
summary(model)

Call:
glm(formula = am ~ disp + hp, family = binomial, data = mtcars)

Deviance Residuals: 
    Min 1Q Median 3Q Max  
-1.9665 -0.3090 -0.0017 0.3934 1.3682  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept) 1.40342 1.36757 1.026 0.3048  
available -0.09518 0.04800 -1.983 0.0474 *
hp 0.12170 0.06777 1.796 0.0725 .
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 43,230 on 31 degrees of freedom
Residual deviance: 16,713 on 29 degrees of freedom
AIC: 22,713

Number of Fisher Scoring iterations: 8

Veja como interpretar cada elemento do resultado:

Coeficientes e valores P

A estimativa do coeficiente no resultado indica a mudança média no log da probabilidade da variável de resposta associada a um aumento de uma unidade em cada variável preditora.

Por exemplo, um aumento de uma unidade na variável preditora disp está associado a uma mudança média de -0,09518 no log de probabilidade de que a variável de resposta assuma o valor 1. Isso significa que valores mais altos de disp estão associados a uma probabilidade mais baixa . da variável estou assumindo o valor 1.

O erro padrão nos dá uma ideia da variabilidade associada à estimativa do coeficiente. Em seguida, dividimos a estimativa do coeficiente pelo erro padrão para obter o valor az.

Por exemplo, o valor z para a variável preditora disp é calculado como -0,09518/0,048 = -1,983.

O valor p Pr(>|z|) nos diz a probabilidade associada a um valor z específico. Isso essencialmente nos diz quão bem cada variável preditora é capaz de prever o valor da variável resposta no modelo.

Por exemplo, o valor p associado ao valor z da variável disp é 0,0474. Como esse valor é inferior a 0,05, diríamos que disp é uma variável preditora estatisticamente significativa no modelo.

Dependendo de suas preferências, você pode decidir usar um nível de significância de 0,01, 0,05 ou 0,10 para determinar se cada variável preditora é estatisticamente significativa ou não.

Desvio zero e residual

O desvio zero na saída nos diz quão bem a variável resposta pode ser prevista por um modelo com apenas um termo original.

O desvio residual nos diz quão bem a variável de resposta pode ser prevista pelo modelo específico que estamos ajustando com p variáveis preditoras. Quanto menor o valor, melhor o modelo é capaz de prever o valor da variável resposta.

Para determinar se um modelo é “útil”, podemos calcular a estatística qui-quadrado da seguinte forma:

X 2 = desvio zero – desvio residual

com p graus de liberdade.

Podemos então encontrar o valor p associado a esta estatística qui-quadrado. Quanto menor o valor p, melhor o modelo será capaz de ajustar o conjunto de dados em comparação com um modelo com apenas um termo original.

Por exemplo, em nosso modelo de regressão, podemos observar os seguintes valores na saída para zero e desvio residual:

  • Desvio zero : 43,23 com df = 31
  • Desvio residual : 16,713 com df = 29

Podemos usar esses valores para calcular a estatística X 2 do modelo:

  • X 2 = desvio zero – desvio residual
  • X2 = 43,23 – 16,713
  • X2 = 26.517

Existem p = 2 graus de liberdade das variáveis preditoras.

Podemos usar a calculadora do qui-quadrado para valor P para descobrir que um valor X 2 de 26,517 com 2 graus de liberdade tem um valor p de 0,000002.

Como este valor p é muito inferior a 0,05, concluiríamos que o modelo é muito útil.

AIC

O Critério de Informação de Akaike ( AIC ) é uma medida usada para comparar o ajuste de diferentes modelos de regressão. Quanto menor o valor, melhor o modelo de regressão será capaz de ajustar os dados.

É calculado da seguinte forma:

AIC = 2K – 2 ln (L)

Ouro:

  • K: O número de parâmetros do modelo.
  • ln (L) : A probabilidade logarítmica do modelo. Isso nos diz a probabilidade do modelo ser baseado nos dados.

O valor real da AIC não tem sentido.

No entanto, se você ajustar vários modelos de regressão, poderá comparar o valor AIC de cada modelo. O modelo com menor AIC proporciona o melhor ajuste.

Relacionado: O que é considerado um bom valor AIC?

Recursos adicionais

Os tutoriais a seguir fornecem informações adicionais sobre como usar a função glm() em R:

A diferença entre glm e lm em R
Como usar a função de previsão com glm em R

Os tutoriais a seguir explicam como lidar com erros comuns ao usar a função glm() :

Como lidar com o aviso R: glm.fit: algoritmo não convergiu
Como lidar com: glm.fit: probabilidades ajustadas numericamente 0 ou 1 ocorreram

Add a Comment

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