임의의 기울기를 갖는 혼합 효과 회귀 모델에 대해 MCMC 가설을 어떻게 테스트 할 수 있습니까?


12

라이브러리 languageR은 lmer를 사용하여 혼합 효과 회귀 모형 적합에서 고정 효과의 MCMC 유의성 검정을 수행하는 방법 (pvals.fnc)을 제공합니다. 그러나 lmer 모델에 임의의 기울기가 포함되어 있으면 pvals.fnc에서 오류가 발생합니다.

이러한 모델에 대한 MCMC 가설 검정을 수행 할 수있는 방법이 있습니까?
그렇다면 어떻게? (응답을 받으려면 R에 실례가 있어야합니다.) 그렇지 않은 경우 개념적 / 계산 이유가없는 이유는 무엇입니까?

이 질문은 이것과 관련 있을 수 있지만 확실하게 내용을 잘 이해하지 못했습니다.

편집 1 : pvals.fnc ()가 여전히 lme4 모델에서 '무언가'를 보여 주지만 임의의 기울기 모델에서는 아무것도하지 않음을 보여주는 개념 증명.

library(lme4)
library(languageR)
#the example from pvals.fnc
data(primingHeid) 
# remove extreme outliers
primingHeid = primingHeid[primingHeid$RT < 7.1,]
# fit mixed-effects model
primingHeid.lmer = lmer(RT ~ RTtoPrime * ResponseToPrime + Condition + (1|Subject) + (1|Word), data = primingHeid)
mcmc = pvals.fnc(primingHeid.lmer, nsim=10000, withMCMC=TRUE)
#Subjects are in both conditions...
table(primingHeid$Subject,primingHeid$Condition)
#So I can fit a model that has a random slope of condition by participant
primingHeid.lmer.rs = lmer(RT ~ RTtoPrime * ResponseToPrime + Condition + (1+Condition|Subject) + (1|Word), data = primingHeid)
#However pvals.fnc fails here...
mcmc.rs = pvals.fnc(primingHeid.lmer.rs)

pvals.fnc (primingHeid.lmer.rs)의 오류 : MCMC 샘플링은 lme4_0.999375에서 아직 구현되지 않았습니다.

추가 질문 : pvals.fnc가 임의 절편 모델에 대해 예상대로 수행됩니까? 출력을 신뢰해야합니까?


3
(1) pvals.fnc가 여전히 작동한다는 것에 놀랐습니다. 나는 mcmcsamp (pvals.fnc가 의존하는)가 lme4에서 꽤 오랫동안 작동하지 않았다고 생각했습니다. 어떤 버전의 lme4를 사용하고 있습니까? (2) 임의의 기울기가 의미 테스트를 수행하기 위해 수행하는 모든 작업을 중단해야하는 개념적 이유는 없습니다. (4)이 Q와 다른 Q와의 유일한 관계는 'MCMC'(즉, 실제로는 없음)
Ben Bolker

내가 사용하는 lme4의 버전은 내가 앉아있는 컴퓨터에 따라 다릅니다. 이 콘솔에는 lme4_0.999375-32가 있지만 분석에는이 콘솔을 거의 사용하지 않습니다. 몇 달 전에 pvals.fnc ()가 분석 후 lme4 결과를 분리하고 있음을 알았습니다. 당시에는 문제를 해결했지만 더 이상 문제가되지 않습니다. 가까운 시일 내에 세 번째 요점에 대해 다른 질문을 드리겠습니다.
russellpierce

답변:


4

오류 메시지가 다양한 경사에 관한 것이 아니라 상관 된 임의 효과에 관한 것입니다. 상관되지 않은 것도 맞출 수 있습니다. 즉, 독립적 인 랜덤 효과가있는 혼합 효과 모델 :

Linear mixed model fit by REML
Formula: Reaction ~ Days + (1 | Subject) + (0 + Days | Subject)
Data: sleepstudy

에서 http://www.stat.wisc.edu/~bates/IMPS2008/lme4D.pdf


8

여기에 (적어도 대부분) 솔루션이 MCMCglmm있습니다.

먼저 다음과 같은 요격-분산-전용 모델을 적합시킵니다 MCMCglmm:

library(MCMCglmm)
primingHeid.MCMCglmm = MCMCglmm(fixed=RT ~ RTtoPrime * ResponseToPrime + Condition, 
                                random=~Subject+Word, data = primingHeid)

와의 사이를 비교 MCMCglmm하여 lmer먼저 해킹 된 버전을 검색합니다 arm::coefplot.

source(url("http://www.math.mcmaster.ca/bolker/R/misc/coefplot_new.R"))
  ## combine estimates of fixed effects and variance components
pp  <- as.mcmc(with(primingHeid.MCMCglmm, cbind(Sol, VCV)))
  ## extract coefficient table
cc1 <- coeftab(primingHeid.MCMCglmm,ptype=c("fixef", "vcov"))
  ## strip fixed/vcov indicators to make names match with lmer output
rownames(cc1) <- gsub("(Sol|VCV).", "", rownames(cc1))
  ## fixed effects -- v. similar
coefplot(list(cc1[1:5,], primingHeid.lmer))
  ## variance components -- quite different.  Worth further exploration?
coefplot(list(cc1[6:8,], coeftab(primingHeid.lmer, ptype="vcov")),
         xlim=c(0,0.16), cex.pts=1.5)

이제 임의의 기울기로 시도하십시오.

primingHeid.rs.MCMCglmm = MCMCglmm(fixed=RT ~ RTtoPrime * ResponseToPrime + Condition,
                                   random=~Subject+Subject:Condition+Word, 
                                   data = primingHeid)        
summary(primingHeid.rs.MCMCglmm)

이것은 일종의 "MCMC p- 값"을 제공합니다 ... 스스로 탐구하고 모든 것이 의미가 있는지 확인해야합니다 ...


벤 감사합니다. 이것은 올바른 방향으로 나를 가리킬 것 같습니다. MCMCglmm에 대한 도움말 및 관련 기사를 읽고 시간을내어 무슨 일이 일어나고 있는지에 대해 머리를 감쌀 수 있는지 확인해야합니다.
russellpierce

1
이 경우 랜덤 슬로프 모델이 랜덤 슬로프와 랜덤 인터셉트 사이에 상관 관계가 있습니까?
russellpierce

쉽게 읽을 수 있도록 여기에 코드를 수정했습니다. @Ben; 마음에 들지 않으면 언제든지 사과와 함께 롤백하십시오.
gung-Monica Monica 복원
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.