R'de AIC () ve extractAIC () arasındaki fark nedir?


11

Her ikisinin de R belgeleri çok fazla ışık tutmuyor. Bu bağlantıdan alabileceğim tek şey, ikisinden birini kullanmanın iyi olması. Elimde olmayan şey neden eşit olmadıkları.

Gerçek: R'deki kademeli regresyon fonksiyonu step()kullanır extractAIC().

İlginç bir şekilde, çalışan bir lm()model ve glm()R 'mtcars' veri kümesi üzerinde 'boş' bir model (yalnızca kesişme) için farklı sonuçlar verir AICve 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

Yukarıdaki her iki modelin de aynı olması ve AIC()her ikisi için de aynı sonuçları vermesi gariptir.

Bu konuya ışık tutabilecek olan var mı?

Yanıtlar:


6

Bu iki fonksiyonun yardımına göre (? AIC ve? ExtractAIC kullanın) bu beklenmektedir.

AIC'nin sadece bir katkı sabitine kadar tanımlandığına dikkat edin, çünkü bu aynı zamanda log olabilirliği için de geçerlidir. Bu,

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

ve

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

aynı sonucu verir. Yaptıkları sürece, her iki işlev de tüm pratik amaçlar için eşdeğerdir.


2
Muhtemelen bir şey kaçırıyorum, ama hala neden anlamıyorum extractAIC(null.lm) != AIC(null.lm)ederken extractAIC(null.glm) == AIC(null.glm)halde null.lmaynı model null.glm. Cevabınızı biraz genişletebilir misiniz?
smillig

2
@smillig uyum ve uyum extractAICiçin farklı yöntemler kullanır , yani ve . Kodlarını incelemek için kullanabilirsiniz . her ikisi için de aynı yöntemi kullanır. lmglmextractAIC.lmextractAIC.glmgetAnywhereAIC
Roland

Her iki fonksiyonun da farklı sonuçlar verdiği birkaç çift modelim (birden fazla öngörücülü) var. Model 1: y = x1 + x2, Model 2: y = z + x1 + x2 * z.extractAIC()Model 1 için daha düşük (negatif) değer verirken, AIC Model 2 için daha düşük (pozitif) değer verir.
Maxim.K

1
@ Maxim.K Kullanılan değişkenlerin ve modellerin türü hakkında çok az bilgi veriyorsunuz. Bunu yaptıysanız ve bu soruda bazı farklılıklar varsa, bunu yeni bir soru olarak göndermek faydalı olabilir. Ayrıntıları bilmeden söylemek zor.
Erik

@Erik z'nin sürekli ve x2'nin kategorik (kuklalaştırılmış) olduğunu söylesem çok değerli olacağından şüpheliyim. Birinin çoğaltmak için verilere ihtiyacı vardır ve korkarım ki bunları yayınlayamam.
Maxim.K
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.