Hoe glm-uitvoer in r te interpreteren (met voorbeeld)


De glm() -functie in R kan worden gebruikt om gegeneraliseerde lineaire modellen aan te passen.

Deze functie gebruikt de volgende syntaxis:

glm(formule, familie=Gaussiaans, data, …)

Goud:

  • formule: De lineaire modelformule (bijv. y ~ x1 + x2)
  • familie: de statistische familie die moet worden gebruikt om in het model te passen. De standaardinstelling is Gaussiaans, maar andere opties zijn onder meer Binomial, Gamma en Poisson.
  • data: de naam van het datablok dat de gegevens bevat

In de praktijk wordt deze functie meestal gebruikt om logistieke regressiemodellen aan te passen door de ‘binomiale’ familie te specificeren.

In het volgende voorbeeld ziet u hoe u glm-uitvoer in R interpreteert voor een logistisch regressiemodel.

Voorbeeld: Hoe glm-uitvoer in R te interpreteren

Voor dit voorbeeld gebruiken we de mtcars- dataset die in R is ingebouwd:

 #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

We zullen de variabelen disp en hp gebruiken om de waarschijnlijkheid te voorspellen dat een bepaalde auto de waarde 1 aanneemt voor de variabele am .

De volgende code laat zien hoe u de functie glm() gebruikt om in dit logistische regressiemodel te passen:

 #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

Hier leest u hoe u elk element van het resultaat interpreteert:

Coëfficiënten en P-waarden

De schatting van de coëfficiënten in het resultaat geeft de gemiddelde verandering aan in de logwaarschijnlijkheid van de responsvariabele, geassocieerd met een toename van één eenheid in elke voorspellende variabele.

Een toename van één eenheid in de voorspellende variabele disp gaat bijvoorbeeld gepaard met een gemiddelde verandering van -0,09518 in de logwaarschijnlijkheid dat de responsvariabele am de waarde 1 aanneemt. Dit betekent dat hogere waarden van disp geassocieerd zijn met een lagere waarschijnlijkheid. van de variabele neem ik de waarde 1.

De standaardfout geeft ons een idee van de variabiliteit die gepaard gaat met de schatting van de coëfficiënten. Vervolgens delen we de schatting van de coëfficiënt door de standaardfout om de az-waarde te verkrijgen.

De z-waarde voor de voorspellende variabele disp wordt bijvoorbeeld berekend als -.09518 / .048 = -1.983.

De p-waarde Pr(>|z|) vertelt ons de waarschijnlijkheid die bij een bepaalde z-waarde hoort. Dit vertelt ons in wezen hoe goed elke voorspellende variabele in staat is de waarde van de responsvariabele in het model te voorspellen.

De p-waarde die is gekoppeld aan de z-waarde voor de variabele disp is bijvoorbeeld 0,0474. Omdat deze waarde kleiner is dan 0,05, zouden we zeggen dat disp een statistisch significante voorspellende variabele in het model is.

Afhankelijk van uw voorkeuren kunt u besluiten een significantieniveau van 0,01, 0,05 of 0,10 te gebruiken om te bepalen of elke voorspellende variabele al dan niet statistisch significant is.

Nul- en resterende afwijking

De nulafwijking in de uitvoer vertelt ons hoe goed de responsvariabele kan worden voorspeld door een model met alleen een originele term.

De resterende afwijking vertelt ons hoe goed de responsvariabele kan worden voorspeld door het specifieke model dat we passen met p- voorspellingsvariabelen. Hoe lager de waarde, hoe beter het model de waarde van de responsvariabele kan voorspellen.

Om te bepalen of een model ‘bruikbaar’ is, kunnen we de Chi-kwadraatstatistiek als volgt berekenen:

X 2 = Geen afwijking – Resterende afwijking

met p vrijheidsgraden.

We kunnen dan de p-waarde vinden die bij deze Chi-kwadraatstatistiek hoort. Hoe lager de p-waarde, hoe beter het model in de dataset past vergeleken met een model met alleen een originele term.

In ons regressiemodel kunnen we bijvoorbeeld de volgende waarden waarnemen in de uitvoer voor nul- en restafwijking:

  • Nulafwijking : 43,23 met df = 31
  • Resterende afwijking : 16,713 met df = 29

We kunnen deze waarden gebruiken om de X 2- statistiek van het model te berekenen:

  • X 2 = Geen afwijking – Resterende afwijking
  • X2 = 43,23 – 16,713
  • X2 = 26.517

Er zijn p = 2 vrijheidsgraden van voorspellende variabelen.

We kunnen deChi-kwadraat naar P-waarde-calculator gebruiken om te ontdekken dat een X 2- waarde van 26,517 met 2 vrijheidsgraden een p-waarde van 0,000002 heeft.

Omdat deze p-waarde veel lager is dan 0,05, kunnen we concluderen dat het model zeer bruikbaar is.

AIC

Het Akaike Information Criterion ( AIC ) is een maatstaf die wordt gebruikt om de fit van verschillende regressiemodellen te vergelijken. Hoe lager de waarde, hoe beter het regressiemodel bij de gegevens kan passen.

Het wordt als volgt berekend:

AIC = 2K – 2 ln (L)

Goud:

  • K: Het aantal modelparameters.
  • ln (L) : De log-waarschijnlijkheid van het model. Dit vertelt ons hoe waarschijnlijk het model is gebaseerd op de gegevens.

De werkelijke waarde van AIC is zinloos.

Als u echter meerdere regressiemodellen past, kunt u de AIC-waarde van elk model vergelijken. Het model met de laagste AIC biedt de beste pasvorm.

Gerelateerd: Wat wordt beschouwd als een goede AIC-waarde?

Aanvullende bronnen

De volgende tutorials bieden aanvullende informatie over het gebruik van de glm() -functie in R:

Het verschil tussen glm en lm in R
Hoe de voorspellingsfunctie met glm in R te gebruiken

In de volgende tutorials wordt uitgelegd hoe u veelvoorkomende fouten kunt afhandelen bij het gebruik van de glm() -functie:

Hoe om te gaan met R Waarschuwing: glm.fit: algoritme is niet geconvergeerd
Hoe te handelen: glm.fit: numeriek aangepaste kansen 0 of 1 zijn opgetreden

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert