Sự khác biệt giữa AIC () và extractAIC () trong R là gì?


11

Tài liệu R cho một trong hai không làm sáng tỏ. Tất cả những gì tôi có thể nhận được từ liên kết này là sử dụng một trong hai sẽ ổn. Những gì tôi không nhận được là tại sao chúng không bằng nhau.

Sự thật: Hàm hồi quy từng bước trong R, step()sử dụng extractAIC().

Thật thú vị, việc chạy một lm()mô hình và một mô hình glm()'null' (chỉ chặn) trên tập dữ liệu 'mtcars' của R cho kết quả khác nhau cho AICextractAIC().

> 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

Thật kỳ lạ, vì cả hai mô hình trên đều giống nhau và AIC()cho kết quả giống nhau cho cả hai.

Bất cứ ai có thể ném một số ánh sáng về vấn đề này?

Câu trả lời:


6

Theo sự giúp đỡ cho hai chức năng này (sử dụng? AIC và? ExtractAIC), điều này được mong đợi.

Lưu ý rằng AIC chỉ được xác định theo hằng số phụ gia, bởi vì đây cũng là trường hợp cho khả năng đăng nhập. Điều này có nghĩa là bạn nên kiểm tra xem

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

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

cho kết quả tương tự Miễn là họ làm, cả hai chức năng là tương đương cho tất cả các mục đích thực tế.


2
Tôi có thể thiếu cái gì, nhưng tôi vẫn không hiểu tại sao extractAIC(null.lm) != AIC(null.lm)trong khi extractAIC(null.glm) == AIC(null.glm)mặc dù null.lmlà mô hình tương tự như null.glm. Bạn có thể mở rộng câu trả lời của bạn một chút?
smillig

2
@smillig extractAICsử dụng các phương pháp khác nhau cho lmphù hợp và glmphù hợp, tức là extractAIC.lmextractAIC.glm. Bạn có thể sử dụng getAnywheređể nghiên cứu mã của họ. AICsử dụng cùng một phương pháp cho cả hai.
Roland

Tôi có một vài cặp mô hình (có nhiều bộ dự đoán) mà cả hai hàm cho kết quả khác nhau. Mô hình 1: y = x1 + x2, Mô hình 2: y = z + x1 + x2 * z. extractAIC()đưa ra giá trị (âm) thấp hơn cho Mô hình 1, trong khi AIC cung cấp giá trị (dương) thấp hơn cho Mô hình 2.
Maxim.K

1
@ Maxim.K Bạn cung cấp ít thông tin về loại biến và mô hình được sử dụng. Nếu bạn đã làm và có một số khác biệt cho câu hỏi này, có thể đáng để đăng bài này như một câu hỏi mới. Khó nói, mà không biết chi tiết.
Erik

@Erik Tôi nghi ngờ nó sẽ có giá trị nhiều nếu tôi nói rằng z là liên tục và x2 là phân loại (giả định). Người ta sẽ cần dữ liệu để sao chép và tôi không thể công bố chúng Tôi sợ.
Maxim.K
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.