Phải làm gì với tương quan hiệu ứng ngẫu nhiên bằng 1 hoặc -1?


9

Không phải là hiếm khi xảy ra khi xử lý các mô hình hỗn hợp tối đa phức tạp (ước tính tất cả các hiệu ứng ngẫu nhiên có thể có cho dữ liệu và mô hình đã cho) là hoàn hảo (+1 hoặc -1) hoặc tương quan gần như hoàn hảo giữa một số hiệu ứng ngẫu nhiên. Với mục đích thảo luận, chúng ta hãy quan sát mô hình và tóm tắt mô hình sau đây

Model: Y ~ X*Cond + (X*Cond|subj)

# Y = logit variable  
# X = continuous variable  
# Condition = values A and B, dummy coded; the design is repeated 
#             so all participants go through both Conditions  
# subject = random effects for different subjects  

Random effects:
 Groups  Name             Variance Std.Dev. Corr             
 subject (Intercept)      0.85052  0.9222                    
         X                0.08427  0.2903   -1.00            
         CondB            0.54367  0.7373   -0.37  0.37      
         X:CondB          0.14812  0.3849    0.26 -0.26 -0.56
Number of obs: 39401, groups:  subject, 219

Fixed effects:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)       2.49686    0.06909   36.14  < 2e-16 ***
X                -1.03854    0.03812  -27.24  < 2e-16 ***
CondB            -0.19707    0.06382   -3.09  0.00202 ** 
X:CondB           0.22809    0.05356    4.26 2.06e-05 ***

Lý do được cho là đằng sau những tương quan hoàn hảo này là chúng tôi đã tạo ra một mô hình quá phức tạp đối với dữ liệu mà chúng tôi có. Lời khuyên phổ biến được đưa ra trong các tình huống này là (ví dụ, Matuschek và cộng sự, 2017; giấy ) để sửa các hệ số quá tham số thành 0, vì các mô hình suy biến như vậy có xu hướng giảm công suất. Nếu chúng ta quan sát thấy một sự thay đổi rõ rệt trong các hiệu ứng cố định trong một mô hình giảm, chúng ta nên chấp nhận điều đó; nếu không có thay đổi, thì không có vấn đề gì trong việc chấp nhận bản gốc.

Tuy nhiên, giả sử rằng chúng ta không chỉ quan tâm đến các hiệu ứng cố định được kiểm soát đối với RE (hiệu ứng ngẫu nhiên), mà còn trong cấu trúc RE. Trong trường hợp cụ thể, về mặt lý thuyết sẽ có lý khi cho rằng Interceptvà độ dốc Xcó tương quan âm khác không. Một số câu hỏi sau:

  1. Làm gì trong những tình huống như vậy? Chúng ta có nên báo cáo mối tương quan hoàn hảo và nói rằng dữ liệu của chúng ta không "đủ tốt" để ước tính mối tương quan "thực"? Hay chúng ta nên báo cáo mô hình tương quan 0? Hoặc chúng ta có thể cố gắng đặt một số tương quan khác thành 0 với hy vọng rằng "quan trọng" sẽ không còn hoàn hảo nữa? Tôi không nghĩ có bất kỳ câu trả lời đúng 100% nào ở đây, tôi hầu như muốn nghe ý kiến ​​của bạn.

  2. Làm thế nào để viết mã sửa lỗi tương quan của 2 hiệu ứng ngẫu nhiên cụ thể thành 0, mà không ảnh hưởng đến mối tương quan giữa các tham số khác?


Gói nlme cung cấp cho bạn quyền kiểm soát tốt đối với ma trận phương sai hiệp phương sai của các hiệu ứng ngẫu nhiên. Tôi chưa bao giờ thực sự cần điều này cho mình, nhưng tôi sẽ đọc lại Mô hình hiệu ứng hỗn hợp trong S và S-PLUS (Pinheiro và Bates, 2000) nếu tôi làm như vậy.
Roland

3
Một thay thế triệt để là quy tắc chia các mô hình, tức là phù hợp với một mô hình Bayes với priors hơi nhiều thông tin về các cấu trúc hiệu ứng ngẫu nhiên (ví dụ như thông qua blme, MCMCglmm, rstanarm, brms...)
Bến Bolker

