Come calcolare l'aic in r (compresi gli esempi)
L’Akaike Information Criterion (AIC) è una metrica utilizzata per confrontare l’adattamento di modelli di regressione multipli.
Viene calcolato come segue:
AIC = 2K – 2 ln (L)
Oro:
- K: il numero di parametri del modello. Il valore predefinito di K è 2, quindi un modello con una sola variabile predittrice avrà un valore K di 2+1 = 3.
- ln (L) : la log-verosimiglianza del modello. La maggior parte dei software statistici può calcolare automaticamente questo valore.
L’AIC è progettato per trovare il modello che spiega la maggiore variazione nei dati, penalizzando i modelli che utilizzano un numero eccessivo di parametri.
Dopo aver adattato più modelli di regressione, è possibile confrontare il valore AIC di ciascun modello. Più basso è l’AIC, più adatto è il modello.
Per calcolare l’AIC di modelli di regressione multipli in R, possiamo utilizzare la funzione aictab() del pacchetto AICcmodavg .
L’esempio seguente mostra come utilizzare questa funzione per calcolare e interpretare l’AIC per vari modelli di regressione in R.
Esempio: calcolare e interpretare AIC in R
Supponiamo di voler adattare tre diversi modelli di regressione lineare multipla utilizzando le variabili del set di dati mtcars .
Ecco le variabili predittive che utilizzeremo in ciascun modello:
- Variabili predittive nel modello 1: disp, hp, wt, qsec
- Variabili predittive nel modello 2: disp, qsec
- Variabili predittive nel modello 3: disp, wt
Il codice seguente mostra come adattare ciascuno di questi modelli di regressione:
#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)
Successivamente, inseriremo i modelli in un elenco e utilizzeremo la funzione aictab() per calcolare l’AIC di ciascun modello:
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
Ecco come interpretare il risultato:
- K: il numero di parametri nel modello.
- AICc: il valore AIC del modello. La “c” minuscola indica che l’AIC è stata calcolata dall’AIC corretta per campioni piccoli.
- Delta_AICc: la differenza tra l’AIC del modello migliore e quello del modello attuale a confronto.
- AICcWt: proporzione del potere predittivo totale riscontrabile nel modello.
- Peso cumulato : la somma cumulativa dei pesi AIC.
- LL: La verosimiglianza del modello. Questo ci dice quanto è probabile il modello, dati i dati che abbiamo utilizzato.
Il modello con il valore AIC più basso viene sempre elencato per primo. Dal risultato possiamo vedere che il seguente modello ha il valore AIC più basso ed è quindi il modello più adatto:
mpg = β 0 + β 1 (disp) + β 2 (cv) + β 3 (peso) + β 4 (qsec)
Una volta identificato questo modello come il migliore, possiamo procedere con l’adattamento del modello e analizzare i risultati, incluso il valore R quadrato e i coefficienti beta, per determinare l’esatta relazione tra l’insieme di variabili predittive e la variabile di risposta .
Risorse addizionali
Come eseguire una regressione lineare semplice in R
Come eseguire la regressione lineare multipla in R
Come calcolare l’R quadrato corretto in R
Come calcolare Mallows Cp in R