Làm thế nào để bạn đối phó với các biến lồng nhau lồng vào nhau trong mô hình hồi quy?


11

Xem xét một vấn đề thống kê trong đó bạn có một responsebiến mà bạn muốn mô tả có điều kiện trên một explanatorybiến và một nestedbiến, trong đó biến lồng nhau chỉ phát sinh như một biến có ý nghĩa cho các giá trị cụ thể của biến giải thích . Trong trường hợp biến giải thích không thừa nhận biến lồng nhau có ý nghĩa, thì biến sau thường được mã hóa như NAtrong tập dữ liệu hoặc nếu nó được mã hóa bằng một giá trị, giá trị đó chỉ là một trình giữ chỗ không có bất kỳ diễn giải có ý nghĩa nào.

Tình huống này có xu hướng phát sinh bất cứ khi nào bạn có một biến giải thích cho thấy sự tồn tại của một sự vật và một hoặc nhiều biến lồng nhau mô tả các đặc điểm của sự vật đó. Một số ví dụ về loại tình huống này trong các vấn đề thống kê như sau:

  • Biến giải thích là một chỉ số cho biết người tham gia khảo sát có marriedhay không và biến lồng nhau là một số characteristic of the spouse(ví dụ: giáo dục, tuổi, v.v.);

  • Biến giải thích là một chỉ báo của presence of an itemkhông gian và biến lồng nhau là thước đo của một số characteristic of the item(ví dụ: kích thước, khoảng cách, v.v.);

  • Biến giải thích là một chỉ báo về sự xuất hiện của một eventvà biến lồng nhau là một mô tả của một số characteristic of the event(ví dụ: thời lượng, cường độ, v.v.).

Trong các loại tình huống này, chúng ta thường muốn xây dựng mô hình kiểu hồi quy (theo nghĩa rộng bao gồm GLM, GLMM, v.v.) mô tả mối quan hệ giữa biến trả lời và các biến khác. Không rõ ràng làm thế nào để đối phó với biến lồng nhau trong loại mô hình này.

Câu hỏi: Làm thế nào để chúng ta đối phó với nestedbiến trong loại mô hình này?


Lưu ý: Câu hỏi này được thiết kế để cung cấp cho một câu trả lời tổng quát cho một câu hỏi định kỳ trên CV.SE về biến lồng nhau trong hồi quy (xem ví dụ ở đây , ở đây , ở đâyở đây ). Câu hỏi này được thiết kế để đưa ra một ví dụ độc lập theo ngữ cảnh tổng quát về vấn đề này.


