Tóm tắt
Người ta thường nói rằng nếu tất cả các mức yếu tố có thể được đưa vào một mô hình hỗn hợp, thì yếu tố này nên được coi là một hiệu ứng cố định. Điều này không nhất thiết đúng với HAI LÝ DO DISTINCT:
(1) Nếu số lượng cấp độ lớn, thì có thể coi yếu tố [vượt qua] là ngẫu nhiên.
Tôi đồng ý với cả @Tim và @RobertLong ở đây: nếu một yếu tố có số lượng lớn các cấp độ được bao gồm trong mô hình (ví dụ như tất cả các quốc gia trên thế giới; hoặc tất cả các trường học trong một quốc gia; hoặc có thể là toàn bộ dân số của các đối tượng được khảo sát, v.v.), sau đó không có gì sai khi coi nó là ngẫu nhiên --- điều này có thể khó hiểu hơn, có thể cung cấp một số co rút, v.v.
lmer(size ~ age + subjectID) # fixed effect
lmer(size ~ age + (1|subjectID)) # random effect
(2) Nếu yếu tố được lồng trong một hiệu ứng ngẫu nhiên khác, thì nó phải được coi là ngẫu nhiên, không phụ thuộc vào số cấp của nó.
Có một sự nhầm lẫn lớn trong chủ đề này (xem bình luận) bởi vì các câu trả lời khác là về trường hợp # 1 ở trên, nhưng ví dụ bạn đưa ra là một ví dụ về một tình huống khác , cụ thể là trường hợp # 2 này. Ở đây chỉ có hai cấp độ (tức là hoàn toàn không phải là "một số lượng lớn"!) Và chúng làm cạn kiệt tất cả các khả năng, nhưng chúng được lồng trong một hiệu ứng ngẫu nhiên khác , mang lại hiệu ứng ngẫu nhiên lồng nhau.
lmer(size ~ age + (1|subject) + (1|subject:side) # side HAS to be random
Thảo luận chi tiết về ví dụ của bạn
Các mặt và đối tượng trong thí nghiệm tưởng tượng của bạn có liên quan như các lớp học và trường học trong ví dụ mô hình phân cấp tiêu chuẩn. Có lẽ mỗi trường (# 1, # 2, # 3, v.v.) có lớp A và lớp B, và hai lớp này được cho là gần giống nhau. Bạn sẽ không mô hình hóa các lớp A và B như một hiệu ứng cố định với hai cấp độ; đây sẽ là một sai lầm Nhưng bạn sẽ không mô hình hóa các lớp A và B dưới dạng hiệu ứng ngẫu nhiên "riêng biệt" (nghĩa là giao nhau) với hai cấp độ; đây cũng là một sai lầm Thay vào đó, bạn sẽ mô hình hóa các lớp học như một hiệu ứng ngẫu nhiên lồng nhau trong các trường học.
Xem ở đây: Hiệu ứng ngẫu nhiên giao nhau và lồng nhau: chúng khác nhau như thế nào và chúng được chỉ định chính xác trong lme4 như thế nào?
i=1…nj=1,2
Sizeijk=μ+α⋅Heightijk+β⋅Weightijk+γ⋅Ageijk+ϵi+ϵij+ϵijk
ϵi∼N(0,σ2subjects),Random intercept for each subject
ϵij∼N(0,σ2subject-side),Random int. for side nested in subject
ϵijk∼N(0,σ2noise),Error term
Như bạn đã tự viết, "không có lý do gì để tin rằng chân phải sẽ trung bình lớn hơn chân trái". Vì vậy, không nên có hiệu ứng "toàn cầu" (không cố định hay ngẫu nhiên bắt chéo) của chân phải hoặc chân trái; thay vào đó, mỗi đối tượng có thể được nghĩ là có chân "một" và "chân khác" và sự biến đổi này chúng ta nên đưa vào mô hình. Các chân "một" và "khác" này được lồng trong các đối tượng, do đó các hiệu ứng ngẫu nhiên lồng nhau.
Thêm chi tiết để đáp ứng với các ý kiến. [Ngày 26 tháng 9]
Mô hình của tôi ở trên bao gồm Side là hiệu ứng ngẫu nhiên lồng nhau trong Đối tượng. Đây là một mô hình thay thế, được đề xuất bởi @Robert, trong đó Side là hiệu ứng cố định:
Sizeijk=μ+α⋅Heightijk+β⋅Weightijk+γ⋅Ageijk+δ⋅Sidej+ϵi+ϵijk
ij
Nó không thể.
Điều tương tự cũng đúng với mô hình giả thuyết của @ gung với Side là hiệu ứng ngẫu nhiên chéo:
Sizeijk=μ+α⋅Heightijk+β⋅Weightijk+γ⋅Ageijk+ϵi+ϵj+ϵijk
Nó không tính đến các phụ thuộc là tốt.
Trình diễn thông qua một mô phỏng [2 tháng 10]
Đây là một cuộc biểu tình trực tiếp trong R.
Tôi tạo ra một bộ dữ liệu đồ chơi với năm đối tượng được đo trên cả hai chân trong năm năm liên tiếp. Ảnh hưởng của tuổi tác là tuyến tính. Mỗi đối tượng có một đánh chặn ngẫu nhiên. Và mỗi đối tượng có một bàn chân (bên trái hoặc bên phải) lớn hơn một bàn chân khác.
set.seed(17)
demo = data.frame(expand.grid(age = 1:5,
side=c("Left", "Right"),
subject=c("Subject A", "Subject B", "Subject C", "Subject D", "Subject E")))
demo$size = 10 + demo$age + rnorm(nrow(demo))/3
for (s in unique(demo$subject)){
# adding a random intercept for each subject
demo[demo$subject==s,]$size = demo[demo$subject==s,]$size + rnorm(1)*10
# making the two feet of each subject different
for (l in unique(demo$side)){
demo[demo$subject==s & demo$side==l,]$size = demo[demo$subject==s & demo$side==l,]$size + rnorm(1)*7
}
}
plot(1:50, demo$size)
Xin lỗi cho kỹ năng R khủng khiếp của tôi. Đây là cách dữ liệu trông như thế nào (mỗi năm chấm liên tiếp là một chân của một người được đo trong nhiều năm; mỗi mười chấm liên tiếp là hai chân của cùng một người):
Bây giờ chúng ta có thể phù hợp với một loạt các mô hình:
require(lme4)
summary(lmer(size ~ age + side + (1|subject), demo))
summary(lmer(size ~ age + (1|side) + (1|subject), demo))
summary(lmer(size ~ age + (1|subject/side), demo))
Tất cả các mô hình bao gồm một hiệu ứng cố định age
và một hiệu ứng ngẫu nhiên subject
, nhưng đối xử side
khác nhau.
side
age
t=1.8
side
age
t=1.4
side
age
t=37
Điều này rõ ràng cho thấy rằng side
nên được coi là một hiệu ứng ngẫu nhiên lồng nhau.
Cuối cùng, trong các ý kiến @Robert đề xuất bao gồm hiệu ứng toàn cầu side
như là một biến kiểm soát. Chúng ta có thể làm điều đó, trong khi vẫn giữ hiệu ứng ngẫu nhiên lồng nhau:
summary(lmer(size ~ age + side + (1|subject/side), demo))
summary(lmer(size ~ age + (1|side) + (1|subject/side), demo))
side
t = 0,5side