Trong một mô hình đa cấp, ý nghĩa thực tế của việc ước tính so với không ước tính các tham số tương quan hiệu ứng ngẫu nhiên là gì?


27

Trong một mô hình đa cấp, ý nghĩa thực tế và liên quan đến diễn giải của việc ước tính so với các tham số tương quan hiệu ứng ngẫu nhiên không ước tính là gì? Lý do thực tế để hỏi điều này là trong khung lmer trong R, không có phương pháp thực hiện nào để ước tính giá trị p thông qua các kỹ thuật MCMC khi ước tính được thực hiện trong mô hình tương quan giữa các tham số.

Ví dụ, nhìn vào ví dụ này (các phần được trích dẫn bên dưới), ý nghĩa thực tế của M2 so với M3 là gì. Rõ ràng, trong một trường hợp, P5 sẽ không được ước tính và trong trường hợp khác, nó sẽ.

Câu hỏi

  1. Vì các lý do thực tế (mong muốn có được giá trị p thông qua các kỹ thuật MCMC), người ta có thể muốn điều chỉnh một mô hình mà không có mối tương quan giữa các hiệu ứng ngẫu nhiên ngay cả khi P5 về cơ bản là khác không. Nếu một người làm điều này, và sau đó ước tính giá trị p thông qua kỹ thuật MCMC, kết quả có thể hiểu được không? (Tôi biết @Ben Bolker trước đây đã đề cập rằng "kết hợp kiểm tra ý nghĩa với MCMC là một chút không thống nhất, theo thống kê, mặc dù tôi hiểu sự thôi thúc phải làm như vậy (nhận được khoảng tin cậy là dễ hỗ trợ hơn)" , vì vậy nếu nó sẽ giúp bạn ngủ ngon hơn vào ban đêm giả vờ tôi nói khoảng tin cậy.)
  2. Nếu một người không ước tính được P5, điều đó có giống như khẳng định rằng nó bằng 0 không?
  3. Nếu P5 thực sự khác không, thì các giá trị ước tính của P1-P4 bị ảnh hưởng theo cách nào?
  4. Nếu P5 thực sự khác không, thì các ước tính lỗi cho P1-P4 bị ảnh hưởng theo cách nào?
  5. Nếu P5 thực sự khác không, thì những cách giải thích của một mô hình không bao gồm P5 là thiếu sót?

Mượn từ câu trả lời của @Mike Lawrence (những người hiểu biết hơn tôi có thể tự do thay thế bằng ký hiệu mô hình đầy đủ, tôi không hoàn toàn tự tin tôi có thể làm như vậy với độ trung thực hợp lý):

M2: V1 ~ (1|V2) + V3 + (0+V3|V2)(Ước tính P1 - P4)

M3: V1 ~ (1+V3|V2) + V3(Ước tính P1-P5)

Các thông số có thể được ước tính:

P1 : Đánh chặn toàn cầu

P2 : Chặn hiệu ứng ngẫu nhiên cho V2 (tức là đối với mỗi cấp V2, độ lệch của mức chặn đó so với đánh chặn toàn cầu)

P3 : Ước tính toàn cầu duy nhất cho hiệu ứng (độ dốc) của V3

P4 : Hiệu ứng của V3 trong mỗi cấp V2 (cụ thể hơn là mức độ mà hiệu ứng V3 trong một mức nhất định làm lệch khỏi hiệu ứng toàn cầu của V3), trong khi thực thi một mối tương quan bằng không giữa độ lệch chặn và độ lệch hiệu ứng V3 giữa các cấp của V2.

P5 : Mối tương quan giữa độ lệch đánh chặn và độ lệch V3 giữa các cấp V2

Câu trả lời bắt nguồn từ một mô phỏng đủ lớn và rộng cùng với mã đi kèm trong R sử dụng lmer sẽ được chấp nhận.



@JackTanner: Có vẻ như bạn cũng không hài lòng ở đó. Sẽ thật tuyệt nếu mối quan tâm của bạn cũng được giải quyết trong câu trả lời cho câu hỏi này.
russellpierce

