Een generalized linear model (GLM) is een generalisatie van gewone lineaire regressie die toestaat dat responsvariabelen foutverdelingen hebben anders dan een normale verdeling, zoals de Gauss-verdeling.
Basisprincipes van GLM
GLM's pas je met de functie glm(). Net als lineaire modellen (lm()s) hebben glm()s formules en data als invoer, maar ook een family-argument.
Syntaxis van een Generalized Linear Model
De Gaussian-family is hoe R verwijst naar de normale verdeling en is de standaard voor een glm().
Overeenkomst met lineaire modellen
Als de family Gaussian is, dan is een GLM hetzelfde als een LM.
Niet-normale fouten of verdelingen
Generalized linear models kunnen niet-normale fouten of verdelingen hebben. Er zijn echter beperkingen aan de mogelijke verdelingen. Zo kun je de Poisson-family gebruiken voor teldata, of de binomiale family voor binomiale data.
Niet-lineaire koppelingsfuncties
GLM's hebben ook niet-lineaire koppelingsfuncties (link functions), die de regressiecoëfficiënten koppelen aan de verdeling en het lineaire model laten generaliseren.
Interactief voorbeeld van voorspellen met glm()
Dit voorbeeld voorspelt het verwachte aantal dagelijkse burgerlijke brandwondslachtoffers voor de Noord-Amerikaanse zomermaanden juni, juli en augustus met behulp van de Poisson-regressie en de dataset newDat.
De Poisson-helling en -interceptschattingen staan op de natuurlijke log-schaal en kunnen geëxponentieerd worden om ze gemakkelijker te begrijpen. Je kunt dit doen door type = "response" op te geven bij de predict-functie.
# use the model to predict with new data
predOut <- predict(object= poissonOut, newdata = newDat,type="response")# print the predictionsprint(predOut)Mogelijk gemaakt door
Als we bovenstaande code uitvoeren, levert dat het volgende resultaat op:
Een generalized linear model (GLM) is een generalisatie van gewone lineaire regressie die toestaat dat responsvariabelen foutverdelingen hebben anders dan een normale verdeling, zoals de Gauss-verdeling.
Basisprincipes van GLM
GLM's pas je met de functie
glm(). Net als lineaire modellen (lm()s) hebbenglm()sformules en data als invoer, maar ook een family-argument.Syntaxis van een Generalized Linear Model
De Gaussian-family is hoe R verwijst naar de normale verdeling en is de standaard voor een
glm().Overeenkomst met lineaire modellen
Als de family Gaussian is, dan is een GLM hetzelfde als een LM.
Niet-normale fouten of verdelingen
Generalized linear models kunnen niet-normale fouten of verdelingen hebben. Er zijn echter beperkingen aan de mogelijke verdelingen. Zo kun je de Poisson-family gebruiken voor teldata, of de binomiale family voor binomiale data.
Niet-lineaire koppelingsfuncties
GLM's hebben ook niet-lineaire koppelingsfuncties (link functions), die de regressiecoëfficiënten koppelen aan de verdeling en het lineaire model laten generaliseren.
Interactief voorbeeld van voorspellen met glm()
Dit voorbeeld voorspelt het verwachte aantal dagelijkse burgerlijke brandwondslachtoffers voor de Noord-Amerikaanse zomermaanden juni, juli en augustus met behulp van de Poisson-regressie en de dataset
newDat.Hier zijn de gegevens in de newDat-dataset:
De Poisson-helling en -interceptschattingen staan op de natuurlijke log-schaal en kunnen geëxponentieerd worden om ze gemakkelijker te begrijpen. Je kunt dit doen door
type = "response"op te geven bij de predict-functie.Als we bovenstaande code uitvoeren, levert dat het volgende resultaat op:
Probeer het zelf.
Wil je meer leren over generalized linear models in R? Bekijk dan deze video uit onze cursus Generalized Linear Models in R.
Deze content is afkomstig uit DataCamp’s cursus Generalized Linear Models in R van Richard Erickson.
Bekijk ook onze Tutorial Logistische Regressie in R.