복잡한 최대 혼합 모형 (주어진 데이터 및 모형에 대해 가능한 모든 랜덤 효과를 추정)을 다룰 때 그리 드물지 않은 발생 은 일부 랜덤 효과 사이에 완벽하거나 (+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 et al., 2017; paper ) 과도하게 매개 변수화 된 계수를 0으로 고정하는 것입니다. 축소 된 모델에서 고정 효과의 현저한 변화가 관찰되면 그 효과를 수용해야합니다. 변경 사항이 없으면 원래 변경 사항을 승인하는 데 아무런 문제가 없습니다.
그러나 RE에 대한 고정 효과 (임의 효과)뿐만 아니라 RE 구조에도 관심이 있다고 가정 해 봅시다. 주어진 경우에, 이론적으로 Intercept
경사 X
가 0이 아닌 음의 상관 관계를 갖는다 고 가정하는 것이 좋습니다. 다음과 같은 몇 가지 질문이 있습니다.
-
그러한 상황에서 어떻게해야합니까? 완벽한 상관 관계를보고하고 데이터가 “실제”상관 관계를 추정하기에 “충분하지 않다”고 말해야합니까? 아니면 0 상관 모델을보고해야합니까? 아니면 “중요한”것이 더 이상 완벽하지 않기 위해 다른 상관 관계를 0으로 설정해야합니까? 나는 여기에 100 % 정답이 없다고 생각합니다. 주로 귀하의 의견을 듣고 싶습니다.
-
다른 매개 변수 간의 상관에 영향을 미치지 않고 2 개의 특정 임의 효과의 상관 관계를 0으로 수정하는 코드를 작성하는 방법은 무엇입니까?
답변
특이 랜덤 효과 공분산 행렬
+1 또는 -1의 랜덤 효과 상관 추정치를 얻는 것은 최적화 알고리즘이 “경계”에 도달했음을 의미합니다. 상관은 +1보다 높거나 -1보다 낮을 수 없습니다. 명시적인 수렴 오류나 경고가 없더라도 이는 실제 상관 관계가 경계에있을 것으로 기대하지 않기 때문에 수렴에 문제가 있음을 나타냅니다. 말했듯이 이것은 일반적으로 모든 매개 변수를 안정적으로 추정하기에 충분한 데이터가 없음을 의미합니다. Matuschek et al. 2017 년 에는이 상황에서 권력이 손상 될 수 있다고 말합니다.
경계에 도달하는 또 다른 방법은 분산 추정치 0을 얻는 것입니다. 왜 데이터의 일부 변동에도 불구하고 혼합 모형에서 랜덤 효과의 분산이 0이됩니까?
두 상황 모두 랜덤 효과의 퇴행 공분산 행렬을 얻는 것으로 볼 수 있습니다 (예 : 출력 공분산 행렬은 ). 제로 분산 또는 완벽한 상관 관계는 공분산 행렬이 전체 순위가 아니며 고유 값 중 하나가 0임을 의미합니다. 이 관찰 은 축퇴 공분산 행렬을 얻는 다른 더 복잡한 방법 이 있음을 즉시 시사합니다 . 하나의 0이나 완벽한 상관 관계없이 공분산 행렬을 가질 수 있지만 그럼에도 불구하고 순위가 부족합니다 (단일). 베이츠 등. 2015 Parsimonious 혼합 모델
4×44×4
(미공개 프리 프린트)는 주성분 분석 (PCA)을 사용하여 획득 된 공분산 행렬이 특이한 지 확인하는 것이 좋습니다. 그렇다면이 상황을 위의 특이한 상황과 동일한 방식으로 처리 할 것을 제안합니다.
그래서 뭘 할건데?
모델의 모든 매개 변수를 안정적으로 추정하기에 충분한 데이터가없는 경우 모델 단순화를 고려해야합니다. 예제 모델을 살펴보면 X*Cond + (X*Cond|subj)
여러 가지 가능한 방법으로 단순화 할 수 있습니다.
-
무작위 효과 중 하나, 일반적으로 가장 높은 상관 관계를 제거하십시오.
X*Cond + (X+Cond|subj)
-
모든 상관 관계 매개 변수를 제거하십시오.
X*Cond + (X*Cond||subj)
업데이트 : @Henrik이 지적한 것처럼
||
구문은 왼쪽의 모든 변수가 숫자 인 경우에만 상관 관계를 제거합니다. 범주 형 변수 (예Cond
:)가 관련된 경우 편리한afex
패키지 (또는 번거로운 수동 해결 방법)를 사용해야합니다 . 자세한 내용은 그의 답변을 참조하십시오. -
다음과 같이 용어를 여러 개로 나눠서 일부 상관 관계 매개 변수를 제거하십시오.
X*Cond + (X+Cond|subj) + (0+X:Cond|subj)
- 예를 들어 제안한대로 특정 상관 관계 (경계에 도달하는 상관 관계)를 0으로 설정하여 공분산 행렬을 특정 방식으로 제한합니다.
lme4
이를 달성하기위한 기본 제공 방법은 없습니다 . 스마트 해킹을 통해이를 달성하는 방법에 대한 데모는 @BenBolker의 SO에 대한 답변을 참조하십시오 .
당신이 말한 것과 반대로, 나는 Matuschek et al. 2017 년은 특히 # 4를 권장합니다. Matuschek 등의 요지. 2017 및 Bates et al. 2015 년은 일명 La a Barr et al. 2,013 공분산 행렬이 풀 랭크 될 때까지 다음의 복잡성을 감소시킨다. (또한, 전력을 증가시키기 위해 복잡성을 훨씬 더 줄이는 것이 좋습니다.) 업데이트 : 대조적으로 Barr et al. 모델이 수렴하지 않은 경우에만 복잡성을 줄이는 것이 좋습니다. 그들은 단일 공분산 행렬을 용인하려고합니다. @Henrik의 답변을 참조하십시오.
Bates / Matuschek에 동의한다면, “최소 손상”을하면서 작업을 수행하는 것을 찾기 위해 복잡성을 줄이는 여러 가지 방법을 시도하는 것이 좋습니다. 위의 목록을 보면 원래 공분산 행렬에는 10 개의 매개 변수가 있습니다. # 1에는 6 개의 매개 변수가 있고 # 2에는 4 개의 매개 변수가 있으며 # 3에는 7 개의 매개 변수가 있습니다. 완벽한 상관 관계를 제거하는 모델은 적합하지 않으면 말할 수 없습니다.
그러나이 매개 변수에 관심이 있다면 어떻게합니까?
상기 논의는 랜덤 효과 공분산 행렬을 방해 파라미터로 취급한다. 의미있는 전체 순위 솔루션을 얻기 위해 “포기해야하는”상관 관계 매개 변수에 특히 관심이있는 경우 수행 할 작업에 대한 흥미로운 질문을합니다.
상관 관계 매개 변수를 0으로 고정해도 상관 관계가없는 BLUP ( ranef
)이 반드시 생성되는 것은 아닙니다 . 사실, 그들은 전혀 그다지 영향을받지 않을 수도 있습니다 ( 시연에 대한 @Placidia의 답변 참조 ). 따라서 한 가지 옵션은 BLUP의 상관 관계를보고이를보고하는 것입니다.
매력적이지 않은 또 다른 옵션은 치료 subject
를 고정 된 효과로 사용 Y~X*cond*subj
하고 각 주제에 대한 추정치를 구하고 이들 간의 상관 관계를 계산하는 것입니다. 이는 Y~X*cond
각 주제에 대해 별도의 회귀 분석 을 실행 하고 이들로부터 상관 추정치를 얻는 것과 같습니다 .
Ben Bolker 혼합 모델 FAQ의 단일 모델 에 대한 섹션 도 참조하십시오 .
과적 합 혼합 모델의 경우 단일 적합을 얻는 것이 매우 일반적입니다. 기술적으로 특이점은 Cholesky 인수의 대각선 요소에 해당하는 (분산-공분산 Cholesky 분해) 파라미터 중 일부 가 정확히 0이며, 이는 실현 가능한 공간의 가장자리이거나 분산-공분산 행렬에 0이 있음을 의미합니다. 고유 값 (즉, 양의 한정이 아닌 양의 반정의 값) 또는 일부 분산이 0으로 추정되거나 일부 상관이 +/- 1로 추정되는 경우 (거의 동등하게)
θ
답변
이 문제에 대한 현재 논의에 대한 요약을 제공하는 amoeba의 답변에 언급 된 모든 내용에 동의합니다. 나는 몇 가지 추가 포인트를 추가하려고 노력하고, 그렇지 않으면 최근 포인트를 요약 한 최근 혼합 모델 코스 의 유인물 을 참조 할 것입니다.
매개 변수가 아닌 ||
수치 적 공변량에 대해서만 작용 하여 상관 관계 매개 변수 (amoeba의 답에서 옵션 2와 3)를 억제합니다 lmer
. 이에 대해서는 Reinhold Kliegl의 코드를 통해 자세히 설명 합니다.
그러나 내 afex
패키지는 expand_re = TRUE
호출에 인수가 있는
경우 요인 간의 상관 관계를 억제하는 기능을 제공합니다 (함수 mixed()
참조 lmer_alt()
). 그것은 본질적으로 Reinhold Kliegl에 의해 논의 된 접근법을 구현함으로써 (즉, 요인들을 수치 적 공변량으로 변환하고 그에 대한 랜덤 효과 구조를 지정함으로써) 그렇게합니다.
간단한 예 :
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
모르는 사람들을 afex
위해 혼합 모델의 주요 기능은 다음과 같이 고정 효과에 p- 값을 제공하는 것입니다.
(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
# [...]
Barr 등의 Dale Barr. (2013) 논문은 amoeba의 답변에 제시된 것보다 무작위 효과 구조를 줄이는 것을 권장하는 데 더 신중합니다. A의 최근 트위터 교환 그가 쓴 :
- “모델을 줄이면 알 수없는 반 보존 위험이 발생하므로주의해서 수행해야합니다.” 과
- “저의 주요 관심사는 사람들이 모델 축소와 관련된 위험을 이해하고이 위험을 최소화하려면 일반적으로 채택되는 것보다 더 보수적 인 접근이 필요하다는 것입니다 (예 : 0.05에서 테스트 된 각 기울기).”
따라서주의를 기울여야합니다.
검토 자 중 한 사람으로서 나는 우리가 왜 Bates et al. 에 대한 통찰력을 제공 할 수 있습니다 . (2015) 종이는 아직 출판되지 않은 채 남아있었습니다. 나와 다른 두 명의 검토 자 (서명했지만 이름을 밝히지 않을 것임)는 PCA 접근 방식에 대해 약간의 비판을 받았습니다 (원칙적으로 보이지 않으며 권력면에서 우수하다는 증거는 없습니다). 또한, 나는이 논문이 무작위 효과 구조를 지정하는 방법에 관한 문제가 아니라 GAMM을 도입하려한다고 비난했다고 생각한다. 따라서 Bates 등 (2015) 논문은 Matuschek 등 으로 변형되었다 . (2017) 논문은 시뮬레이션과 Baayen 등 의 랜덤 효과 구조 문제를 다루고 있다. (2017) GAMM 소개 논문.
Bates et al.에 대한 나의 전체 리뷰 초안은 여기 에서 찾을 수 있습니다 . IIRC, 다른 리뷰는 비슷한 요점을 가지고있었습니다.
답변
최대 가능성 추정을 사용할 때도이 문제가 발생했습니다 .R의 LME4가 아닌 MLwiN 소프트웨어를 통해 구현 된 Goldstein IGLS 알고리즘 만 사용합니다. 그러나 각각의 경우에 동일한 것을 사용하여 MCMC 추정으로 전환하면 문제가 해결되었습니다 소프트웨어. 나는 심지어 3을 초과하는 상관 관계를 가졌으며 추정을 변경했을 때 해결되었습니다. IGLS를 사용하여 공분산을 관련 분산의 곱의 제곱근 곱으로 나눈 값으로 추정 한 후 상관을 계산합니다. 이는 각 성분 추정치의 불확실성을 고려하지 않습니다.
IGLS 소프트웨어는 공분산이 상관 관계를 암시하고 상수, 선형, 2 차 등 분산 함수의 추정값 만 계산한다는 것을 ‘인식’하지 않습니다. 대조적으로 MCMC 접근법은 좋은 특성과 전체 오차 전파를 갖는 분산 및 공분산에 해당하는 다변량 정규 분포의 표본을 가정하여 구축되므로 공분산 추정의 불확실성이 분산 추정에서 고려됩니다. 그 반대.
MLwin은 IGLS 추정치가있는 MCMC 추정 체인이므로 음수가 아닌 유한 분산 공분산 행렬은 샘플링을 시작하기 전에 처음에 공분산을 0으로 변경하여 변경해야 할 수 있습니다.
작동하는 예제를 보려면
MLwiN 3, Volume 1 (2017 년 9 월 업데이트)을 사용하여 상황, 이질성 및 변화를 분석하기위한 다단계 모델 개발; 볼륨 2도 RGate에 있습니다.
https://www.researchgate.net/publication/320197425_Vol1Training_manualRevisedSept2017
10 장 부록