@BenBolker Ben. Tôi không chắc đó là một ý tưởng cấp tiến, vì phù hợp với một mô hình không đều có thể là cách triệt để hơn để phù hợp với một mô hình;)
D_Williams

Cảm ơn tất cả các bạn vì câu trả lời tuyệt vời ... Thật không may, tôi đã ngoại tuyến trong vài ngày, nhưng tôi đã trở lại.
Người dùng33268

Câu trả lời:


13

Ma trận hiệp phương sai hiệu ứng ngẫu nhiên

Có được ước tính tương quan hiệu ứng ngẫu nhiên +1 hoặc -1 có nghĩa là thuật toán tối ưu hóa đạt "ranh giới": tương quan không thể cao hơn +1 hoặc thấp hơn -1. Ngay cả khi không có lỗi hoặc cảnh báo hội tụ rõ ràng, điều này có khả năng chỉ ra một số vấn đề với sự hội tụ bởi vì chúng tôi không mong đợi các mối tương quan thực sự nằm ở ranh giới. Như bạn đã nói, điều này thường có nghĩa là không có đủ dữ liệu để ước tính tất cả các tham số đáng tin cậy. Matuschek và cộng sự. Năm 2017 nói rằng trong tình huống này sức mạnh có thể bị tổn hại.

Một cách khác để đạt được một ranh giới là lấy ước tính phương sai bằng 0: Tại sao tôi nhận được phương sai ngẫu nhiên bằng 0 trong một mô hình hỗn hợp của mình, mặc dù có một số thay đổi trong dữ liệu?

4×44×4(bản in chưa được công bố) khuyên bạn nên sử dụng phân tích thành phần chính (PCA) để kiểm tra xem ma trận hiệp phương sai thu được có phải là số ít hay không. Nếu có, họ đề nghị xử lý tình huống này giống như các tình huống đơn lẻ ở trên.

Vậy lam gi?

Nếu không có đủ dữ liệu để ước tính tất cả các tham số của một mô hình một cách đáng tin cậy, thì chúng ta nên xem xét đơn giản hóa mô hình. Lấy mô hình ví dụ của bạn X*Cond + (X*Cond|subj), có nhiều cách khác nhau để đơn giản hóa nó:

  1. Xóa một trong các hiệu ứng ngẫu nhiên, thường là tương quan bậc cao nhất:

    X*Cond + (X+Cond|subj)
  2. Loại bỏ tất cả các tham số tương quan:

    X*Cond + (X*Cond||subj)

    Cập nhật: như @Henrik lưu ý, ||cú pháp sẽ chỉ xóa các tương quan nếu tất cả các biến ở bên trái của nó là số. Nếu các biến phân loại (chẳng hạn như Cond) có liên quan, người ta nên sử dụng afexgói tiện lợi của mình (hoặc cách giải quyết thủ công rườm rà). Xem câu trả lời của anh ấy để biết thêm chi tiết.

  3. Loại bỏ một số tham số tương quan bằng cách chia thuật ngữ thành nhiều, ví dụ:

    X*Cond + (X+Cond|subj) + (0+X:Cond|subj)
  4. Hạn chế ma trận hiệp phương sai theo một số cách cụ thể, ví dụ: bằng cách đặt một tương quan cụ thể (một tương quan chạm ranh giới) về 0, như bạn đề xuất. Không có cách tích hợp lme4để đạt được điều này. Xem câu trả lời của @ BenBolker về SO để trình diễn cách đạt được điều này thông qua một số hack thông minh.

Trái với những gì bạn nói, tôi không nghĩ Matuschek et al. Năm 2017 đặc biệt khuyến nghị # 4. Ý chính của Matuschek et al. 2017 và Bates et al. 2015 dường như bắt đầu với mô hình tối đa a la Barr et al. 2013 và sau đó giảm độ phức tạp cho đến khi ma trận hiệp phương sai được xếp hạng đầy đủ. (Hơn nữa, họ thường khuyên nên giảm độ phức tạp hơn nữa, để tăng sức mạnh.) Cập nhật: Ngược lại, Barr et al. đề nghị giảm CHỈ độ phức tạp nếu mô hình không hội tụ; họ sẵn sàng chịu đựng các ma trận hiệp phương sai số ít. Xem câu trả lời của @ Henrik.

