예측을 위해 lmer 사용


18

안녕하세요, 멀티 레벨 / 믹스 모델의 자연스러운 후보처럼 들리는 두 가지 문제가 있습니다. 더 간단하고 소개하려고 시도하는 것은 다음과 같습니다. 데이터는 여러 행의 행처럼 보입니다.

x y innergroup outergroup

여기서 x는 y를 회귀시키려는 숫자 공변량입니다 (다른 숫자 변수). 각 y는 내부 그룹에 속하고 각 내부 그룹은 외부 그룹에 중첩됩니다 (즉, 주어진 내부 그룹의 모든 y는 동일한 외부 그룹에 속함) . 불행히도 내부 그룹에는 많은 수준 (수천)이 있으며 각 수준에는 y에 대한 관측치가 상대적으로 적으므로 이런 종류의 모델이 적합 할 것이라고 생각했습니다. 내 질문은

  1. 이런 종류의 다단계 공식을 작성하려면 어떻게해야합니까?

  2. 일단 lmer 맞는 모델, 어떻게 하나 그것에서 예측 가야합니까? 더 간단한 장난감 예제를 보았지만 predict () 함수를 찾지 못했습니다. 대부분의 사람들은 이런 종류의 기술로 예측하는 것보다 추론에 더 관심이있는 것 같습니다. 수백만 개의 행이 있으므로 계산이 문제가 될 수 있지만 항상 적절하게 줄일 수 있습니다.

나는 잠시 동안 두 번째 일을 할 필요는 없지만 그것에 대해 생각하고 놀기 시작할 수도 있습니다. 이전과 비슷한 데이터가 있지만 x가 없으며 y는 이제 형식의 이항 변수입니다 . y는 내부 그룹 내에서도 많은과 분산을 나타냅니다. 대부분은 2 또는 3 이하 (또는 그 이하)이므로 베타 이항 수축 추정기 사용하고있는 각 의 성공률 추정치를 도출하기 위해 여기서 및(,케이)와이나는(α+ki)/(α+β+ni)αβ각 내부 그룹에 대해 MLE에 의해 개별적으로 추정됩니다. 이것은 다소 적합하지만 데이터 희소성으로 인해 여전히 괴로움을 느끼므로 사용 가능한 모든 데이터를 사용하고 싶습니다. 한 관점에서, 공변량이 없기 때문에이 문제가 더 쉬워 지지만, 다른 이항성으로 인해 더 어려워집니다. 누구든지 높은 수준 (또는 낮은 수준)의 지침을 가지고 있습니까?


수축 공식에 삽입 한 괄호가 원하는 위치에 있는지 확인하십시오.
whuber

1
질문의 두 번째 부분 (이진 변수 포함)이 별도의 질문이 아니어야합니까?
chl

답변:


17

R 공식을 사용한 표현 요인 관계는 Wilkinson의 표기법에서 따릅니다. 여기서 '*'는 교차 및 '/'중첩을 나타내지 만 혼합 효과 모델 또는보다 일반적으로 임의의 효과에 대한 공식이 처리되는 방식에는 일부 특수성이 있습니다. 예를 들어, 두 개의 교차 임의 효과는로 표시 될 수 있습니다 (1|x1)+(1|x2). 나는 클래스가 학교에 중첩되어있는 것처럼 (주에 중첩 된 것처럼) 중첩의 경우로 설명을 해석 했으므로 기본 수식 lmer은 다음과 같습니다 (달리 명시되지 않는 한 gaussian가족이 기본적으로 사용됨).

y ~ x + (1|A:B) + (1|A)

여기서 A와 B는 각각 내부 요인과 외부 요인에 해당합니다. B는 A 내에 중첩되며 둘 다 임의 요인으로 처리됩니다. 이전 nlme 패키지에서 이는 다음과 같은 내용 lme(y ~ x, random=~ 1 | A/B)입니다. A를 고정 인수로 간주하려면 수식을 읽어야 y ~ x + A + (1|A:B)합니다.

그러나 lme4 패키지에 대한 D. Bates의 사양 ( 예 : 다음 교과서, lme4 : R을 사용한 혼합 효과 모델링 또는 동일한 웹 페이지에서 사용 가능한 많은 유인물)을 보다 정확하게 확인할 가치가 있습니다. 특히, 선형 혼합 효과 모델 피팅, R의 lme4 패키지에 이러한 중첩 관계에 대한 예가 있습니다. John Maindonald의 튜토리얼은 R 's lme4 Package를 사용한 혼합 모델 분석의 해부도 제공 합니다. 마지막으로, lme4 구현 에 관한 R vignette의 섹션 3 에는 중첩 구조 분석의 예가 포함됩니다.

lme4 에는 predict()기능 이 없습니다(이 기능은 현재 존재하며 아래 주석 참조) 추정 고정 ?fixef및 임의 ?ranef효과를 사용하여 예측 된 개별 값을 계산해야 하지만 lme4의 예측 기능 부족 에 대한이 스레드도 참조하십시오 . mcmcsamp()함수를 사용하여 사후 분포에서 표본을 생성 할 수도 있습니다. 때로는 충돌 할 수 있습니다. 자세한 업데이트 정보 는 sig-me 메일 링리스트를 참조하십시오.


3
업데이트 : lme4이제 예측 기능을 내부 -r.org/packages/cran/lme4/docs/predict.mermod에 포함
Bar

여기에 사용할 수 predict.merMod에 대한 설명서 : rdocumentation.org/packages/lme4/versions/1.1-12/topics/...
DirtStats


5

Zelig 에서 "logit.mixed"함수를 사용합니다.이 함수는 lime4 의 래퍼이며 예측 및 시뮬레이션을 수행하는 데 매우 편리합니다.


zelig에는 logit.mixed에 대한 predcit () 메소드가없는 것 같습니다.
nassimhddd

3

lme4의 개발 버전에는 내장 예측 기능 (predict.merMod)이 있습니다. https://github.com/lme4/lme4/ 에서 찾을 수 있습니다 .

"lme4 r-forge 저장소의 최신 개발 바이너리"를 설치하는 코드는 위 페이지에서 찾을 수 있습니다.

install.packages("lme4", repos=c("http://lme4.r-forge.r-project.org/repos", getOption("repos")["CRAN"]))

1
이 버전은 더 이상 개발 버전이 아니며 predict몇 년 동안 사용할 수 있습니다.
벤 Bolker

1

Stephen Raudenbush는 " 많은 소규모 그룹 " 에 관한 다단계 분석 핸드북에 챕터 장을 가지고 있습니다. y에 대한 x의 효과에만 관심이 있고 더 높은 수준의 효과에 관심이 없다면, 고정 된 효과 모델 (즉, 가능한 모든 높은 수준의 그룹화에 대한 더미 변수)을 추정하는 것이 그의 제안입니다.

나는 그것이 예측에 어떻게 적용되는지 알지 못하지만, 그가 쓴 내용 중 일부가 당신이 달성하려는 것에 적용 가능하다고 상상할 것입니다.

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