4
Đưa ra một câu trả lời chính xác cho nhiều câu hỏi của bạn - "điều gì xảy ra với _______ khi tôi viết sai mô hình theo cách ___" - có lẽ là không thể nếu không đi sâu vào, có thể là khó hiểu, mặc dù đây có thể là một trường hợp đặc biệt - 'tôi không chắc). Chiến lược mà tôi có thể sử dụng là mô phỏng dữ liệu khi độ dốc và giao thoa có mối tương quan cao, phù hợp với mô hình ràng buộc hai mô hình không tương quan và so sánh kết quả với khi mô hình được chỉ định chính xác (ví dụ: "phân tích độ nhạy").
Macro

4
Đối với câu hỏi của bạn, tôi chắc chắn 80 (nhưng không phải 100)% về các điều sau: re. # 2, Có, nếu bạn không ước tính tương quan, bạn buộc nó là 0; đối với phần còn lại, nếu tương quan thực sự không chính xác bằng 0, thì bạn đang xác định sai tính không độc lập của dữ liệu của mình. Tuy nhiên, betas có thể không thiên vị, nhưng giá trị p sẽ bị tắt (& chúng có quá cao hay quá thấp hay không và có thể không biết được). Do đó, việc giải thích các betas có thể có thể tiến hành như bình thường, nhưng việc giải thích 'ý nghĩa' sẽ không chính xác.
gung - Phục hồi Monica

2
@Macro: Hy vọng của tôi là tiền thưởng có thể đánh bại một câu trả lời tốt dựa trên lý thuyết chứ không phải mô phỏng. Với một mô phỏng tôi sẽ thường xuyên lo ngại, tôi đã không chọn một trường hợp cạnh thích hợp. Tôi rất giỏi trong việc chạy mô phỏng, nhưng luôn cảm thấy một chút ... không chắc chắn rằng tôi đang chạy tất cả các mô phỏng đúng (mặc dù tôi cho rằng tôi có thể để điều đó cho các biên tập viên quyết định). Tôi có thể phải hỏi một câu hỏi khác về những kịch bản cần bao gồm.
russellpierce

Câu trả lời:


16

Hãy xem xét dữ liệu về cơn buồn ngủ, có trong lme4. Bates thảo luận về điều này trong cuốn sách trực tuyến của mình về lme4. Trong chương 3, ông xem xét hai mô hình cho dữ liệu.

M0:Reaction1+Days+(1|Subject)+(0+Days|Subject)

MA:Reaction1+Days+(Days|Subject)

Nghiên cứu bao gồm 18 đối tượng, nghiên cứu trong khoảng thời gian 10 ngày thiếu ngủ. Thời gian phản ứng được tính toán tại đường cơ sở và vào những ngày tiếp theo. Có một ảnh hưởng rõ ràng giữa thời gian phản ứng và thời gian thiếu ngủ. Cũng có sự khác biệt đáng kể giữa các môn học. Mô hình A cho phép khả năng tương tác giữa các hiệu ứng đánh chặn ngẫu nhiên và độ dốc: hãy tưởng tượng rằng những người có thời gian phản ứng kém phải chịu ảnh hưởng sâu sắc hơn từ các tác động của việc thiếu ngủ. Điều này sẽ ngụ ý một mối tương quan tích cực trong các hiệu ứng ngẫu nhiên.

Trong ví dụ của Bates, không có mối tương quan rõ ràng từ biểu đồ Lưới và không có sự khác biệt đáng kể giữa các mô hình. Tuy nhiên, để điều tra câu hỏi được đặt ra ở trên, tôi quyết định lấy các giá trị phù hợp của cơn buồn ngủ, tăng cường sự tương quan và xem xét hiệu suất của hai mô hình.

Như bạn có thể thấy từ hình ảnh, thời gian phản ứng dài có liên quan đến việc mất hiệu suất cao hơn. Tương quan được sử dụng cho mô phỏng là 0,58

nhập mô tả hình ảnh ở đây

Tôi đã mô phỏng 1000 mẫu, sử dụng phương pháp mô phỏng trong lme4, dựa trên các giá trị được trang bị của dữ liệu nhân tạo của tôi. Tôi phù hợp với M0 và Ma cho từng kết quả và xem kết quả. Tập dữ liệu gốc có 180 quan sát (10 cho mỗi 18 đối tượng) và dữ liệu mô phỏng có cùng cấu trúc.

