Tôi đang cố gắng thực hiện một hồi quy logit theo lệnh. Tôi đang chạy mô hình như vậy (chỉ là một mô hình nhỏ bé ngu ngốc ước tính số lượng doanh nghiệp trong một thị trường từ các biện pháp thu nhập và dân số). Câu hỏi của tôi là về dự đoán.
nfirm.opr<-polr(y~pop0+inc0, Hess = TRUE)
pr_out<-predict(nfirm.opr)
Khi tôi chạy dự đoán (mà tôi đang cố sử dụng để có được dự đoán y), các kết quả đầu ra là 0, 3 hoặc 27, điều này không phản ánh dự đoán nào có thể là dự đoán dựa trên dự đoán thủ công của tôi từ hệ số ước tính và đánh chặn. Có ai biết làm thế nào để có được dự đoán "chính xác" cho mô hình logit được đặt hàng của tôi không?
BIÊN TẬP
Để làm rõ mối quan tâm của tôi, dữ liệu phản hồi của tôi có các quan sát trên tất cả các cấp
>head(table(y))
y
0 1 2 3 4 5
29 21 19 27 15 16
nơi mà biến dự đoán của tôi dường như đang chụm lại
> head(table(pr_out))
pr_out
0 1 2 3 4 5
117 0 0 114 0 0
polr()
chống lại các chức năng khác? Bạn có thể thử lrm()
từ gói rms
: lrmFit <- lrm(y ~ pop0 + inc0); predict(lrmFit, type="fitted.ind")
. Một tùy chọn khác là vglm()
từ gói VGAM
: vglmFit <- vglm(y ~ pop0 + inc0, family=propodds); predict(vglmFit, type="response")
. Cả hai trả về ma trận xác suất danh mục dự đoán. Xem câu trả lời của tôi để có được các loại dự đoán từ đó.
predict
hàm khác với các giá trị bạn đã tạo thủ công? Cấu trúc của biến phụ thuộc của bạn là gì? Vui lòng cung cấp một ví dụ tái sản xuất.