Nếu một người đồng ý với Bates / Matuschek, thì tôi nghĩ sẽ ổn khi thử các cách khác nhau để giảm độ phức tạp để tìm ra cách thực hiện công việc trong khi thực hiện "ít thiệt hại nhất". Nhìn vào danh sách của tôi ở trên, ma trận hiệp phương sai ban đầu có 10 tham số; # 1 có 6 tham số, # 2 có 4 tham số, # 3 có 7 tham số. Mô hình nào sẽ thoát khỏi các mối tương quan hoàn hảo là không thể nói mà không phù hợp với chúng.

Nhưng nếu bạn quan tâm đến thông số này thì sao?

Các cuộc thảo luận ở trên coi ma trận hiệp phương sai hiệu ứng ngẫu nhiên là một tham số phiền toái. Bạn đưa ra một câu hỏi thú vị về những việc cần làm nếu bạn đặc biệt quan tâm đến một tham số tương quan mà bạn phải "từ bỏ" để có được một giải pháp xếp hạng đầy đủ có ý nghĩa.

Lưu ý rằng việc sửa tham số tương quan ở mức 0 sẽ không nhất thiết mang lại BLUP ( ranef) không tương quan; trên thực tế, chúng thậm chí có thể không bị ảnh hưởng nhiều như vậy (xem câu trả lời của @ Placidia để trình diễn ). Vì vậy, một lựa chọn sẽ là xem xét mối tương quan của BLUP và báo cáo điều đó.

Một lựa chọn khác, có lẽ kém hấp dẫn hơn, sẽ là sử dụng điều trị subjectnhư một hiệu ứng cố định Y~X*cond*subj, lấy các ước tính cho từng đối tượng và tính toán tương quan giữa chúng. Điều này tương đương với việc chạy Y~X*condhồi quy riêng cho từng đối tượng riêng biệt và nhận được ước tính tương quan từ chúng.


Xem thêm phần về các mô hình số ít trong Mô hình hỗn hợp của Ben Bolker Câu hỏi thường gặp:

θ


1
Những gì ví dụ của tôi cho thấy là để (Machine||Worker) lmerước tính một phương sai nhiều hơn cho (Machine|Worker). Vì vậy, những gì lmerlàm ||với các yếu tố không thể được mô tả bởi 'điều này chỉ loại bỏ mối tương quan giữa các yếu tố, chứ không phải giữa các cấp độ của một yếu tố phân loại.' Nó thay đổi cấu trúc hiệu ứng ngẫu nhiên theo một cách hơi kỳ lạ (nó mở rộng (Machine||Worker)ra (1|Worker) + (0+Machine|Worker), do đó phương sai bổ sung). Hãy thay đổi chỉnh sửa của tôi. Quan điểm chính của tôi là trong tuyên bố này, sự khác biệt giữa các hiệp phương số và phân loại cần phải được làm rõ.
Henrik

1
Không, cũng không hoạt động với các biến nhị phân, hãy tự mình xem : machines2 <- subset(Machines, Machine %in% c("A", "B")); summary(lmer(score ~ Machine + (Machine || Worker), data=machines2)). Nó nói chung không hoạt động với các yếu tố do sự mở rộng này và cách Rxử lý các yếu tố trong model.matrix.
Henrik

@amoeba: Tôi nghĩ bạn đã tạo ra một điểm thú vị bằng cách đề xuất chuyển sang ranefcác giá trị để nghiên cứu mối tương quan giữa các hiệu ứng ngẫu nhiên. Tôi không quá sâu vào chủ đề này, nhưng tôi biết rằng thường không nên làm việc với các giá trị được trích xuất ranef, mà là với các mối tương quan và phương sai ước tính. Ý kiến ​​của bạn về điều đó là gì? Thêm vào đó, tôi không biết người ta sẽ giải thích như thế nào với người đánh giá rằng mối tương quan trong mô hình không được quy định, nhưng chúng tôi vẫn tính toán mối tương quan của các giá trị được trích xuất. Điều đó không có ý nghĩa
Người dùng33268