Điểm mấu chốt là có rất ít sự khác biệt.

  1. Các tham số cố định có chính xác các giá trị giống nhau trong cả hai mô hình.
  2. Các hiệu ứng ngẫu nhiên là hơi khác nhau. Có 18 hiệu ứng đánh chặn và 18 độ dốc ngẫu nhiên cho mỗi mẫu mô phỏng. Đối với mỗi mẫu, các hiệu ứng này buộc phải thêm vào 0, có nghĩa là sự khác biệt trung bình giữa hai mô hình là (giả tạo) 0. Nhưng phương sai và hiệp phương sai khác nhau. Hiệp phương sai trung bình theo MA là 104, so với 84 theo M0 (giá trị thực tế, 112). Phương sai của độ dốc và giao thoa lớn hơn M0 so với MA, có lẽ là để có thêm phòng ngọ nguậy cần thiết trong trường hợp không có tham số hiệp phương sai miễn phí.
  3. Phương pháp ANOVA cho lmer đưa ra một thống kê F để so sánh mô hình Độ dốc với một mô hình chỉ có một đánh chặn ngẫu nhiên (không có tác dụng do thiếu ngủ). Rõ ràng, giá trị này rất lớn trong cả hai mô hình, nhưng nó thường lớn hơn (nhưng không phải luôn luôn) lớn hơn theo MA (trung bình 62 so với trung bình 55).
  4. Hiệp phương sai và phương sai của các hiệu ứng cố định là khác nhau.
  5. Khoảng một nửa thời gian, nó biết rằng MA là chính xác. Giá trị p trung vị để so sánh M0 với MA là 0,0442. Mặc dù có sự tương quan có ý nghĩa và 180 quan sát cân bằng, mô hình chính xác sẽ chỉ được chọn khoảng một nửa thời gian.
  6. Các giá trị dự đoán khác nhau theo hai mô hình, nhưng rất nhẹ. Sự khác biệt trung bình giữa các dự đoán là 0, với sd là 2,7. Bản thân các giá trị dự đoán là 60,9

Vậy tại sao điều này xảy ra? @gung đoán, một cách hợp lý, việc không bao gồm khả năng của một mối tương quan buộc các hiệu ứng ngẫu nhiên không được thông minh. Có lẽ nó nên; nhưng trong quá trình thực hiện này, các hiệu ứng ngẫu nhiên được phép tương quan, có nghĩa là dữ liệu có thể kéo các tham số theo đúng hướng, bất kể mô hình. Sự sai lầm của mô hình sai thể hiện ở khả năng, đó là lý do tại sao bạn có thể (đôi khi) phân biệt hai mô hình ở cấp độ đó. Mô hình hiệu ứng hỗn hợp về cơ bản phù hợp với hồi quy tuyến tính cho từng đối tượng, bị ảnh hưởng bởi những gì mô hình nghĩ rằng chúng nên có. Mô hình sai buộc phải phù hợp với các giá trị ít hợp lý hơn so với mô hình phù hợp. Nhưng các thông số, vào cuối ngày, bị chi phối bởi sự phù hợp với dữ liệu thực tế.

nhập mô tả hình ảnh ở đây

Đây là mã hơi khó hiểu của tôi. Ý tưởng là để phù hợp với dữ liệu nghiên cứu giấc ngủ và sau đó xây dựng một bộ dữ liệu mô phỏng với cùng các tham số, nhưng tương quan lớn hơn cho các hiệu ứng ngẫu nhiên. Tập dữ liệu đó được cung cấp để mô phỏng.lmer () để mô phỏng 1000 mẫu, mỗi mẫu phù hợp với cả hai cách. Khi tôi đã ghép các đối tượng được trang bị, tôi có thể lấy ra các tính năng khác nhau của sự phù hợp và so sánh chúng, sử dụng các bài kiểm tra t, hoặc bất cứ điều gì.

    # Fit a model to the sleep study data, allowing non-zero correlation
