임의 효과가 유의한지 여부를 어떻게 테스트 할 수 있습니까?


34

임의의 효과를 사용해야 할 때와 그것이 언제 필요한지 이해하려고합니다. 내가 경험 한 4 개 이상의 그룹 / 개인이 있다면 (15 개의 개별 무스) 경험에 근거한 경험이있다. 이 무스 중 일부는 총 29 회 시험을 위해 2 번 또는 3 번 실험되었습니다. 위험도가 높은 환경에있을 때와 다르게 작동하는지 알고 싶습니다. 그래서 나는 그 개인을 무작위 효과로 설정할 것이라고 생각했습니다. 그러나 나는 그들의 반응에 많은 변화가 없기 때문에 개인을 무작위 효과로 포함시킬 필요가 없다고 들었습니다. 내가 알아낼 수없는 것은 개인을 임의의 효과로 설정할 때 실제로 고려해야 할 것이 있는지 테스트하는 방법입니다. 초기 질문은 다음과 같습니다. 개인이 좋은 설명 변수인지, 그리고 고정 된 효과인지 확인하기 위해 어떤 테스트 / 진단을 할 수 있습니까? 히스토그램? 산점도? 그리고 그 패턴에서 내가 무엇을 찾을 것입니다.

나는 개인과 함께 임의의 효과로 모델을 실행했지만 다음과 같은 상태에서 http://glmm.wikidot.com/faq를 읽었습니다 .

lmer 모델과 해당 lm fit 또는 glmer / glm을 비교하지 마십시오. 로그 우도는 비례하지 않습니다 (즉, 다른 가산 항을 포함합니다)

그리고 이것은 임의 효과가 있거나없는 모델을 비교할 수 없다는 것을 의미한다고 가정합니다. 그러나 나는 어쨌든 그들 사이에서 무엇을 비교 해야하는지 정말로 알지 못했습니다.

Random 효과가있는 모델에서 RE는 어떤 종류의 증거 또는 중요성을 알기 위해 출력을 보려고했습니다.

lmer(Velocity ~ D.CPC.min + FD.CPC + (1|ID), REML = FALSE, family = gaussian, data = tv)

Linear mixed model fit by maximum likelihood 
Formula: Velocity ~ D.CPC.min + FD.CPC + (1 | ID) 
   Data: tv 
    AIC    BIC logLik deviance REMLdev
 -13.92 -7.087  11.96   -23.92   15.39
Random effects:
 Groups   Name        Variance Std.Dev.
 ID       (Intercept) 0.00000  0.00000 
 Residual             0.02566  0.16019 
Number of obs: 29, groups: ID, 15

Fixed effects:
              Estimate Std. Error t value
(Intercept)  3.287e-01  5.070e-02   6.483
D.CPC.min   -1.539e-03  3.546e-04  -4.341
FD.CPC       1.153e-04  1.789e-05   6.446

Correlation of Fixed Effects:
          (Intr) D.CPC.
D.CPC.min -0.010       
FD.CPC    -0.724 -0.437

랜덤 효과 = 0 인 개별 ID의 분산과 SD를 볼 수 있습니다. 어떻게 가능합니까? 0은 무엇을 의미합니까? 맞습니까? "무작위 효과가 필요하지 않으므로 ID를 사용하는 변형이 없기 때문에"라고 말한 내 친구가 맞습니까? 그렇다면 고정 효과로 사용 하시겠습니까? 그러나 변화가 거의 없다는 사실이 그것이 우리에게 많은 것을 말해주지 않을 것이라는 것을 의미하지 않습니까?


랜덤 효과의 정확한 0 분산을 얻는 것과 관련하여 stats.stackexchange.com/questions/115090을 참조하십시오 .
아메바는 고

답변:


21

추정값 ID의 분산 = 0은 그룹 간 변동 수준이 모형에 랜덤 효과를 포함시키는 데 충분하지 않다는 것을 나타냅니다. 즉. 모델이 퇴화되었습니다.

자신을 올바르게 식별하면 다음과 같이됩니다. ID무작위 효과는 불필요합니다. 이 가정을 테스트하기 위해 마음에 드는 것은 거의 없습니다.

  1. REML = F임의 효과가 있거나없는 모델간에 AIC (또는 일반적으로 가장 좋아하는 IC)를 비교 ( 항상 사용 )하여 어떻게 진행되는지 확인할 수 있습니다.
  2. anova()두 모델 의 결과를 볼 수 있습니다.
  3. 원래 모델에서 정의한 사후 분포를 사용하여 파라 메트릭 부트 스트랩을 수행 할 수 있습니다.

