Đăng nhập với các biến độc lập thứ tự


18

Trong một mô hình logit, có cách nào thông minh hơn để xác định ảnh hưởng của biến thứ tự độc lập hơn là sử dụng biến giả cho mỗi cấp độ không?


Nó không phụ thuộc vào phần mềm à?

1
Phần mềm khác nhau có thể cho phép các tùy chọn khác nhau, nhưng cần phải có một nguyên tắc trả lời, không?
fgregg

1
Ok, bình luận ngu ngốc, xin lỗi.

Câu trả lời:


16

Để thêm vào phản hồi của @ dmk38, "bất kỳ tập hợp điểm nào cũng cho phép kiểm tra hợp lệ , miễn là chúng được xây dựng mà không tham khảo kết quả của thí nghiệm. Nếu tập hợp điểm kém, điều đó làm sai lệch một thang đo số thực sự làm nền tảng cho số phân loại theo thứ tự, bài kiểm tra sẽ không nhạy cảm. Do đó, điểm số sẽ thể hiện cái nhìn sâu sắc nhất có sẵn về cách thức phân loại được xây dựng và sử dụng. " (Cochran, 1954, được trích dẫn bởi Agresti, 2002, trang 88-89). Nói cách khác, coi một yếu tố được sắp xếp như một biến số được ghi chỉ là vấn đề mô hình hóa. Với điều kiện hợp lý, điều này sẽ chỉ tác động đến cách bạn diễn giải kết quả và không có quy tắc chính xác nào về cách chọn đại diện tốt nhất cho một biến số thứ tự.

Xem xét ví dụ sau đây về tiêu thụ rượu của mẹ và sự hiện diện hay vắng mặt của dị tật bẩm sinh (Agresti, Phân tích dữ liệu phân loại , Bảng 3.7 trang 89):

            0    <1 1-2 3-5 6+
Absent  17066 14464 788 126 37
Present    48    38   5   1  1

Trong trường hợp cụ thể này, chúng ta có thể mô hình hóa kết quả bằng cách sử dụng hồi quy logistic hoặc bảng kết hợp đơn giản. Hãy làm điều đó trong R:

tab3.7 <- matrix(c(17066,48,14464,38,788,5,126,1,37,1), nr=2,
                 dimnames=list(c("Absent","Present"),
                               c("0","<1","1-2","3-5","6+")))
library(vcd)
assocstats(tab3.7)

Thường (12.08, p = 0,016751) hoặc LR (6.20, p = 0,184562) Thống kê (với 4 df) không chiếm các mức yêu cầu trong rượu tiêu thụ.χ2

Đối xử với cả hai biến là thứ tự với điểm số cách đều nhau (điều này không ảnh hưởng đến các biến nhị phân, như dị tật và chúng tôi chọn đường cơ sở là 0 = vắng mặt), chúng tôi có thể kiểm tra tuyến tính bằng liên kết tuyến tính. Trước tiên chúng ta hãy xây dựng một phiên bản bùng nổ của Bảng dự phòng này:

library(reshape)
tab3.7.df <- untable(data.frame(malform=gl(2,1,10,labels=0:1), 
                                alcohol=gl(5,2,10,labels=colnames(tab3.7))), 
                     c(tab3.7))
# xtabs(~malform+alcohol, tab3.7.df) # check

Sau đó, chúng ta có thể kiểm tra một liên kết tuyến tính bằng cách sử dụng

library(coin)
#lbl_test(as.table(tab3.7))
lbl_test(malform ~ alcohol, data=tab3.7.df)

χ2(1)= =1,83p= =0,1764M2= =(n-1)r2

cor(sapply(tab3.7.df, as.numeric))[1,2]^2*(32574-1)

Có thể thấy, không có nhiều bằng chứng về mối liên hệ rõ ràng giữa hai biến. Như được thực hiện bởi Agresti, nếu chúng tôi chọn mã hóa lại mức độ cồn là {0,0,5,1,5,4,7}, đó là sử dụng các giá trị trung bình cho thang đo liên tục được giả thuyết với điểm số cuối cùng hoàn toàn tùy ý, thì chúng tôi sẽ kết luận ảnh hưởng lớn hơn của việc tiêu thụ rượu của mẹ đối với sự phát triển của dị tật bẩm sinh:

lbl_test(malform ~ alcohol, data=tab3.7.df,         
         scores=list(alcohol=c(0,0.5,1.5,4,7)))

mang lại một thống kê thử nghiệm là 6,57 với giá trị p liên quan là 0,01037.

ρr

Sử dụng phương pháp GLM, chúng tôi sẽ tiến hành như sau. Nhưng trước tiên hãy kiểm tra cách Rượu được mã hóa trong R:

class(tab3.7.df$alcohol)