1
@RockyRaccoon Vâng, tôi nghĩ sẽ tốt hơn khi sử dụng / báo cáo tham số tương quan ước tính nhưng ở đây chúng ta đang nói về tình huống khi chúng ta có thể ước tính nó bởi vì nó hội tụ đến 1. Đó là những gì tôi sẽ viết trong một bài báo: "Mô hình đầy đủ hội tụ để giải quyết với Corr = 1 vì vậy, theo lời khuyên trong [trích dẫn], chúng tôi đã sử dụng mô hình rút gọn [chi tiết]. Mối tương quan giữa các BLUP hiệu ứng ngẫu nhiên trong mô hình này là 0,9. " Một lần nữa, khi bạn không bao gồm sự tương quan, bạn không hạn chế mô hình để coi chúng là không tương quan! Bạn chỉ đơn giản là không mô hình hóa mối tương quan này một cách rõ ràng.
amip

Tôi có thêm một câu hỏi: làm các phương sai gần bằng không và các mối tương quan hoàn hảo và gần hoàn hảo của các hiệu ứng ngẫu nhiên ngụ ý điều gì đó về giá trị thực của các tham số? Ví dụ: các tương quan -1 có nghĩa là tương quan thực tế ít nhất là âm và / hoặc ít nhất là khác không? Cụ thể hơn, nếu chúng ta cố gắng ước tính tương quan bằng 0 trong thực tế, liệu chúng ta có thể có được ước lượng -1 không?
Người dùng33268

9

Tôi đồng ý với tất cả những gì được nói trong câu trả lời của amip cung cấp một bản tóm tắt tuyệt vời về cuộc thảo luận hiện tại về vấn đề này. Tôi sẽ cố gắng thêm một vài điểm bổ sung và nói cách khác là tham khảo bản hướng dẫn của khóa học mô hình hỗn hợp gần đây của tôi cũng tóm tắt những điểm này.


Việc loại bỏ các tham số tương quan (tùy chọn 2 và 3 trong câu trả lời của amip) thông qua ||các tác phẩm chỉ cho các hiệp phương số trong lmervà không cho các yếu tố. Điều này được thảo luận chi tiết với mã của Reinhold Kliegl .

Tuy nhiên, afexgói của tôi cung cấp chức năng để triệt tiêu mối tương quan giữa các yếu tố nếu đối số expand_re = TRUEtrong lệnh gọi đến mixed()(xem thêm chức năng lmer_alt()). Về cơ bản, nó thực hiện điều đó bằng cách thực hiện phương pháp được thảo luận bởi Reinhold Kliegl (nghĩa là biến các yếu tố thành hiệp phương số và chỉ định cấu trúc hiệu ứng ngẫu nhiên trên các yếu tố đó).

Một ví dụ đơn giản:

library("afex")
data("Machines", package = "MEMSS") # same data as in Kliegl code

# with correlation:
summary(lmer(score ~ Machine + (Machine  | Worker), data=Machines))
# Random effects:
#  Groups   Name        Variance Std.Dev. Corr       
#  Worker   (Intercept) 16.6405  4.0793              
#           MachineB    34.5467  5.8776    0.48      
#           MachineC    13.6150  3.6899   -0.37  0.30
#  Residual              0.9246  0.9616              
# Number of obs: 54, groups:  Worker, 6

## crazy results:
summary(lmer(score ~ Machine + (Machine  || Worker), data=Machines))
# Random effects:
#  Groups   Name        Variance Std.Dev. Corr     
#  Worker   (Intercept)  0.2576  0.5076            
#  Worker.1 MachineA    16.3829  4.0476            
#           MachineB    74.1381  8.6103   0.80     
#           MachineC    19.0099  4.3600   0.62 0.77
#  Residual              0.9246  0.9616            
# Number of obs: 54, groups:  Worker, 6

## as expected:
summary(lmer_alt(score ~ Machine + (Machine  || Worker), data=Machines))
# Random effects:
#  Groups   Name         Variance Std.Dev.
#  Worker   (Intercept)  16.600   4.0743  
#  Worker.1 re1.MachineB 34.684   5.8894  
#  Worker.2 re1.MachineC 13.301   3.6471  
#  Residual               0.926   0.9623  
# Number of obs: 54, groups:  Worker, 6

