Sự khác biệt giữa hồi quy tuyến tính biến đổi logit, hồi quy logistic và mô hình hỗn hợp logistic là gì?


10

Giả sử tôi có 10 học sinh, mỗi học sinh cố gắng giải 20 bài toán. Các vấn đề được chấm điểm chính xác hoặc không chính xác (theo longdata) và hiệu suất của mỗi học sinh có thể được tóm tắt bằng một thước đo chính xác (trong subjdata). Các mô hình 1, 2 và 4 dưới đây dường như tạo ra các kết quả khác nhau, nhưng tôi hiểu chúng sẽ làm điều tương tự. Tại sao họ tạo ra kết quả khác nhau? (Tôi bao gồm mô hình 3 để tham khảo.)

library(lme4)

set.seed(1)
nsubjs=10
nprobs=20
subjdata = data.frame('subj'=rep(1:nsubjs),'iq'=rep(seq(80,120,10),nsubjs/5))
longdata = subjdata[rep(seq_len(nrow(subjdata)), each=nprobs), ]
longdata$correct = runif(nsubjs*nprobs)<pnorm(longdata$iq/50-1.4)
subjdata$acc = by(longdata$correct,longdata$subj,mean)
model1 = lm(logit(acc)~iq,subjdata)
model2 = glm(acc~iq,subjdata,family=gaussian(link='logit'))
model3 = glm(acc~iq,subjdata,family=binomial(link='logit'))
model4 = lmer(correct~iq+(1|subj),longdata,family=binomial(link='logit'))

Tôi cũng đã thử hồi quy beta, nhưng đã gặp lỗi ... library(betareg) model5 = betareg(acc~scale(iq),subjdata)
user20061

library(car)là cần thiết, cho chức năng logit.
user20061

1
Nó có thể giúp bạn đọc hai câu trả lời của tôi cho các câu hỏi liên quan: Sự khác biệt giữa mô hình logit và probit (thảo luận về các chức năng liên kết & GLiM nói chung - một nhận xét ở cuối giải quyết cụ thể về 1 & 3 của bạn), & Sự khác biệt giữa các mô hình tuyến tính tổng quát & mô hình hỗn hợp tuyến tính tổng quát (thảo luận về cách 4 của bạn khác với 1 & 3).
gung - Phục hồi Monica

Câu trả lời:


15

Mô hình 1 và 2 khác nhau vì lần đầu tiên biến đổi phản hồi & lần 2 biến đổi giá trị mong đợi của nó.

Đối với Mô hình 1, logit của mỗi phản hồi thường được phân phối với ý nghĩa của nó là một hàm tuyến tính của các vectơ dự đoán và hệ số. và do đó Đối với Mô hình 2, bản thân phản hồi thường được phân phối với logit của nó có nghĩa là một hàm tuyến tính của các vectơ dự đoán và hệ số & do đó

logitYiN(μi,σ2)
μi=xiβ
Yi=logit1(xiβ+εi)
YiN(μi,σ2)
logitμi=xiβ
Yi=logit1(xiβ)+εi

Vì vậy, cấu trúc phương sai sẽ khác nhau. Tưởng tượng mô phỏng từ Mô hình 2: phương sai sẽ độc lập với giá trị mong đợi; & mặc dù các giá trị dự kiến ​​của các phản hồi sẽ nằm trong khoảng 0 & 1, nhưng các phản hồi sẽ không phải là tất cả.

Các mô hình hỗn hợp tuyến tính tổng quát như Model 4 của bạn lại khác vì chúng chứa các hiệu ứng ngẫu nhiên: xem tại đây & tại đây .


Cảm ơn bạn rất nhiều - điều này phân biệt rất rõ mô hình 1 và mô hình 2. Lý do của bạn rằng mô hình 2 dự đoán một số điểm chính xác (mặc dù không phải là giá trị mong đợi của chúng) nằm ngoài [0,1] đặc biệt hữu ích (và không đủ điều kiện cho mục đích của tôi ). Tôi tin rằng một trực giác tương tự có thể được sử dụng so với mô hình 1: phạm vi điểm chính xác dự đoán có thể của nó rơi vào (0,1) chứ không phải [0,1]. Với số lượng câu hỏi giới hạn, một mô hình sẽ dự đoán một số điểm chính xác là 0 hoặc 1 và phân phối nhị thức có thể làm điều đó.
dùng20061

2
Lưu ý, bạn thường phải lắp GLM nhị thức với liên kết logit với dữ liệu thô (của bạn longdata), chứ không phải tỷ lệ như trong Mô hình 3.
Scortchi - Tái lập Monica

7

+1 cho @Scortchi, người đã cung cấp câu trả lời rất rõ ràng và súc tích. Tôi muốn làm cho một vài điểm bổ sung. Đầu tiên, đối với mô hình thứ hai của bạn, bạn đang xác định rằng phân phối phản hồi của bạn là Gaussian (hay còn gọi là bình thường). Điều này phải sai, bởi vì mỗi câu trả lời được cho là đúng hoặc không chính xác. Đó là, mỗi câu trả lời là một thử nghiệm Bernoulli. Do đó, phân phối phản hồi của bạn là một Binomial. Ý tưởng này được phản ánh chính xác trong mã của bạn là tốt. Tiếp theo, xác suất chi phối phân phối phản hồi thường được phân phối, do đó, liên kết phải là probit, không phải logit. Cuối cùng, nếu đây là một tình huống thực tế, bạn sẽ cần tính đến các hiệu ứng ngẫu nhiên cho cả đối tượng và câu hỏi, vì chúng cực kỳ khó có thể giống hệt nhau. Cách bạn tạo các dữ liệu này, khía cạnh liên quan duy nhất của mỗi người là IQ của họ, mà bạn đã chiếm một cách rõ ràng. Do đó, không có gì còn lại cần phải được tính bằng một hiệu ứng ngẫu nhiên trong mô hình. Điều này cũng đúng cho các câu hỏi, bởi vì các biến thể ngẫu nhiên trong độ khó của câu hỏi không phải là một phần của quy trình tạo dữ liệu trong mã của bạn.

Tôi không có ý là nitpicking ở đây. Tôi nhận ra rằng thiết lập của bạn được thiết kế đơn giản để tạo thuận lợi cho câu hỏi của bạn và nó đã phục vụ mục đích đó; @Scortchi đã có thể giải quyết các câu hỏi của bạn rất trực tiếp, với sự phiền phức tối thiểu. Tuy nhiên, tôi chỉ ra những điều này bởi vì chúng cung cấp thêm cơ hội để hiểu tình huống bạn đang vật lộn và bởi vì bạn có thể không nhận ra rằng mã của bạn khớp với một số phần trong cốt truyện của bạn chứ không phải các phần khác.


Cảm ơn bạn đã suy nghĩ cẩn thận về mã của tôi. Là một người làm việc với dữ liệu thực nghiệm, tôi tự hào nói rằng tôi không có chuyên môn trong việc tạo dữ liệu giả và nó thể hiện ở đây trong những thiếu sót mà bạn đã xác định. Mặc dù, mức độ hiểu biết mới của tôi cũng có thể được tiết lộ chính nó.
user20061

Cảm ơn gung, thông tin bổ sung đó rất hữu ích và giúp những người khác (ít nhất là tôi) hiểu toàn bộ tình huống tốt hơn một chút. Việc xử lý phương pháp GLM rất khó khăn.
Christopher Poile
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.