선택 1과 2에 문제가 있다는 점에 유의하십시오. 매개 변수 공간의 경계에있는 것을 확인하여 실제로 기술적으로 건전하지 않습니다. 나는 당신이 그들로부터 잘못된 통찰력을 얻을 것이라고 생각하지 않으며 많은 사람들이 그것들을 사용한다고 생각합니다 (예 : lme4의 개발자 중 한 명인 Douglas Bates는 그의 에서 그것들을 사용 하지만 테스트되고있는 매개 변수 값에 대해이 경고를 분명히 진술합니다 가능한 값 집합의 경계에). 선택 3은 3 중 가장 지루하지만 실제로 무슨 일이 일어나고 있는지에 대한 최고의 아이디어를 제공합니다. 어떤 사람들은 비모수 적 부트 스트랩을 사용하고 싶은 유혹을 느낍니다. 그러나 여러분이 시작하기 위해 모수 적 가정을하고 있다는 사실을 감안할 때 그것들도 사용할 수 있다고 생각합니다.


6
RLRsim 패키지는 시뮬레이션 기반 우도 비 테스트를 사용하여 랜덤 효과를 테스트하는 매우 편리한 방법입니다.
atrichornis

@ 아틱 호 니스 : +1. 재미있는 패키지; 나는 그것에 대해 몰랐다. 방금 코드를 살펴 보았습니다. 나는 그들이 (또는 같은)에 통합 할 lme4것을 특히 지금은 mcmcsamp()고장 사람들이 등 몇 가지 괜찮은 P-값을 얻기 위해 그들의 자신의 임시 부트 스트랩 구현으로 남아 있습니다.
usεr11852는 Reinstate Monic이 15:08에

사실, 혼합 모델은 R에서 간단하지 않습니다. 많은 근사치와 해결 방법 ... SAS 등을 모아도 같은 불확실성에 대한 광택이 있습니까? Ben Bolker는 두 패키지의 공동 저자이며이를 통합하지 않은 이유가있을 수 있습니다. 아마 시간!
atrichornis

4
매개 변수 공간의 경계에있는 부트 스트랩 에는 고유 한 문제 세트가있어 불일치가 발생 합니다. 부트 스트랩은 만병 통치약이 아니며 모든 것이 해결 될 것이라고 가정하여 가방에 가볍게 넣지 않아야합니다.
StasK

2
보세요, 논쟁은 매우 미묘합니다. 내가 기억할 수있는 한, 널과 다른 분포에서 부트 스트랩을하고 있다는 사실로 귀결된다. 경계에서 얻은 비표준 분포를 고려하면 규칙 성 조건을 위반하고 부트 스트랩 분포가 대상으로 수렴하지 않습니다. 비모수 적 부트 스트랩은 그룹 잔차 수단을 취함으로써 여전히 여기에서 구성 될 수 있다고 생각합니다. 그러나 그룹 간 관찰의 독립성을 위반하면 다른 계층의 합병증이 발생할 수 있습니다.
StasK

3

내가 제안하려는 접근 방식이 합리적이라는 것을 확신하지 못 하므로이 주제에 대해 더 많이 알고있는 사람들은 내가 틀렸다면 나를 교정하십시오.

내 제안은 데이터에 상수 값이 1 인 추가 열을 만드는 것입니다.

IDconst <- factor(rep(1, each = length(tv$Velocity)))

그런 다음이 열을 임의의 효과로 사용하는 모델을 만들 수 있습니다.

fm1 <- lmer(Velocity ~ D.CPC.min + FD.CPC + (1|IDconst), 
  REML = FALSE, family = gaussian, data = tv)

이 시점에서 (AIC) 임의의 효과를 원래 모델 비교할 수 ID(현실을 부르 자 fm0고려하지 않는 새로운 모델) ID이후 IDconst모든 데이터에 대해 동일합니다.

anova(fm0,fm1)

최신 정보

사용자의 의견으로는 위의 접근 방식이 실행되지 않기 때문에 user11852가 예를 요구했습니다. 반대로, 나는 접근 방식이 작동한다는 것을 보여줄 수 있습니다 (적어도 lme4_0.999999-0현재 사용중인 것과).

set.seed(101)
dataset <- expand.grid(id = factor(seq_len(10)), fac1 = factor(c("A", "B"),
  levels = c("A", "B")), trial = seq_len(10))
dataset$value <- rnorm(nrow(dataset), sd = 0.5) +
      with(dataset, rnorm(length(levels(id)), sd = 0.5)[id] +
      ifelse(fac1 == "B", 1.0, 0)) + rnorm(1,.5)
    dataset$idconst <- factor(rep(1, each = length(dataset$value)))

library(lme4)
fm0 <- lmer(value~fac1+(1|id), data = dataset)
fm1 <- lmer(value~fac1+(1|idconst), data = dataset)

anova(fm1,fm0)

산출:

  Data: dataset
  Models:
  fm1: value ~ fac1 + (1 | idconst)
  fm0: value ~ fac1 + (1 | id)

      Df    AIC    BIC  logLik  Chisq Chi Df Pr(>Chisq)
  fm1  4 370.72 383.92 -181.36                      
  fm0  4 309.79 322.98 -150.89 60.936      0  < 2.2e-16 ***