Đối với những người không biết afex, chức năng chính cho các mô hình hỗn hợp là cung cấp giá trị p cho các hiệu ứng cố định, ví dụ:

(m1 <- mixed(score ~ Machine + (Machine  || Worker), data=Machines, expand_re = TRUE))
# Mixed Model Anova Table (Type 3 tests, KR-method)
# 
# Model: score ~ Machine + (Machine || Worker)
# Data: Machines
#    Effect      df        F p.value
# 1 Machine 2, 5.98 20.96 **    .002
# ---
# Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

summary(m1)  
# [...]
# Random effects:
#  Groups   Name         Variance Std.Dev.
#  Worker   (Intercept)  27.4947  5.2435  
#  Worker.1 re1.Machine1  6.6794  2.5845  
#  Worker.2 re1.Machine2 13.8015  3.7150  
#  Residual               0.9265  0.9626  
# Number of obs: 54, groups:  Worker, 6
# [...]

Dale Barr từ Barr et al. (2013) bài báo thận trọng hơn trong việc khuyến nghị giảm cấu trúc hiệu ứng ngẫu nhiên so với câu trả lời của amip. Trong một cuộc trao đổi gần đây trên twitter , anh đã viết:

  • "giảm mô hình giới thiệu nguy cơ chống ung thư không rõ, và nên được thực hiện một cách thận trọng, nếu có." và
  • "Mối quan tâm chính của tôi là mọi người hiểu rủi ro liên quan đến việc giảm mô hình và việc giảm thiểu rủi ro này đòi hỏi một cách tiếp cận thận trọng hơn so với thông thường (ví dụ: mỗi độ dốc được thử nghiệm ở 0,05)."

Vì vậy, nên thận trọng.


Là một trong những người đánh giá, tôi cũng có thể cung cấp một số cái nhìn sâu sắc về lý do tại sao chúng tôi Bates et al. (2015) giấy vẫn chưa được công bố. Tôi và hai nhà phê bình khác (đã ký, nhưng sẽ không được nêu tên ở đây) đã có một số lời chỉ trích với phương pháp PCA (dường như không được chấp nhận và không có bằng chứng nào cho thấy nó vượt trội về quyền lực). Hơn nữa, tôi tin rằng cả ba người chỉ trích rằng bài báo không tập trung vào vấn đề làm thế nào để chỉ định cấu trúc hiệu ứng ngẫu nhiên, mà còn cố gắng giới thiệu GAMM. Do đó, bài báo của Bates et al (2015) đã biến thành Matuschek et al. (2017) bài viết đề cập đến vấn đề cấu trúc hiệu ứng ngẫu nhiên với các mô phỏng và Baayen et al. (2017) giấy giới thiệu GAMM.

Đánh giá đầy đủ của tôi về Bates et al. dự thảo có thể được tìm thấy ở đây . IIRC, các đánh giá khác có loại điểm chính tương tự.


ĐỒNG Ý. Sau đó, tôi có thể chèn một số chỉnh sửa / cập nhật nhỏ vào đó để làm rõ một số điểm mà bạn đang thực hiện. Về bản in trước của Bates, nó rất có thể là tối ưu dưới nhiều khía cạnh khác nhau. Nhưng tôi hoàn toàn đồng ý với Bates et al. các ma trận hiệp phương sai số ít đó chính xác là cùng một vấn đề với các mối tương quan của + 1 / -1. Về mặt toán học, không có sự khác biệt. Vì vậy, nếu chúng ta chấp nhận rằng mối tương quan hoàn hảo thỏa hiệp sức mạnh, thì chúng ta phải rất cảnh giác với cov số ít. ngay cả trong trường hợp không có mô phỏng rõ ràng cho thấy nó. Tôi không đồng ý rằng đó là "unipipled".
amip

@amoeba lmer_altvề cơ bản hoạt động chính xác như lmer(hoặc thậm chí glmer) với sự khác biệt duy nhất mà nó cho phép ||cú pháp. Vì vậy, tôi không chắc chắn tại sao bạn muốn tránh afexbằng mọi giá. Nó thậm chí sẽ làm việc mà không cần đính kèm (tức là afex::lmer_alt(...)).
Henrik