fm01 <- lmer(Reaction ~ 1 + Days +(1+Days|Subject), data=sleepstudy, REML=FALSE)
# Now use this to build a similar data set with a correlation = 0.9
# Here is the covariance function for the random effects
# The variances come from the sleep study. The covariance is chosen to give a larger correlation
sigma.Subjects <- matrix(c(565.5,122,122,32.68),2,2) 
# Simulate 18 pairs of random effects
ranef.sim <- mvrnorm(18,mu=c(0,0),Sigma=sigma.Subjects)
# Pull out the pattern of days and subjects.
XXM <- model.frame(fm01) 
n <- nrow(XXM) # Sample size
# Add an intercept to the model matrix.
XX.f <- cbind(rep(1,n),XXM[,2])
# Calculate the fixed effects, using the parameters from the sleep study. 
yhat <- XX.f %*%  fixef(fm01 )
# Simulate a random intercept for each subject
intercept.r <- rep(ranef.sim[,1], each=10) 
# Now build the random slopes
slope.r <- XXM[,2]*rep(ranef.sim[,2],each=10)
# Add the slopes to the random intercepts and fixed effects
yhat2 <- yhat+intercept.r+slope.r
# And finally, add some noise, using the variance from the sleep study
y <- yhat2 + rnorm(n,mean=0,sd=sigma(fm01))
# Here is new "sleep study" data, with a stronger correlation.
new.data <- data.frame(Reaction=y,Days=XXM$Days,Subject=XXM$Subject)
# Fit the new data with its correct model
fm.sim <- lmer(Reaction ~ 1 + Days +(1+Days|Subject), data=new.data, REML=FALSE)
# Have a look at it
xyplot(Reaction ~ Days | Subject, data=new.data, layout=c(6,3), type=c("p","r"))
# Now simulate 1000 new data sets like new.data and fit each one
# using the right model and zero correlation model.
# For each simulation, output a list containing the fit from each and
# the ANOVA comparing them.
n.sim <- 1000
    sim.data <- vector(mode="list",)
    tempReaction <- simulate(fm.sim, nsim=n.sim)
    tempdata <- model.frame(fm.sim)
    for (i in 1:n.sim){
        tempdata$Reaction <- tempReaction[,i]
			output0 <- lmer(Reaction ~ 1 + Days +(1|Subject)+(0+Days|Subject), data = tempdata, REML=FALSE)
			output1 <- lmer(Reaction ~ 1 + Days +(Days|Subject), data=tempdata, REML=FALSE)
			temp <- anova(output0,output1)
			pval <- temp$`Pr(>Chisq)`[2]
        sim.data[[i]] <- list(model0=output0,modelA=output1, pvalue=pval)
    }

1
Đó là công việc thú vị. Cảm ơn bạn. Tôi muốn xem những bình luận khác sẽ xuất hiện trong vài ngày tới và cách mọi thứ khái quát cho các trường hợp khác trước khi tôi chấp nhận câu trả lời. Bạn cũng sẽ xem xét bao gồm Mã R có liên quan trong câu trả lời của mình cũng như chỉ định phiên bản của lmer bạn đã sử dụng? Sẽ rất thú vị khi đưa các trường hợp mô phỏng tương tự vào PROC MIXED để xem cách nó xử lý mối tương quan hiệu ứng ngẫu nhiên không xác định.
russellpierce

1
@rpierce Tôi đã thêm mẫu mã theo yêu cầu. Ban đầu tôi đã viết nó bằng LaTeX / Sweave, vì vậy các dòng mã được đan xen với các nhận xét của tôi với chính tôi. Tôi đã sử dụng phiên bản 1.1-6 của lme4, đây là phiên bản hiện tại vào tháng 6 năm 2014.
Placidia

@Ben khi bạn nói "Mô hình A cho phép" trong đoạn thứ hai, không nên là MO?
nzcoops

Tôi nghĩ rằng văn bản là chính xác (tất cả những gì tôi đã làm cho câu hỏi này là làm đẹp công thức một chút)
Ben Bolker

+6. Câu trả lời tuyệt vời, cảm ơn bạn đã quan tâm đến những câu hỏi cũ nhưng xứng đáng.
amip nói rằng Phục hồi Monica

4

Placidia đã cung cấp một câu trả lời kỹ lưỡng bằng cách sử dụng dữ liệu mô phỏng dựa trên sleepstudybộ dữ liệu. Đây là một câu trả lời khác (ít nghiêm ngặt hơn) cũng sử dụng sleepstudydữ liệu.

Chúng ta thấy rằng người ta có thể ảnh hưởng đến mối tương quan ước tính giữa đánh chặn ngẫu nhiên và độ dốc ngẫu nhiên bằng cách "dịch chuyển" biến dự đoán ngẫu nhiên. Nhìn vào kết quả từ các mô hình fm1fm2dưới đây:

library(lmer)

#Fit Models
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
k <- 3 # Shift "Days" by an arbitrary amount
fm2 <- lmer(Reaction ~ I(Days + k) + (I(Days + k)| Subject), sleepstudy)