1
Tôi đã để lại điều này như một bình luận nhưng tôi không có đủ danh tiếng. Tôi gặp sự cố khi sử dụng giải pháp này trong R - glm () hoặc lm (). Tôi đang sử dụng mô hình: y ~ x1 + x1: x2 Thật không may nếu tôi mã hóa dữ liệu bị thiếu là NA, mặc định sẽ xóa các hàng bằng NA và chỉ để lại một mức - làm cho mô hình tương đương với: y ~ x2 Nếu tôi sử dụng đối số để glm: na.action = na.pass tôi gặp lỗi: Lỗi trong glm.fit (x = c (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 , 1, 1, 1, 1, 1 ,: NA / NaN / Inf trong 'x' Nếu thay vào đó tôi mã hóa biến bị thiếu là 0, mô hình lồng nhau: y ~ x1 + x1: x2 Cung cấp chính xác
Adam Waring

Câu trả lời:


9

Các giá trị vô nghĩa của các biến lồng nhau không được ảnh hưởng đến mô hình của bạn: Desideratum quan trọng với loại phân tích dữ liệu này là nestedbiến không được tác động đến mô hình nếu explanatorybiến ban đầu không thừa nhận nó là biến có ý nghĩa. Nói cách khác, mô hình phải có dạng bỏ qua các giá trị vô nghĩa của biến lồng nhau . Đây là một yêu cầu quan trọng đối với một mô hình hợp lệ với các biến lồng nhau, vì nó đảm bảo rằng đầu ra mô hình không bị ảnh hưởng bởi các lựa chọn mã hóa tùy ý.


Mô hình hóa với các biến lồng nhau: Yêu cầu này đạt được bằng cách đưa nestedbiến vào mô hình chỉ như một tương tác với explanatorybiến ban đầu , mà không bao gồm nó làm hiệu ứng chính. (Cụ thể hơn, biến lồng nhau phải được tương tác với một câu lệnh logic trên biến giải thích chỉ ra rằng đó là một biến có ý nghĩa.) Lưu ý rằng đây là một ngoại lệ đối với quy tắc chung rằng các thuật ngữ không nên được đưa vào dưới dạng tương tác mà không có thuật ngữ hiệu ứng chính .

Xem xét trường hợp chung trong đó nestedbiến chỉ có ý nghĩa khi explanatorybiến nằm trong một số bộ giá trị A. Trong trường hợp đó, bạn sẽ sử dụng một mẫu mô hình như thế này:

response ~ 1 + explanatory + (explanatory %in% A):nested + ...

Trong trường hợp phổ biến trong đó explanatorybiến của bạn là biến chỉ báo (với giá trị là một biến làm cho biến lồng nhau có ý nghĩa), mẫu mô hình này đơn giản hóa điều này:

response ~ 1 + explanatory + explanatory:nested + ...

Quan sát rằng trong các câu lệnh mô hình này không có thuật ngữ hiệu ứng chính cho nestedbiến. Đây là do thiết kế --- biến lồng nhau không nên có thuật ngữ hiệu ứng chính, vì nó không phải là biến có ý nghĩa trong trường hợp không có điều kiện trên biến giải thích. Với dạng mẫu mô hình này, bạn sẽ có được ước tính về tác động của biến giải thích và ước tính khác cho tác động của biến lồng nhau.


Mã hóa các biến lồng nhau trong dữ liệu của bạn: Khi xử lý các khung dữ liệu liệt kê các biến cho hồi quy, cách tốt nhất là các giá trị của nestedbiến được mã hóa như NAtrong trường hợp nó không phát sinh một cách có ý nghĩa từ biến giải thích. Điều này cho người đọc biết rằng không có biến có ý nghĩa ở đây. Một số nhà phân tích mã hóa các biến này với các giá trị khác, như số không, nhưng đó thường là thông lệ xấu, vì nó có thể bị nhầm lẫn với một số lượng có ý nghĩa.

Về mặt toán học, nếu bạn nhân bất kỳ số thực nào với số 0, bạn sẽ nhận được số không. Tuy nhiên, nếu bạn đang viết mã, Rbạn phải cẩn thận ở đây vì chương trình sẽ nhân 0:NAlên NAthay vì 0. Điều này có nghĩa là bạn có thể cần mã lại các NAgiá trị về 0 cho mục đích khớp mô hình hoặc xây dựng ma trận thiết kế cho mô hình để các giá trị này được đặt thành 0.


Các trường hợp trong đó biến cơ sở là một hàm của biến lồng nhau: Một tình huống đôi khi phát sinh trong phân tích hồi quy liên quan đến các biến lồng nhau là trường hợp biến lồng nhau có một lượng chi tiết đủ để xác định đầy đủ biến giải thích ban đầu mà nó phát sinh từ - - tức là biến giải thích ban đầu là một hàm của biến lồng nhau. Một ví dụ về điều này xảy ra trong câu hỏi này , trong đó nhà phân tích có một biến chỉ thị DrugAcho việc có sử dụng thuốc hay không và một biến lồng nhau DrugA_Conccho nồng độ của thuốc. Trong ví dụ này, biến sau cho phép giá trị nồng độ bằng 0, tương đương với thuốc không được sử dụng và DrugAtương đương với DrugA_Conc != 0.

Trong các loại trường hợp này, thuật ngữ tương tác giữa biến giải thích và biến lồng nhau có chức năng tương đương với biến lồng nhau, và do đó, có thể (và thường là mong muốn) để loại bỏ biến giải thích ban đầu khỏi mô hình và chỉ cần sử dụng hoàn toàn biến lồng nhau trên chính nó. Điều này là hợp pháp trong trường hợp này, bởi vì các giá trị trong biến lồng nhau xác định giá trị của biến giải thích ban đầu. Chúng tôi đã lưu ý ở trên rằng thường thích hợp để mã các biến lồng nhau NAkhi điều kiện cho chúng không được áp dụng. Nếu điều kiện phát sinh từ một biến giải thích là một chỉ báo và chỉ báo tương ứng với việc sử dụng biến lồng nhau, thì sự kiện nested != NAnày tương đương vớiexplanatory. Trong các trường hợp như vậy, có thể mã hóa lại biến lồng nhau để biến giải thích ban đầu không cần thiết trong mô hình.

Lưu ý rằng phải cẩn thận khi xem xét tình huống này. Ngay cả trong trường hợp bạn đang sử dụng biến giải thích ban đầu là biến chỉ báo, nó có thể hữu ích cho mục đích diễn giải không hợp nhất biến giải thích và biến lồng nhau. Hơn nữa, trong trường hợp biến giải thích không phải là biến chỉ báo, nó thường sẽ chứa thông tin không có trong biến lồng nhau và do đó không thể xóa được.


XX

Vì tôi chưa chỉ định bất kỳ phần mềm cụ thể nào (nhưng tôi đang sử dụng cú pháp của R) nên tôi không rõ lý do tại sao NAcác giá trị sẽ không được chấp nhận. Trong Rbạn chắc chắn có thể có NAcác giá trị trong khung dữ liệu của bạn.
Ben - Tái lập Monica

X(XX)1

2
Với các mô hình được sử dụng trong câu trả lời này, các NAgiá trị xảy ra trong khung dữ liệu cho các biến, nhưng chúng không xuất hiện trong ma trận thiết kế , vì biến lồng nhau chỉ đi vào mô hình thông qua tương tác.
Ben - Tái lập Monica

Đó là câu hỏi ban đầu của tôi: Ma trận thiết kế trông như thế nào? Trên thực tế, tôi muốn làm điều đó trong SAS, nhưng giá trị thiếu không thể nằm trong ma trận thiết kế.
dùng158565
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.