1 또는 -1에 해당하는 임의 효과 상관 관계로 수행 할 작업은 무엇입니까?


9

복잡한 최대 혼합 모형 (주어진 데이터 및 모형에 대해 가능한 모든 랜덤 효과를 추정)을 다룰 때 그리 드물지 않은 발생 은 일부 랜덤 효과 사이에 완벽하거나 (+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이 아닌 음의 상관 관계를 갖는다 고 가정하는 것이 좋습니다. 다음과 같은 몇 가지 질문이 있습니다.

  1. 그러한 상황에서 어떻게해야합니까? 완벽한 상관 관계를보고하고 데이터가 "실제"상관 관계를 추정하기에 "충분하지 않다"고 말해야합니까? 아니면 0 상관 모델을보고해야합니까? 아니면 "중요한"것이 더 이상 완벽하지 않기 위해 다른 상관 관계를 0으로 설정해야합니까? 나는 여기에 100 % 정답이 없다고 생각합니다. 주로 귀하의 의견을 듣고 싶습니다.

  2. 다른 매개 변수 간의 상관에 영향을 미치지 않고 2 개의 특정 임의 효과의 상관 관계를 0으로 수정하는 코드를 작성하는 방법은 무엇입니까?


패키지 nlme는 랜덤 효과의 분산-공분산 행렬에 대한 미세한 제어를 제공합니다. 나는 실제로 이것을 직접 필요로하지는 않았지만, 내가했다면 S와 S-PLUS의 혼합 효과 모델 (Pinheiro and Bates, 2000)을 다시 읽을 것이다 .
Roland

3
급진적 인 대안은 즉, 임의 효과의 구조에 어느 정도 정보 전과 (예를 통해 함께 베이지안 모델에 맞는 모델을 정례화하는 것입니다 blme, MCMCglmm, rstanarm, brms...)
벤 Bolker

@BenBolker 벤.
정규화

큰 답변을 주셔서 감사합니다 ... 불행히도, 나는 며칠 동안 오프라인 상태 였지만 돌아 왔습니다.
33268

답변:


13

특이 랜덤 효과 공분산 행렬

+1 또는 -1의 랜덤 효과 상관 추정치를 얻는 것은 최적화 알고리즘이 "경계"에 도달했음을 의미합니다. 상관은 +1보다 높거나 -1보다 낮을 수 없습니다. 명시적인 수렴 오류나 경고가 없더라도 이는 실제 상관 관계가 경계에있을 것으로 기대하지 않기 때문에 수렴에 문제가 있음을 나타냅니다. 말했듯이 이것은 일반적으로 모든 매개 변수를 안정적으로 추정하기에 충분한 데이터가 없음을 의미합니다. Matuschek et al. 2017 년 에는이 상황에서 권력이 손상 될 수 있다고 말합니다.

경계에 도달하는 또 다른 방법은 분산 추정치 0을 얻는 것입니다. 왜 데이터의 일부 변동에도 불구하고 혼합 모형에서 랜덤 효과의 분산이 0이됩니까?

두 상황 모두 랜덤 효과의 퇴행 공분산 행렬을 얻는 것으로 볼 수 있습니다 (예 : 출력 공분산 행렬은 ). 제로 분산 또는 완벽한 상관 관계는 공분산 행렬이 전체 순위가 아니며 고유 값 중 하나가 0임을 의미합니다. 이 관찰 은 축퇴 공분산 행렬을 얻는 다른 더 복잡한 방법 이 있음을 즉시 시사합니다 . 하나의 0이나 완벽한 상관 관계없이 공분산 행렬을 가질 수 있지만 그럼에도 불구하고 순위가 부족합니다 (단일). 베이츠 등. 2015 Parsimonious 혼합 모델4×44×4(미공개 프리 프린트)는 주성분 분석 (PCA)을 사용하여 획득 된 공분산 행렬이 특이한 지 확인하는 것이 좋습니다. 그렇다면이 상황을 위의 특이한 상황과 동일한 방식으로 처리 할 것을 제안합니다.

그래서 뭘 할건데?

모델의 모든 매개 변수를 안정적으로 추정하기에 충분한 데이터가없는 경우 모델 단순화를 고려해야합니다. 예제 모델을 살펴보면 X*Cond + (X*Cond|subj)여러 가지 가능한 방법으로 단순화 할 수 있습니다.

  1. 무작위 효과 중 하나, 일반적으로 가장 높은 상관 관계를 제거하십시오.

    X*Cond + (X+Cond|subj)
  2. 모든 상관 관계 매개 변수를 제거하십시오.

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

    업데이트 : @Henrik이 지적한 것처럼 ||구문은 왼쪽의 모든 변수가 숫자 인 경우에만 상관 관계를 제거합니다. 범주 형 변수 (예 Cond:)가 관련된 경우 편리한 afex패키지 (또는 번거로운 수동 해결 방법)를 사용해야합니다 . 자세한 내용은 그의 답변을 참조하십시오.

  3. 다음과 같이 용어를 여러 개로 나눠서 일부 상관 관계 매개 변수를 제거하십시오.

    X*Cond + (X+Cond|subj) + (0+X:Cond|subj)
  4. 예를 들어 제안한대로 특정 상관 관계 (경계에 도달하는 상관 관계)를 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로 추정되는 경우 (거의 동등하게)θ


1
내 예가 보여주는 것은의 (Machine||Worker) lmer경우보다 하나의 분산 을 추정 한다는 것입니다 (Machine|Worker). 그래서 무엇을 lmer위해하는 ||요인에 의해 설명 될 수 없습니다와 '이것은 단지 요인 간의 상관 관계 아니지만 범주 요인의 수준 사이에 제거합니다.' 그것은 다소 특이한 방법 랜덤 효과 구조를 변경 (이는 확장 (Machine||Worker)(1|Worker) + (0+Machine|Worker)따라서 추가로 분산). 편집 내용을 자유롭게 변경하십시오. 저의 주요 요점은이 진술에서 수치 적 공변량과 범주 형 공변량의 구별이 명확해야한다는 것입니다.
Henrik

1
아니요, 이진 변수와도 작동하지 않습니다 machines2 <- subset(Machines, Machine %in% c("A", "B")); summary(lmer(score ~ Machine + (Machine || Worker), data=machines2)). 직접 참조하십시오 .. 일반적으로이 확장으로 인해 요인과 작동하지 않으며의 요인 R을 처리 하는 방식이 다릅니다 model.matrix.
Henrik

@amoeba : ranef임의 효과 사이의 상관 관계를 연구하기위한 값 으로 바꾸는 것이 좋습니다. 나는이 주제에 너무 깊이 빠져 있지는 않지만 추출 된 값으로 작업하는 ranef것이 아니라 추정 된 상관 관계와 분산 으로 작업하는 것이 좋습니다 . 그것에 대한 당신의 의견은 무엇입니까? 또한 모델의 상관 관계가 가정되지 않았 음을 검토 자에게 설명하는 방법을 모르겠지만 추출 된 값의 상관 관계를 여전히 계산합니다. 이해가되지 않습니다
User33268

1
@RockyRaccoon 예, 추정 된 상관 관계 매개 변수를 사용 /보고하는 것이 더 낫다고 생각하지만 여기서는 1로 수렴하기 때문에 추정 할 수없는 상황에 대해 이야기하고 있습니다 . corr = 1로 해결하기 위해 [citations]의 권고에 따라 축소 된 모델 [details]을 사용했습니다.이 모델에서 랜덤 효과 BLUP 간의 상관 관계는 0.9입니다. " 다시 말하지만, 상관 관계를 포함하지 않으면 상관 관계가없는 것으로 취급하도록 모델을 제한하지 않습니다! 이 상관 관계를 명시 적으로 모델링 하지 않습니다 .
amoeba

나는 0에 가까운 분산과 랜덤 효과의 완벽하고 완벽한 완벽한 상관 관계가 매개 변수의 실제 가치에 대해 암시합니까? 예를 들어, -1 상관 관계는 실제 상관 관계가 최소한 음수이거나 적어도 0이 아닌 것을 의미합니까? 보다 구체적으로, 실제로 0 인 상관 관계를 추정하려고하면 -1 추정이 가능합니까?
33268

9

이 문제에 대한 현재 논의에 대한 요약을 제공하는 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, 다른 리뷰는 비슷한 요점을 가지고있었습니다.


확인. 그런 다음 몇 가지 작은 편집 / 업데이트를 삽입하여 일부 요점을 명확히 할 수 있습니다. 베이츠 프리 프린트와 관련하여 다양한 측면에서 차선책 일 수 있습니다. 그러나 나는 Bates et al.에 전적으로 동의합니다. 단일 공분산 행렬은 + 1 / -1의 상관 과 정확히 같은 문제 입니다. 수학적으로 차이는 없습니다. 그래서 경우에 우리는 완벽한 상관 관계 손상의 전원을 수락 한 후 우리는 단일 외부 전문가위원회의 매우주의해야합니다. 그것을 보여주는 명백한 시뮬레이션이없는 경우에도. 나는 그것이 "원칙"이라는 것에 동의하지 않습니다.
amoeba

@amoeba lmer_alt기본적으로 똑같이 작동 lmer(또는 심지어 glmer는 할 수있는 유일한 차이) ||구문을. 그래서 왜 당신이 afex모든 비용 을 피하고 싶은지 잘 모르겠습니다 . 첨부하지 않고 작동해야합니다 (예 :) afex::lmer_alt(...).
Henrik

@amoeba 기본적으로 Reinhold Kliegl이 코드에 기술 한 접근 방식 (즉, 랜덤 효과 확장)입니다. 수식의 각 랜덤 효과 항에 대해 모형 행렬이 만들어집니다 (즉, 요인을 숫자 공변량으로 변환). 이 model.matrix는 cbind데이터에 대한 것입니다. 그런 다음 공식의 랜덤 효과 항은 새로 작성된 각 열이 +로 연결된 새로운 항으로 대체됩니다. github.com/singmann/afex/blob/master/R/mixed
Henrik

왼쪽의 범주 형 변수와 관련 ||하여이 변수를 가져 와서 설명해 주셔서 감사합니다 (반드시 답변을 수정했습니다). 나는이 기능처럼 lmer_alt의를 afex. 여기서는 lmer추가적인 전처리없이 바닐라 호출로 동일한 출력을 얻는 것과 같은 완전성을 언급 할 것입니다 (예 : 지정할 수 있음) (1+dummy(Machine,'B')+dummy(Machine,'C') || Worker). 범주 형 변수에 여러 수준이있는 경우 이는 매우 번거 롭습니다.
amoeba

2
@amoeba dummy()무작위 효과가 0에서 0까지 대비를 사용하는 경우 (모델이 상호 작용을하는 경우 사용해야 함)가 아니라 기본 처리 대비 만 사용하는 방법을 사용하는 것이 중요합니다 . 예를 들어, 위 예제에서 분산 구성 요소를 lmer_alt호출과 호출과 비교하면 볼 수 있습니다 mixed.
Henrik

1

최대 가능성 추정을 사용할 때도이 문제가 발생했습니다 .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 장 부록

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.