Come interpretare l'output glm in r (con esempio)


La funzione glm() in R può essere utilizzata per adattare modelli lineari generalizzati.

Questa funzione utilizza la seguente sintassi:

glm(formula, famiglia=gaussiana, dati, …)

Oro:

  • formula: la formula del modello lineare (ad esempio y ~ x1 + x2)
  • famiglia: la famiglia statistica da utilizzare per adattare il modello. L’impostazione predefinita è gaussiana, ma altre opzioni includono Binomiale, Gamma e Poisson, tra le altre.
  • dati: il nome del blocco dati che contiene i dati

In pratica, questa funzione viene spesso utilizzata per adattare modelli di regressione logistica specificando la famiglia “binomiale”.

L’esempio seguente mostra come interpretare l’output glm in R per un modello di regressione logistica.

Esempio: come interpretare l’output glm in R

Per questo esempio, utilizzeremo il set di dati mtcars integrato in 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

Utilizzeremo le variabili disp e hp per prevedere la probabilità che una determinata automobile assuma il valore 1 per la variabile am .

Il codice seguente mostra come utilizzare la funzione glm() per adattare questo modello di regressione logistica:

 #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

Ecco come interpretare ciascun elemento del risultato:

Coefficienti e valori P

La stima del coefficiente nel risultato indica la variazione media nella probabilità logaritmica della variabile di risposta associata a un aumento di un’unità in ciascuna variabile predittrice.

Ad esempio, un aumento di una unità della variabile predittrice disp è associato a una variazione media di -0,09518 nella probabilità logaritmica che la variabile di risposta am assuma il valore 1. Ciò significa che valori più alti di disp sono associati a un valore più basso probabilità. della variabile sto assumendo il valore 1.

L’ errore standard ci dà un’idea della variabilità associata alla stima del coefficiente. Dividiamo quindi la stima del coefficiente per l’errore standard per ottenere il valore az.

Ad esempio, il valore z per la variabile predittore disp viene calcolato come -.09518 / .048 = -1.983.

Il valore p Pr(>|z|) ci dice la probabilità associata a un particolare valore z. Questo essenzialmente ci dice quanto bene ciascuna variabile predittrice è in grado di prevedere il valore della variabile di risposta nel modello.

Ad esempio, il valore p associato al valore z per la variabile disp è 0,0474. Poiché questo valore è inferiore a 0,05, diremmo che disp è una variabile predittiva statisticamente significativa nel modello.

A seconda delle tue preferenze, puoi decidere di utilizzare un livello di significatività di 0,01, 0,05 o 0,10 per determinare se ciascuna variabile predittrice è statisticamente significativa o meno.

Devianza zero e residua

La devianza zero nell’output ci dice quanto bene la variabile di risposta può essere prevista da un modello con solo un termine originale.

La devianza residua ci dice quanto bene la variabile di risposta può essere prevista dal modello specifico a cui stiamo adattando le variabili predittive p . Più basso è il valore, migliore è la capacità del modello di prevedere il valore della variabile di risposta.

Per determinare se un modello è “utile”, possiamo calcolare la statistica Chi-quadrato come segue:

X 2 = Devianza zero – Devianza residua

con p gradi di libertà.

Possiamo quindi trovare il valore p associato a questa statistica Chi-quadrato. Più basso è il valore p, migliore è la capacità del modello di adattarsi al set di dati rispetto a un modello contenente solo un termine originale.

Ad esempio, nel nostro modello di regressione, possiamo osservare nell’output i seguenti valori per zero e deviazione residua:

  • Devianza zero : 43,23 con df = 31
  • Devianza residua : 16.713 con df = 29

Possiamo utilizzare questi valori per calcolare la statistica X 2 del modello:

  • X 2 = Devianza zero – Devianza residua
  • X2 = 43,23 – 16,713
  • X2 = 26.517

Ci sono p = 2 gradi di libertà delle variabili predittive.

Possiamo utilizzare il calcolatore Chi quadrato/valore P per scoprire che un valore X 2 di 26,517 con 2 gradi di libertà ha un valore p di 0,000002.

Poiché questo valore p è molto inferiore a 0,05, possiamo concludere che il modello è molto utile.

AIC

L’Akaike Information Criterion ( AIC ) è una misura utilizzata per confrontare l’adattamento di diversi modelli di regressione. Più basso è il valore, migliore è la capacità del modello di regressione di adattare i dati.

Viene calcolato come segue:

AIC = 2K – 2 ln (L)

Oro:

  • K: il numero di parametri del modello.
  • ln (L) : la log-verosimiglianza del modello. Questo ci dice quanto è probabile che il modello sia basato sui dati.

Il valore effettivo dell’AIC non ha senso.

Tuttavia, se si adattano più modelli di regressione, è possibile confrontare il valore AIC di ciascun modello. Il modello con l’AIC più basso fornisce la soluzione migliore.

Correlati: cosa è considerato un buon valore AIC?

Risorse addizionali

I seguenti tutorial forniscono informazioni aggiuntive su come utilizzare la funzione glm() in R:

La differenza tra glm e lm in R
Come utilizzare la funzione di previsione con glm in R

I seguenti tutorial spiegano come gestire gli errori comuni quando si utilizza la funzione glm() :

Come gestire R Avviso: glm.fit: l’algoritmo non converge
Come gestire: glm.fit: si sono verificate probabilità corrette numericamente 0 o 1

Aggiungi un commento

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