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

Einen Kommentar hinzufügen

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