R doğrusal bir regresyon AIC hesaplamak denedim, ancak AIC
böyle bir işlevi kullanmadan :
lm_mtcars <- lm(mpg ~ drat, mtcars)
nrow(mtcars)*(log((sum(lm_mtcars$residuals^2)/nrow(mtcars))))+(length(lm_mtcars$coefficients)*2)
[1] 97.98786
Ancak, AIC
farklı bir değer verir:
AIC(lm_mtcars)
[1] 190.7999
Biri bana neyi yanlış yaptığımı söyleyebilir mi?
5
(henüz cevabınızı kontrol etmeden): Yanlış bir şey yapmanıza gerek yok çünkü olasılık sadece çarpımsal bir sabite kadar tanımlanmış; iki kişi günlük olasılığını hesaplayabilir ve farklı sayılar alabilir (ancak günlük olabilirlikteki farklar aynıdır).
—
Glen_b-Monica'yı
Hong Oois'in cevabı bu soru ile ilgili, sanırım. İşlevin
—
COOLSerdash
AIC
kullandığı formül -2*as.numeric(logLik(lm_mtcars))+2*(length(lm_mtcars$coefficients)+1)
.
luciano: @COOLSerdash formülündeki "+1" varyans parametresi teriminden kaynaklanır. Ayrıca, fonksiyonun modeller için 'tüm sabitleri' içerdiğini
—
Glen_b -Restate Monica
logLik
söylediğini unutmayın lm
... bu yüzden orada bir log(2*pi)
yerde olacak
@Glen_b: Neden olasılık sadece çarpımsal bir sabite kadar tanımlanmış ? Sonuçta, farklı dağıtım ailelerinden (örneğin AIC veya Cox testi ile) iç içe geçmiş modelleri karşılaştırırken, bu sabiti hatırlamanız gerekir.
—
Scortchi - Monica'yı eski durumuna döndürün