Hoe aic in r te berekenen (inclusief voorbeelden)
Het Akaike Information Criterion (AIC) is een maatstaf die wordt gebruikt om de fit van meerdere regressiemodellen te vergelijken.
Het wordt als volgt berekend:
AIC = 2K – 2 ln (L)
Goud:
- K: Het aantal modelparameters. De standaardwaarde van K is 2, dus een model met slechts één voorspellende variabele heeft een K-waarde van 2+1 = 3.
- ln (L) : De log-waarschijnlijkheid van het model. De meeste statistische software kan deze waarde automatisch voor u berekenen.
AIC is ontworpen om het model te vinden dat de meeste variatie in de gegevens verklaart, terwijl modellen worden bestraft die een buitensporig aantal parameters gebruiken.
Nadat u meerdere regressiemodellen heeft geïnstalleerd, kunt u de AIC-waarde van elk model vergelijken. Hoe lager de AIC, hoe geschikter het model.
Om de AIC van meerdere regressiemodellen in R te berekenen, kunnen we de functie aictab() uit het AICcmodavg- pakket gebruiken.
In het volgende voorbeeld ziet u hoe u deze functie kunt gebruiken om de AIC voor verschillende regressiemodellen in R te berekenen en te interpreteren.
Voorbeeld: bereken en interpreteer AIC in R
Laten we zeggen dat we drie verschillende meervoudige lineaire regressiemodellen willen passen met behulp van variabelen uit de mtcars- dataset.
Dit zijn de voorspellende variabelen die we in elk model zullen gebruiken:
- Voorspellervariabelen in model 1: disp, hp, wt, qsec
- Voorspellende variabelen in model 2: disp, qsec
- Voorspellende variabelen in model 3: disp, wt
De volgende code laat zien hoe elk van deze regressiemodellen past:
#fit three models
model1 <- lm(mpg ~ disp + hp + wt + qsec, data = mtcars)
model2 <- lm(mpg ~ disp + qsec, data = mtcars)
model3 <- lm(mpg ~ disp + wt, data = mtcars)
Vervolgens plaatsen we de modellen in een lijst en gebruiken we de functie aictab() om de AIC van elk model te berekenen:
library (AICcmodavg) #define list of models models <- list(model1, model2, model3) #specify model names mod.names <- c('disp.hp.wt.qsec', 'disp.qsec', 'disp.wt') #calculate AIC of each model aictab(cand.set = models, modnames = mod.names) Model selection based on AICc: K AICc Delta_AICc AICcWt Cum.Wt LL disp.hp.wt.qsec 6 162.43 0.00 0.83 0.83 -73.53 available wt 4 165.65 3.22 0.17 1.00 -78.08 disp.qsec 4 173.32 10.89 0.00 1.00 -81.92
Zo interpreteert u het resultaat:
- K: Het aantal parameters in het model.
- AICc: de AIC-waarde van het model. De kleine letter “c” geeft aan dat de AIC is berekend op basis van de AIC, gecorrigeerd voor kleine monsters.
- Delta_AICc: het verschil tussen de AIC van het beste model en die van het huidige vergeleken model.
- AICcWt: aandeel van de totale voorspellende kracht die in het model kan worden gevonden.
- Cum.Wt : De cumulatieve som van de AIC-gewichten.
- LL: De logwaarschijnlijkheid van het model. Dit vertelt ons hoe waarschijnlijk het model is, gegeven de gegevens die we hebben gebruikt.
Het model met de laagste AIC-waarde wordt altijd als eerste vermeld. Uit het resultaat kunnen we zien dat het volgende model de laagste AIC-waarde heeft en daarom het best passende model is:
mpg = β 0 + β 1 (disp) + β 2 (pk) + β 3 (gewicht) + β 4 (qsec)
Zodra we dit model als het beste hebben geïdentificeerd, kunnen we doorgaan met het aanpassen van het model en de resultaten analyseren, inclusief de R-kwadraatwaarde en bètacoëfficiënten, om de exacte relatie tussen de reeks voorspellende variabelen en deresponsvariabele te bepalen.
Aanvullende bronnen
Hoe eenvoudige lineaire regressie uit te voeren in R
Hoe meervoudige lineaire regressie uit te voeren in R
Hoe u het aangepaste R-kwadraat in R kunt berekenen
Hoe Mallows Cp in R te berekenen