Nó là một yếu tố không có thứ tự đơn giản ( "factor"), do đó là một yếu tố dự đoán danh nghĩa. Bây giờ, đây là ba mô hình mà chúng tôi coi Rượu như một công cụ dự đoán danh nghĩa, thứ tự hoặc liên tục.

summary(mod1 <- glm(malform ~ alcohol, data=tab3.7.df, 
                    family=binomial))
summary(mod2 <- glm(malform ~ ordered(alcohol), data=tab3.7.df, 
                    family=binomial))
summary(mod3 <- glm(malform ~ as.numeric(alcohol), data=tab3.7.df, 
                    family=binomial))

β^điểm kinh nghiệm(θ^)= =điểm kinh nghiệm(0,228)= =1,256. Bài kiểm tra Wald không đáng kể ở mức 5% thông thường. Trong trường hợp này, ma trận thiết kế chỉ bao gồm 2 cột: cột đầu tiên là cột không đổi 1 giây cho phần chặn, cột thứ hai là giá trị số (1 đến 5) cho bộ dự đoán, như trong hồi quy tuyến tính đơn giản. Tóm lại, mô hình này kiểm tra hiệu ứng tuyến tính của Rượu đối với kết quả (trên thang đo logit).

Tuy nhiên, trong hai trường hợp khác ( mod1mod2), chúng tôi nhận được đầu ra khác nhau vì ma trận thiết kế được sử dụng để mô hình hóa bộ dự đoán khác nhau, như có thể được kiểm tra bằng cách sử dụng:

model.matrix(mod1)
model.matrix(mod2)

mod1k-1mod2mod1mod2

Bạn có thể thử gán điểm mới cho Rượu và xem nó sẽ ảnh hưởng đến xác suất dự đoán của dị tật như thế nào.


3
(+1) câu trả lời rất kỹ lưỡng. Tôi chỉ nói thêm rằng có thể có được các xét nghiệm chỉ giả định tính đơn điệu của mối quan hệ liều - đáp ứng mà không gán điểm cho biến thứ tự bằng phương pháp hồi quy đẳng hướng. Mặc dù phương pháp mô phỏng hoặc hoán vị thường là cần thiết để có được sự phân bố của thống kê kiểm tra dưới giá trị Xem Salanti & Ulm 2003 dx.doi.org/10.1002/bimj.200390012 .
onestop

@onestop Cảm ơn bạn đã tham khảo. Tôi sẽ xem xét nó.
chl

6

Sẽ hoàn toàn ổn khi sử dụng bộ dự báo phân loại trong mô hình hồi quy logit (hoặc OLS) nếu các mức là thứ tự. Nhưng nếu bạn có một lý do để coi mỗi cấp độ là rời rạc (hoặc trong thực tế, biến phân loại của bạn là danh nghĩa thay vì thứ tự), thì, thay thế cho mã hóa giả, bạn cũng có thể sử dụng mã hóa tương phản trực giao. Để thảo luận rất đầy đủ và có thể truy cập, xem Judd, CM, McClelland, GH & Ryan, CS Phân tích dữ liệu: phương pháp so sánh mô hình, Edn. lần 2. (Routledge / Taylor và Francis, New York, NY; 2008) hoặc chỉ google "mã hóa tương phản"


Bạn có tiết kiệm không khi coi dữ liệu thứ tự là dữ liệu khoảng trong mô hình? Nếu vậy, làm thế nào tôi có thể đánh giá hệ số nếu tôi không biết "khoảng cách" giữa các cấp?
fgregg

3
Đúng. Hệ số phản ánh sự thay đổi về tỷ lệ cược log cho mỗi lần tăng thay đổi trong công cụ dự đoán thứ tự. Đặc tả mô hình (rất phổ biến) này giả định rằng bộ dự đoán có tác động tuyến tính trên các mức tăng của nó. Để kiểm tra giả định, bạn có thể so sánh một mô hình trong đó bạn sử dụng biến số thứ tự như một công cụ dự báo duy nhất với một mô hình trong đó bạn phân biệt các câu trả lời và coi chúng là nhiều yếu tố dự báo (như bạn sẽ biết nếu biến đó là danh nghĩa); nếu mô hình sau không mang lại kết quả tốt hơn đáng kể, thì việc xử lý từng mức tăng là có hiệu ứng tuyến tính là hợp lý.
dmk38

Tôi cho bạn +1 vì phản hồi này nghe có vẻ ổn và tôi đoán @fgregg cũng sẽ làm như vậy (với đủ đại diện).
chl

Tôi cũng nghĩ rằng đây là một ví dụ hoàn hảo, bởi vì sự thay đổi trong tỷ lệ cược log có thể được diễn giải bằng các biến số thứ tự.
SmallChess
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.