lmer로부터 자유도 확보


11

나는 출력을 구성했지만 다음과 같은 lmer 모델을 적합시켰다.

Random effects:
 Groups        Name        Std.Dev.
 day:sample (Intercept)    0.09
 sample        (Intercept) 0.42
 Residual                  0.023 

다음 공식을 사용하여 각 효과에 대한 신뢰 구간을 만들고 싶습니다.

(n1)s2χα/2,n12,(n1)s2χ1α/2,n12

자유도를 편리하게 얻을 수있는 방법이 있습니까?


1
lmerTest 확인하고 싶다고 생각합니다 . 고정 효과 (예 : Satterthwaite , Kenward-Roger 등) 에 대해 혼합 효과 모델에서 df를 근사하기위한 많은 근사치가 있습니다 . 귀하의 경우 인생을 지나치게 복잡하게 만드는 것 같습니다. 각 효과가 가우스 인 것으로 가정합니다. 표준 편차를 사용하여 선택한 신뢰 구간을 얻으십시오.
usεr11852

3
@ usεr11852 혼합 효과 모델에서는 각 효과가 가우스 인 것으로 가정하지만 모수는 평균이 아닌 가우스 분포의 분산입니다. 따라서 추정기의 분포가 매우 비뚤어지고 표준 ± 2 표준 편차 신뢰 구간이 적합 하지 않습니다 .
Karl Ove Hufthammer

1
@KarlOveHufthammer : 당신은 이것을 지적 할 권리가 있습니다; 나는 당신 (그리고 아마도 OP)이 무엇을 의미하는지 안다. 나는 그가 자유도를 언급하면서 무작위 효과의 수단 및 / 또는 실현에 대해 우려하고 있다고 생각했다.
usεr11852

혼합 모델에 대한 자유도는 "문제"입니다. stat.ethz.ch/pipermail/r-help/2006-May/094765.htmlstats.stackexchange.com/questions/84268/…
Tim

답변:


17

대신 프로필 우도 신뢰 구간을 만들려고 합니다 . 'lme4'패키지를 사용하여 신뢰할 수 있고 계산하기가 매우 쉽습니다. 예:

> library(lme4)
> fm = lmer(Reaction ~ Days + (Days | Subject),
            data=sleepstudy)
> summary(fm)
[]
Random effects:
 Groups   Name        Variance Std.Dev. Corr
 Subject  (Intercept) 612.09   24.740       
          Days         35.07    5.922   0.07
 Residual             654.94   25.592       

이제 confint()함수를 사용하여 프로파일 가능성 신뢰 구간을 계산할 수 있습니다 .

> confint(fm, oldNames=FALSE)
Computing profile confidence intervals ...
                               2.5 %  97.5 %
sd_(Intercept)|Subject        14.381  37.716
cor_Days.(Intercept)|Subject  -0.482   0.685
sd_Days|Subject                3.801   8.753
sigma                         22.898  28.858
(Intercept)                  237.681 265.130
Days                           7.359  13.576

파라 메트릭 부트 스트랩을 사용하여 신뢰 구간을 계산할 수도 있습니다. 다음은 R 구문입니다 ( parm인수를 사용하여 신뢰 구간을 원하는 매개 변수를 제한 함).

> confint(fm, method="boot", nsim=1000, parm=1:3)
Computing bootstrap confidence intervals ...
                              2.5 % 97.5 %
sd_(Intercept)|Subject       11.886 35.390
cor_Days.(Intercept)|Subject -0.504  0.929
sd_Days|Subject               3.347  8.283

결과는 각 실행마다 자연스럽게 다릅니다. nsim이 변동을 줄이려면 늘릴 수 있지만 신뢰 구간을 추정하는 데 걸리는 시간도 늘어납니다.


1
좋은 답변입니다 (+1). 또한 이 경우 파라 메트릭 부트 스트랩 에서 CI를 가져올 수 있다는 사실도 언급합니다 . 이 에는 이 문제에 대한 매우 흥미로운 토론 이 포함되어 있습니다.
usεr11852

@ usεr11852 제안 해 주셔서 감사합니다. 파라 메트릭 부트 스트랩을 사용하여 예제를 추가했습니다.
Karl Ove Hufthammer

6

혼합 모형의 자유도는 "문제"입니다. 더 자세히 읽으 려면 Douglas Bates 의 lmer, p- 값 및 모든 게시물을 확인할 수 있습니다 . 또한 r-sig-mixed-models FAQ 는 그것이 귀찮은 이유를 요약합니다 :

  • 일반적으로 계산 된 제곱합의 비율의 널 분포가 분모 자유도를 선택할 때 실제로 F 분포인지는 확실하지 않습니다. 이는 전형적인 실험 설계 (중첩, 분할 플롯, 무작위 블록 등)에 해당하는 특수한 경우에 해당하지만보다 복잡한 설계 (불균형, GLMM, 시간적 또는 공간적 상관 관계 등)에는 해당되지 않습니다.
  • 제안 된 각각의 간단한 자유도 레시피 (모자 행렬의 추적 등)에 대해 레시피가 잘못 실패하는 하나 이상의 상당히 간단한 반례가있는 것 같습니다.
  • 제안 된 다른 df 근사법 (Satterthwaite, Kenward-Roger 등)은 lme4 / nlme,
    (...) 에서 구현하기가 상당히 어려울 것입니다.
  • lme4의 1 차 저자는 대략적인 널 분포를 참조하여 테스트하는 일반적인 접근법의 유용성을 확신하지 못하기 때문에 관련 기능 (패치 또는 추가로)을 사용하기 위해 코드를 파는 다른 사람의 오버 헤드 때문에 -on),이 상황은 향후 변경 될 것 같지 않습니다.

FAQ는 또한 대안을 제공합니다

  • GLMM의 경우 MASS :: glmmPQL (SAS 'inner-outer'규칙과 거의 동일한 이전 nlme 규칙 사용) 또는 LMM의 경우 (n) lme 사용
  • 표준 규칙 (표준 설계의 경우)에서 분모 df를 추측하여 t 또는 F 테스트에 적용
  • lme에서 모델을 실행하고 (가능한 경우) t 또는 F 테스트에 적용되는 여기에보고 된 분모 df (단순 / 직교 설계에 대한 정식 답변에 해당하는 간단한 '내부'규칙을 따릅니다)를 사용하십시오. lme가 사용하는 규칙을 명시 적으로 지정하려면 Pinheiro 및 Bates의 91 페이지를 참조하십시오.이 페이지는 Google 도서에서 제공됩니다.
  • SAS, Genstat (AS-REML), Stata를 사용하십니까?
  • 그룹 수가 많은 경우 무한 분모 df (즉, t / F가 아니라 Z / chi-squared test)를 가정합니다 (> 45? ``대부분 무해한 계량 경제학 ''], 42 (더글러스 아담스에게 경의를 표함)

그러나 신뢰 구간에 관심이있는 경우 Karl Ove Hufthammer 가 제안한 부트 스트랩 또는 FAQ에서 제안 된 부트 스트랩을 기반으로하는 더 나은 접근 방법 이 있습니다.


"표준 규칙 (표준 설계의 경우)에서 분모 df를 추측하여 t 또는 F 테스트에 적용합니다."; 누군가가 그것에 대해 자세히 설명하고 싶습니다. 예를 들어, 중첩 된 설계 (예 : 환자 대 대조군, 피험자 당 여러 샘플, 피험자 ID가 무작위 효과 인 경우)의 경우 그러한 설계에 대한 자유도는 어떻게 얻습니까?
Arnaud A
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.