@amoeba Những gì nó làm về cơ bản là cách tiếp cận được mô tả trong mã bởi Reinhold Kliegl (nghĩa là mở rộng các hiệu ứng ngẫu nhiên). Đối với mỗi thuật ngữ hiệu ứng ngẫu nhiên của công thức, nó tạo ra một ma trận mô hình (nghĩa là chuyển đổi các yếu tố thành hiệp phương số). Model.matrix này sau đó cbindlà dữ liệu. Sau đó, thuật ngữ hiệu ứng ngẫu nhiên trong công thức được thay thế bằng một thuật ngữ mới trong đó mỗi cột được tạo mới được nối với dấu +. Xem các dòng 690 đến 730 trong github.com/singmann/afex/blob/master/R/mixed.R
Henrik

Về các biến phân loại ở bên trái ||, đây là một điểm thực sự quan trọng, cảm ơn vì đã đưa nó lên và giải thích cho tôi (tôi đã chỉnh sửa câu trả lời của mình để phản ánh nó). Tôi thích tính năng này lmer_alttrong afex. Tôi sẽ chỉ đề cập ở đây để hoàn thành rằng để có được đầu ra tương tự với lmercuộc gọi vanilla mà không cần bất kỳ quá trình tiền xử lý bổ sung nào, ví dụ có thể chỉ định (1+dummy(Machine,'B')+dummy(Machine,'C') || Worker). Điều này rõ ràng trở nên rất cồng kềnh khi biến phân loại có nhiều cấp độ.
amip

2
@amoeba Điều quan trọng cần lưu ý là cách tiếp cận dummy()chỉ sử dụng có tác dụng với điều trị mặc định tương phản và không phải khi hiệu ứng ngẫu nhiên sử dụng độ tương phản tổng bằng không (mà người ta nên sử dụng trong trường hợp mô hình có tương tác). Ví dụ, bạn có thể thấy rằng nếu bạn so sánh các thành phần phương sai trong ví dụ trên cho lmer_altcuộc gọi với mixedcuộc gọi.
Henrik

1

Tôi cũng gặp vấn đề này khi sử dụng ước tính khả năng tối đa - chỉ tôi sử dụng thuật toán Goldstein IGLS như được thực hiện thông qua phần mềm MLwiN chứ không phải LME4 trong R. Tuy nhiên, trong từng trường hợp, vấn đề đã được giải quyết khi tôi chuyển sang ước tính MCMC bằng cách sử dụng tương tự phần mềm. Tôi thậm chí đã có một mối tương quan vượt quá 3 mà giải quyết khi tôi thay đổi ước tính. Sử dụng IGLS, mối tương quan được tính toán ước tính sau khi hiệp phương sai chia cho tích của căn bậc hai của sản phẩm của các phương sai liên quan - và điều này không tính đến độ không đảm bảo trong từng ước tính cấu thành.

Phần mềm IGLS không 'biết' rằng hiệp phương sai ngụ ý một mối tương quan và chỉ tính toán các ước tính của hàm phương sai bậc hai, tuyến tính, bậc hai, v.v. Ngược lại, cách tiếp cận MCMC được xây dựng dựa trên giả định các mẫu từ phân phối chuẩn nhiều biến số tương ứng với phương sai và hiệp phương sai với các đặc tính tốt và tính toán sai số đầy đủ để tính không chắc chắn trong ước lượng của hiệp phương sai được tính đến khi ước tính phương sai và ngược lại.

MLwin là chuỗi ước tính MCMC với ước tính IGLS và ma trận hiệp phương sai xác định không âm có thể cần được thay đổi bằng cách thay đổi hiệp phương sai về 0 ngay từ đầu trước khi bắt đầu lấy mẫu.

Đối với một ví dụ làm việc xem

Phát triển các mô hình đa cấp để phân tích ngữ cảnh, tính không đồng nhất và thay đổi bằng MLwiN 3, Tập 1 (cập nhật tháng 9 năm 2017); Tập 2 cũng có trên RGate

https://www.researchgate.net/publication/320197425_Vol1Training_manualRevisedSept2017

Phụ lục của Chương 10

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.