이 마지막 테스트에 따르면, fm0모델은 BIC뿐만 아니라 AIC가 가장 낮으므로 랜덤 효과를 유지해야합니다 .

업데이트 2

그런데 NW Galwey는 213-214 페이지의 '혼합 모델링 소개 : 회귀 분석 및 분산 분석을 넘어서'에서 이와 동일한 접근법을 제안합니다.


당신은 당신의 아이디어를 테스트 했습니까? 나에게 틀렸다는 것을 증명하지만 아이디어가 실행되지 않을 것이라고 생각합니다. (가) 경우 IDconst모든 데이터를 동일 당신은 어떤 그룹이 없습니다. 적어도 하나의 샘플링 된 레벨을 가지려면 그룹화 요소가 필요하며 모델을 설정하는 방법에는 없습니다. "무작위 그룹화"를 사용한다는 이론적 근거를 믿을 수도 있지만, 그것은 모두 다른 볼 게임입니다. 더미 데이터로 접근 방식을 테스트하십시오. 제안 된 설정으로 lmer()실행되지 않을 것이라고 강력히 믿고 있습니다. (사용 lme4_0.99999911-1)
usεr11852는 Reinstate Monic

@ user11852 제 업데이트를 확인한 후이 방법으로도 작동하는지 알려주십시오 lme4_0.99999911-1.
VLC

아니요, 작동하지 않습니다. 개념적으로는 혼합 모델이 없기 때문에 " 그렇지 않아야합니다 "라고 말했습니다 . (미안하지만 이전 의견에서 공격적으로 들릴 수도 있습니다.) 달성하려는 것은 행렬을 단일 벡터로 설정하는 것이지만 R에서 명시 적으로 수행 할 수있는 방법을 찾지 못하면 (예 : 자신의 이탈 기능) 당신은 운이 없습니다. Z
usεr11852는 Reinstate Monic이

3
네, 당신이 제안한대로 했어요. 작동하지 않거나 계산되지 않습니다. Error in lFormula(formula = value ~ fac1 + (1 | idconst), data = dataset) : grouping factors must have at least 1 sampled level. 그리고 내가 말했듯이, 개념적으로 잘못되었습니다. 소프트웨어를 속여서 숫자를 알려주는 것은 문제가 아니라 합리적인 말을하는 것이 중요합니다. 해당 모델에서 랜덤 효과가 구성에 의한 것인지 비교할 두 번째 혼합 모델이 없습니다. 제외하고 선형 모델을 대신 시도 할 수도 있습니다.
usεr11852는 Reinstate Monic이

1
에서 단일 그룹 랜덤 변수를 정의하는 콘서트를 업데이트합니다 lme4. 옵션을 설정하면이 작업을 수행 할 수 있습니다 control=lmerControl(check.nlev.gtr.1="ignore"). 벤 Bolker 여기에 언급 : github.com/lme4/lme4/issues/411를 .
로빈 보 몬트

1

더 '초기'질문에 대답하고 싶습니다.

일부 요인으로 인해 종속 변수 중 분산에서 이종성이 있다고 의심되는 경우 산포 및 상자 그림을 사용하여 데이터를 플로팅해야합니다. 확인해야 할 몇 가지 일반적인 패턴은 웹의 다양한 소스에서 아래 목록을 작성했습니다.

이분산성 패턴

또한 요인 / 처리 그룹별로 종속 변수를 플로팅하여 일정한 분산이 있는지 확인하십시오. 그렇지 않은 경우 임의의 효과 또는 가중 회귀를 탐색 할 수 있습니다. 예를 들어. 아래이 차트는 처리 그룹의 퍼널 모양 분산의 예입니다. 그래서 임의의 효과를 적용하고 경사와 절편에 대한 효과를 테스트하기로 결정했습니다.

이분산성을 확인하기위한 Boxplot

여기에서 위의 답변은 주요 질문에 부합합니다. 이종 스케일 성을 검사하는 테스트도 있습니다 . https://dergipark.org.tr/download/article-file/94971이 있습니다. 그러나 그룹 수준의 이분산성을 감지하기위한 테스트가 있는지 확실하지 않습니다.


OP의 질문에 대한 답변을 제공하려면 "답변"필드 만 사용하십시오. CV는 토론 포럼이 아닌 엄격한 Q & A 사이트입니다. 게시물의 후자, 굵게 표시된 부분은이 질문에 대한 답변이 아니라 새로운 질문입니다. 새로운 질문이 있으면 ASK QUESTION상단 의 회색 을 클릭하여 질문하십시오 . 여기에 처음 오셨으므로 새로운 사용자를위한 정보가 포함 된 둘러보기 를 이용하십시오.
gung-Monica Monica 복원
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.