如何處理等於 1 或 -1 的隨機效應相關性?
在處理複雜的最大混合模型(估計給定數據和模型的所有可能隨機效應)時,這種情況並不罕見,在某些隨機效應之間是完美的(+1 或 -1)或幾乎完美的相關性。為了討論的目的,讓我們觀察以下模型和模型摘要
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 ***
這些完美相關性背後的假定原因是我們創建了一個模型,對於我們擁有的數據來說太複雜了。在這些情況下給出的常見建議是(例如,Matuschek 等人,2017 年;論文)將過度參數化的係數固定為 0,因為這種退化模型往往會降低功效。如果我們在簡化模型中觀察到固定效應的顯著變化,我們應該接受那個;如果沒有變化,那麼接受原來的沒有問題。
但是,假設我們不僅對 RE 控制的固定效應(隨機效應)感興趣,而且對 RE 結構感興趣。在給定的情況下,理論上可以假設
Intercept
和斜率X
具有非零負相關。幾個問題如下:
- 在這種情況下該怎麼辦?我們是否應該報告完美的相關性並說我們的數據“不夠好”來估計“真實”的相關性?還是我們應該報告 0 相關模型?或者我們是否應該嘗試將其他相關性設置為 0,以希望“重要”的相關性不再完美?我不認為這裡有任何 100% 正確的答案,我主要想听聽您的意見。
- 如何編寫將 2 個特定隨機效應的相關性固定為 0 的代碼,而不影響其他參數之間的相關性?
奇異隨機效應協方差矩陣
獲得+1或-1的隨機效應相關性估計意味著優化算法達到了“邊界”:相關性不能高於+1或低於-1。即使沒有明確的收斂錯誤或警告,這也可能表明收斂存在一些問題,因為我們不期望真正的相關性位於邊界上。正如您所說,這通常意味著沒有足夠的數據來可靠地估計所有參數。馬圖舍克等人。2017說,在這種情況下,權力可能會受到影響。
達到邊界的另一種方法是獲得 0 的方差估計:為什麼我的混合模型中隨機效應的方差為零,儘管數據有一些變化?
這兩種情況都可以看作是獲得隨機效應的退化協方差矩陣(在您的示例中,輸出協方差矩陣是); 零方差或完全相關意味著協方差矩陣不是滿秩的,並且[至少]其中一個特徵值為零。這一觀察立即表明,還有其他更複雜的方法來獲得退化協方差矩陣:可以有一個協方差矩陣沒有任何零點或完全相關,但仍然秩不足(奇異)。貝茨等人。2015 Parsimonious Mixed Models(未發表的預印本)推薦使用主成分分析(PCA)來檢查獲得的協方差矩陣是否是奇異的。如果是,他們建議以與上述單一情況相同的方式處理這種情況。
那麼該怎麼辦?
如果沒有足夠的數據來可靠地估計模型的所有參數,那麼我們應該考慮簡化模型。以您的示例模型為例
X*Cond + (X*Cond|subj)
,有多種可能的方法可以簡化它:
- 去除其中一種隨機效應,通常是最高階相關:
X*Cond + (X+Cond|subj)
- 去掉所有相關參數:
X*Cond + (X*Cond||subj)
更新:正如@Henrik 所指出的,
||
只有在其左側的所有變量都是數字的情況下,該語法才會刪除相關性。如果涉及分類變量(例如Cond
),則應該使用他方便的afex
包(或繁瑣的手動解決方法)。有關更多詳細信息,請參閱他的答案。 3. 通過將術語分成幾個來擺脫一些相關參數,例如:X*Cond + (X+Cond|subj) + (0+X:Cond|subj)
- 以某種特定方式約束協方差矩陣,例如,按照您的建議,將一個特定的相關性(觸及邊界的相關性)設置為零。沒有內置的方法
lme4
可以實現這一點。請參閱@BenBolker 對 SO 的回答,了解如何通過一些智能黑客來實現這一目標。與你所說的相反,我不認為Matuschek 等人。2017特別推薦#4。Matuschek 等人的要點。2017 年和貝茨等人。2015 年似乎是從最大模型 a la Barr 等人開始的。2013然後降低複雜度,直到協方差矩陣滿秩。(此外,他們通常會建議進一步降低複雜性,以增加功率。)更新:相比之下,Barr 等人。建議僅在模型未收斂時降低複雜度;他們願意容忍奇異的協方差矩陣。請參閱@Henrik 的回答。
如果有人同意 Bates/Matuschek,那麼我認為可以嘗試不同的方法來降低複雜性,以便找到能夠在“損害最小”的同時完成工作的方法。看我上面的列表,原來的協方差矩陣有 10 個參數;#1 有 6 個參數,#2 有 4 個參數,#3 有 7 個參數。如果不擬合它們,就不可能說哪種模型會擺脫完美的相關性。
但是如果你對這個參數感興趣怎麼辦?
上述討論將隨機效應協方差矩陣視為令人討厭的參數。如果您對必須“放棄”以獲得有意義的全等級解決方案的相關參數特別感興趣,您會提出一個有趣的問題。
請注意,將相關參數固定為零不一定會產生
ranef
不相關的 BLUP ( );實際上,它們甚至可能根本不會受到太大影響(請參閱@Placidia 的演示答案)。因此,一種選擇是查看 BLUP 的相關性並進行報告。另一個可能不太有吸引力的選擇是使用treat
subject
as a fixed effectY~X*cond*subj
,獲取每個主題的估計值併計算它們之間的相關性。這相當於Y~X*cond
對每個主題分別運行單獨的回歸併從中獲得相關估計。
另請參閱Ben Bolker 的混合模型常見問題解答中關於奇異模型的部分:
過度擬合的混合模型導致奇異擬合是很常見的。從技術上講,奇點意味著一些(方差-協方差Cholesky分解)Cholesky因子的對角元素對應的參數正好為零,是可行空間的邊緣,或者等價於方差-協方差矩陣有一些零特徵值(即是半正定而不是正定),或(幾乎等價地)一些方差估計為零或一些相關性估計為 +/-1。