fm1 # Model Output
# Linear mixed model fit by REML ['lmerMod']
# Formula: Reaction ~ Days + (Days | Subject)
# Data: sleepstudy
# REML criterion at convergence: 1743.628
# Random effects:
#   Groups   Name        Std.Dev. Corr
# Subject  (Intercept) 24.740       
# Days         5.922   0.07
# Residual             25.592       
# Number of obs: 180, groups:  Subject, 18
# Fixed Effects:
#   (Intercept)         Days  
# 251.41        10.47

fm2 # Model Output
# Linear mixed model fit by REML ['lmerMod']
# Formula: Reaction ~ I(Days + k) + (I(Days + k) | Subject)
# Data: sleepstudy
# REML criterion at convergence: 1743.628
# Random effects:
#   Groups   Name        Std.Dev. Corr 
# Subject  (Intercept) 29.498        
# I(Days + k)  5.922   -0.55
# Residual             25.592        
# Number of obs: 180, groups:  Subject, 18
# Fixed Effects:
#   (Intercept)  I(Days + k)  
# 220.00        10.47

# Random effects from both models
cbind(ranef(fm1)$Subject,ranef(fm2)$Subject)
# (Intercept)        Days (Intercept) I(Days + k)
# 308   2.2585654   9.1989719 -25.3383538   9.1989727
# 309 -40.3985769  -8.6197032 -14.5394628  -8.6197043
# 310 -38.9602458  -5.4488799 -22.6136027  -5.4488807
# 330  23.6904985  -4.8143313  38.1334933  -4.8143315
# 331  22.2602027  -3.0698946  31.4698868  -3.0698946
# 332   9.0395259  -0.2721707   9.8560377  -0.2721706
# 333  16.8404311  -0.2236244  17.5113040  -0.2236243
# 334  -7.2325792   1.0745761 -10.4563076   1.0745761
# 335  -0.3336958 -10.7521591  31.9227854 -10.7521600
# 337  34.8903508   8.6282840   9.0054946   8.6282850
# 349 -25.2101104   1.1734142 -28.7303527   1.1734141
# 350 -13.0699567   6.6142050 -32.9125736   6.6142054
# 351   4.5778352  -3.0152572  13.6236077  -3.0152574
# 352  20.8635924   3.5360133  10.2555505   3.5360138
# 369   3.2754530   0.8722166   0.6588028   0.8722167
# 370 -25.6128694   4.8224646 -40.0802641   4.8224648
# 371   0.8070397  -0.9881551   3.7715053  -0.9881552
# 372  12.3145393   1.2840297   8.4624492   1.2840300

Từ đầu ra mô hình, chúng ta thấy rằng mối tương quan phương sai ngẫu nhiên đã thay đổi. Tuy nhiên, độ dốc (cố định và ngẫu nhiên) vẫn giữ nguyên, như ước tính phương sai còn lại. Các ước tính chặn (cố định và ngẫu nhiên) đã thay đổi để đáp ứng với biến đã dịch chuyển.

Hiệp phương sai đánh chặn ngẫu nhiên không liên quan đến các LMM được thảo luận trong các bài giảng của Tiến sĩ Jack Weiss ở đây . Weiss lưu ý rằng việc giảm mối tương quan phương sai trong thời trang này đôi khi có thể giúp hội tụ mô hình, trong số những thứ khác.

Ví dụ trên thay đổi mối tương quan ngẫu nhiên (tham số "P5"). Giải quyết một phần cho quý 3 của OP, chúng ta thấy từ đầu ra ở trên rằng:

#   Parameter           Status
=================================
P1  Fixed Intercept     Affected
P2  Random Intercepts   Affected
P3  Fixed Slope         Not Affected
P4  Random Slopes       Not Affected
P5  Random Correlation  Affected

Cảm ơn đã thêm tín hiệu cho câu hỏi lâu dài này!
russellpierce

Lưu ý: tất cả các bài giảng xuất sắc của Jack Weiss và các bài tập / ghi chú trong lớp đều được liên kết trong bài đăng này
bác sĩ lâm sàng

Làm thế nào chúng ta nên giải thích dữ liệu trong câu hỏi? Mối tương quan "thật" là gì? Một từ mô hình thứ nhất hoặc từ mô hình thứ hai? Hoặc những người từ BLUP?
Người dùng33268
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.