Dokumentasi R untuk keduanya tidak menjelaskan banyak hal. Semua yang bisa saya dapatkan dari tautan ini adalah bahwa menggunakan salah satu dari keduanya harus baik-baik saja. Yang tidak saya dapatkan adalah mengapa mereka tidak sama.
Fakta: Fungsi regresi bertahap di R, step()
menggunakan extractAIC()
.
Menariknya, menjalankan lm()
model dan model glm()
'null' (hanya intersep) pada set data 'mtcars dari R memberikan hasil yang berbeda untuk AIC
dan 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
Sangat aneh, mengingat kedua model di atas sama, dan AIC()
memberikan hasil yang sama untuk keduanya.
Adakah yang bisa menjelaskan masalah ini?
sumber
extractAIC(null.lm) != AIC(null.lm)
sementaraextractAIC(null.glm) == AIC(null.glm)
meskipunnull.lm
adalah model yang sama sepertinull.glm
. Bisakah Anda sedikit memperluas jawaban?extractAIC
menggunakan metode yang berbeda untuklm
danglm
cocok, yaitu,extractAIC.lm
danextractAIC.glm
. Anda dapat menggunakannyagetAnywhere
untuk mempelajari kode mereka.AIC
menggunakan metode yang sama untuk keduanya.extractAIC()
memberikan nilai yang lebih rendah (negatif) untuk Model 1, sementara AIC memberikan nilai yang lebih rendah (positif) untuk Model 2.