Qual è la differenza tra AIC () e extractAIC () in R?


11

La documentazione R per entrambi non fa molta luce. Tutto quello che posso ottenere da questo link è che usare uno dei due dovrebbe andare bene. Quello che non capisco è perché non sono uguali.

Fatto: La funzione di regressione stepwise in R, step()usi extractAIC().

È interessante notare che l'esecuzione di un lm()modello e di un modello glm()"null" (solo l'intercettazione) sul set di dati "mtcars" di R fornisce risultati diversi per AICe extractAIC().

> null.glm = glm(mtcars$mpg~1)
> null.lm = lm(mtcars$mpg~1)

> AIC(null.glm)
[1] 208.7555
> AIC(null.lm)
[1] 208.7555
> extractAIC(null.glm)
[1]   1.0000 208.7555
> extractAIC(null.lm)
[1]   1.0000 115.9434

È strano, dato che entrambi i modelli sopra sono uguali e AIC()dà gli stessi risultati per entrambi.

Qualcuno può far luce sulla questione?

Risposte:


6

Secondo l'aiuto per queste due funzioni (usare? AIC e? ExtractAIC) questo è previsto.

Si noti che l'AIC è appena definito fino a una costante additiva, poiché questo è anche il caso della probabilità logaritmica. Questo significa che dovresti verificare se

extractAIC(full.modell) - extractAIC(null.modell)

e

AIC(full.modell) - AIC(null.modell)

dare lo stesso risultato. Finché lo fanno, entrambe le funzioni sono equivalenti per tutti gli scopi pratici.


2
Probabilmente mi manca qualcosa, ma ancora non capisco perché extractAIC(null.lm) != AIC(null.lm), extractAIC(null.glm) == AIC(null.glm)sebbene null.lmsia lo stesso modello null.glm. Potresti espandere leggermente la tua risposta?
smillig

2
@smillig extractAICutilizza diversi metodi per lmadatta e glmsi adatta, cioè, extractAIC.lme extractAIC.glm. Puoi usare getAnywhereper studiare il loro codice. AICutilizza lo stesso metodo per entrambi.
Roland,

Ho diverse coppie di modelli (con predittori multipli) per le quali entrambe le funzioni danno risultati diversi. Modello 1: y = x1 + x2, Modello 2: y = z + x1 + x2 * z. extractAIC()fornisce un valore più basso (negativo) per il Modello 1, mentre AIC fornisce un valore più basso (positivo) per il Modello 2.
Maxim.K

1
@ Maxim.K Fornisci poche informazioni sul tipo di variabili e modelli utilizzati. Se lo hai fatto e ci sono alcune differenze rispetto a questa domanda, potrebbe essere utile pubblicarlo come una nuova domanda. Difficile a dirsi, senza conoscere i dettagli.
Erik,

@Erik Dubito che varrà molto se dico che z è continuo e x2 è categorico (dummified). Uno avrebbe bisogno dei dati per riprodursi e non posso pubblicarli, temo.
Maxim.K
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.