Comment extraire les coefficients de régression de glm() dans R



Vous pouvez utiliser les méthodes suivantes pour extraire les coefficients de régression de la fonction glm() dans R :

Méthode 1 : extraire tous les coefficients de régression

model$coefficients

Méthode 2 : Extraire le coefficient de régression pour une variable spécifique

model$coefficients['my_variable']

Méthode 3 : Extraire tous les coefficients de régression avec l’erreur standard, la valeur Z et la valeur P

summary(model)$coefficients

L’exemple suivant montre comment utiliser ces méthodes dans la pratique.

Exemple : extraire les coefficients de régression de glm() dans R

Supposons que nous ajustions un modèle de régression logistique en utilisant l’ensemble de données par défaut du package ISLR :

#load dataset
data <- ISLR::Default

#view first six rows of data
head(data)

  default student   balance    income
1      No      No  729.5265 44361.625
2      No     Yes  817.1804 12106.135
3      No      No 1073.5492 31767.139
4      No      No  529.2506 35704.494
5      No      No  785.6559 38463.496
6      No     Yes  919.5885  7491.559

#fit logistic regression model
model <- glm(default~student+balance+income, family='binomial', data=data)

#view summary of logistic regression model
summary(model)

Call:
glm(formula = default ~ student + balance + income, family = "binomial", 
    data = data)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.4691  -0.1418  -0.0557  -0.0203   3.7383  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)    
(Intercept) -1.087e+01  4.923e-01 -22.080  < 2e-16 ***
studentYes  -6.468e-01  2.363e-01  -2.738  0.00619 ** 
balance      5.737e-03  2.319e-04  24.738  < 2e-16 ***
income       3.033e-06  8.203e-06   0.370  0.71152    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 2920.6  on 9999  degrees of freedom
Residual deviance: 1571.5  on 9996  degrees of freedom
AIC: 1579.5

Number of Fisher Scoring iterations: 8

Nous pouvons taper model$coefficients pour extraire tous les coefficients de régression du modèle :

#extract all regression coefficients
model$coefficients

  (Intercept)    studentYes       balance        income 
-1.086905e+01 -6.467758e-01  5.736505e-03  3.033450e-06

On peut également taper model$coefficients[‘balance’] pour extraire le coefficient de régression pour la variable balance uniquement :

#extract coefficient for 'balance'
model$coefficients['balance']

    balance 
0.005736505

Pour afficher les coefficients de régression ainsi que leurs erreurs standard, leurs valeurs z et leurs valeurs p , nous pouvons utiliser les coefficients summary(model)$ comme suit :

#view regression coefficients with standard errors, z values and p-values
summary(model)$coefficients

                 Estimate   Std. Error    z value      Pr(>|z|)
(Intercept) -1.086905e+01 4.922555e-01 -22.080088 4.911280e-108
studentYes  -6.467758e-01 2.362525e-01  -2.737646  6.188063e-03
balance      5.736505e-03 2.318945e-04  24.737563 4.219578e-135
income       3.033450e-06 8.202615e-06   0.369815  7.115203e-01

Nous pouvons également accéder à des valeurs spécifiques dans cette sortie.

Par exemple, nous pouvons utiliser le code suivant pour accéder à la valeur p de la variable balance :

#view p-value for balance variable
summary(model)$coefficients['balance', 'Pr(>|z|)']

[1] 4.219578e-135

Ou nous pourrions utiliser le code suivant pour accéder à la valeur p pour chacun des coefficients de régression :

#view p-value for all variables
summary(model)$coefficients[, 'Pr(>|z|)']

  (Intercept)    studentYes       balance        income 
4.911280e-108  6.188063e-03 4.219578e-135  7.115203e-01 

Les valeurs p sont affichées pour chaque coefficient de régression du modèle.

Vous pouvez utiliser une syntaxe similaire pour accéder à n’importe quelle valeur de la sortie.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment effectuer une régression linéaire simple dans R
Comment effectuer une régression linéaire multiple dans R
Comment effectuer une régression logistique dans R
Comment effectuer une régression quadratique dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *