태그 보관물: sample-size

sample-size

랜덤 효과 요인에 대한 최소 권장 그룹 수는 얼마입니까? ID를 무작위 효과로 사용할 수

반복 측정 데이터를 분석하기 위해 R( lme4) 의 혼합 모델을 사용하고 있습니다. 반응 변수 (대변의 섬유 함량)와 3 가지 고정 효과 (체질량 등)가 있습니다. 저의 연구에는 6 명의 참가자 만이 있으며 각 참가자마다 16 개의 반복 측정 값이 있습니다 (2 명은 12 회 반복). 피험자들은 다른 ‘치료’에서 다른 음식 조합을받은 도마뱀입니다.

내 질문은 : 주제 ID를 무작위 효과로 사용할 수 있습니까?

피험자의 무작위 표본 추출 특성과 피험자 내에서의 관찰이 피험자 간의 관찰과 더 밀접하게 연관되어 있다는 사실을 고려하기 위해 이것이 종 방향 혼합 효과 모델에서 일반적인 행동 과정이라는 것을 알고 있습니다. 그러나 피험자 ID를 임의의 효과로 취급하면이 변수의 평균 및 분산을 추정해야합니다.

  • 6 개의 주제 (이 요소의 6 단계) 만 있으므로 평균과 분산의 정확한 특성을 얻기에 충분합니까?

  • 각 주제에 대해 상당히 많은 반복 측정이 있다는 사실이 이와 관련하여 도움이됩니까? (문제가 중요하지 않습니다)?

  • 마지막으로, 주제 ID를 임의의 효과로 사용할 수없는 경우이를 고정 효과로 포함 시키면 측정을 반복한다는 사실을 제어 할 수 있습니까?

편집 : 내가 말할 때 임의의 효과로 사용 대상 ID, 내 말은 “내가 할 수있는”것을 명확히하기 위해 “그것 좋은 생각입니다”나는 좋겠처럼. 나는 단지 2 레벨의 팩터로 모델을 맞출 수 있다는 것을 알고 있지만 반드시 방어 할 수는 없습니까? 피사체를 임의의 효과로 취급하는 것에 대해 생각하는 것이 현명한 시점이 무엇인지 묻고 있습니다. 문헌은 5-6 수준이 하한이라고 조언하는 것 같습니다. 15+ 요인 수준이 될 때까지 평균과 임의 효과의 분산의 추정은 매우 정확하지 않을 것이라고 나에게 보인다.



답변

짧은 대답 : 그렇습니다. ID를 6 단계의 무작위 효과로 사용할 수 있습니다.

약간 더 긴 답변 : @BenBolker의 GLMM FAQ 는 ” 요소 xxx를 고정 또는 무작위로 처리해야합니까? “라는 제목 아래에 다음과 같이 말합니다.

‘현대적인’모멘트 방법 대신 ‘현대’혼합 모델 추정과 특히 관련이있는 한 가지 점은 실제 목적을 위해 합리적인 수의 랜덤 효과 수준 (예 : 블록)이 있어야한다는 것입니다. 최소 5 또는 6입니다.

따라서 당신은 하한에 있지만 오른쪽에 있습니다.


답변

다단계 모델의 최소 그룹 수를 파악하기 위해 책을 보았습니다. Gelman and Hill (2007)의 회귀 및 다중 수준 / 계층 모델사용한 데이터 분석 .

이들은 11 장 5 절 (247 페이지)에서이 주제를 다루는 것으로 보이며 여기서 5 개 미만의 그룹이있을 때 다단계 모델은 일반적으로 고전적인 모델에 비해 약간 더 추가된다고 씁니다. 그러나 그들은 다단계 모델을 적용 할 위험이 거의 없다고 기록한 것으로 보인다.

동일한 저자가 12 장 9 절 (275-276 페이지)에서이 주제로 돌아온 것으로 보입니다. 거기서 그들은 다단계 모델의 최소 그룹 수에 대한 조언이 잘못 안내되었다고 썼다. 거기서 그들은 그룹 수가 적을 때 다단계 모델이 종종 고전적인 모델을 약간 추가한다고 말합니다. 그러나 그들은 다단계 모델이 풀링이없는 회귀보다 나쁘지 않아야한다고 썼다.

275-276 페이지에서 저자는 하나 또는 두 그룹 (예 : 남성 대 여성)의 경우에 대한 특정 하위 섹션이 있습니다. 여기서 그들은 일반적으로 모델을 고전적인 형태로 표현한다고 씁니다. 그러나 그들은 하나 또는 두 개의 그룹만으로도 다단계 모델링이 유용 할 수 있다고 말합니다. 그들은 하나 또는 두 개의 그룹으로 다단계 모델링이 고전적 회귀로 줄어 듭니다.

이것에 대한 나의 인상은 고전적 회귀가 모델 연속체의 한 끝, 즉 다중 레벨 모델의 특별한 경우라는 것입니다.

위의 내용을 바탕으로, 그룹이 두 개일 때 고전 회귀 분석과 다단계 모델링은 거의 동일한 추정치를 반환하고 하나, 둘, 셋, 넷, 다섯 또는 여섯 그룹 만있는 다단계 모델을 사용하는 것은 괜찮습니다.

앞으로 R두 그룹을 사용할 때 두 가지 접근 방식으로 얻은 추정치를 비교하는 코드와 작은 데이터 세트 로이 답변을 수정하려고합니다 .


답변

가치가있는 것을 위해, 나는 비교적 간단한 LMM에 대한 분산 추정의 안정성을 살펴보기 위해 약간의 시뮬레이션 연구를 수행했습니다 (를 sleepstudy통해 사용 가능한 데이터 세트 사용 lme4). 첫 번째 방법은 ngroups여러 주제에 대해 가능한 모든 주제 조합을 생성하고 가능한 각 조합에 대해 모델을 다시 맞추는 것입니다. 두 번째는 주제의 여러 무작위 하위 집합을 취합니다.

library(lme4)
library(ggplot2)
library(tidyr)

m0 <- lmer(Reaction ~ Days + (1|Subject), data = sleepstudy,
           control = lmerControl(optimizer = "nloptwrap"))
# set the number of factor levels
ngroups <- 3:18
# generate all possible combinations
combos <- lapply(X = ngroups,
                 FUN = function(x) combn(unique(sleepstudy$Subject), x))

# allocate output (sorry, this code is entirely un-optimized)
out <- list(matrix(NA, ncol(combos[[1]]), 1), matrix(NA, ncol(combos[[2]]), 1),
            matrix(NA, ncol(combos[[3]]), 1), matrix(NA, ncol(combos[[4]]), 1),
            matrix(NA, ncol(combos[[5]]), 1), matrix(NA, ncol(combos[[6]]), 1),
            matrix(NA, ncol(combos[[7]]), 1), matrix(NA, ncol(combos[[8]]), 1),
            matrix(NA, ncol(combos[[9]]), 1), matrix(NA, ncol(combos[[10]]), 1),
            matrix(NA, ncol(combos[[11]]), 1), matrix(NA, ncol(combos[[12]]), 1),
            matrix(NA, ncol(combos[[13]]), 1), matrix(NA, ncol(combos[[14]]), 1),
            matrix(NA, ncol(combos[[15]]), 1), matrix(NA, ncol(combos[[16]]), 1))
# took ~ 2.5 hrs on my laptop, commented out for safety
#system.time(for(ii in 1:length(combos)) {
#    for(jj in 1:ncol(combos[[ii]])) {
#    sls <- sleepstudy[sleepstudy$Subject %in% combos[[ii]][,jj],]
#    out[[ii]][jj] <- attr(VarCorr(update(m0, data = sls))$Subject, 'stddev')
#        }
#    })

# pad with zeros, not all were equal
# from http://stackoverflow.com/questions/11148429/r-convert-asymmetric-list-to-matrix-number-of-elements-in-each-sub-list-diffe
max.len <- max(sapply(out, length))
corrected.list <- lapply(out, function(x) {c(x, rep(NA, max.len - length(x)))})
mat <- do.call(rbind, corrected.list)
mat <- data.frame(t(mat))
names(mat) <- paste0('s',3:18)
mat <- gather(mat, run, value)

ggplot(mat, aes(x = value, fill = run)) +
    geom_histogram(bins = 60) +
    geom_vline(xintercept = 37.12, linetype =  'longdash',
               aes(colour = 'original')) +
    facet_wrap(~run, scales = 'free_y') +
    scale_x_continuous(breaks = seq(0, 100, by = 20)) +
    theme_bw() +
    guides(fill = FALSE)

점선으로 표시된 검은 선은 분산의 원래 점 추정치이며, 패싯은 서로 다른 수의 주제를 나타냅니다 ( s3세 명의 대상 그룹, s4네 등).
여기에 이미지 설명을 입력하십시오

그리고 다른 방법 :

ngroups <- 3:18
reps <- 500
out2<- matrix(NA, length(ngroups), reps)

for (ii in 1:length(ngroups)) {
    for(j in 1:reps) {
        sls <- sleepstudy[sleepstudy$Subject %in% sample(unique(sleepstudy$Subject), ngroups[i], replace = FALSE),]
        out2[i,j] <- attr(VarCorr(update(m0, data = sls))$Subject, 'stddev')
    }
}
out2 <- data.frame(t(out2))
names(out2) <- paste0('s',3:18)
out2 <- gather(out2, run, value)

ggplot(out2, aes(x = value, fill = run)) +
    geom_histogram(bins = 60) +
    geom_vline(xintercept = 37.12, linetype =  'longdash',
               aes(colour = 'original')) +
    facet_wrap(~run, scales = 'free_y') +
    scale_x_continuous(breaks = seq(0, 100, by = 20)) +
    theme_bw() +
    guides(fill = FALSE)

여기에 이미지 설명을 입력하십시오

(이 예제의 경우, 어쨌든) 차이는 나중에 14 명 이상이 아닌 경우 적어도 14 명의 피험자가있을 때까지 실제로 안정화되지 않는 것으로 보입니다.


답변

Angrist와 Pischke의 “Mostly Harmless Econometrics” 에는 “42 개 미만의 클러스터”라는 제목의 섹션이 있습니다.

그러므로 생명, 우주, 그리고 모든 것에 대한 답은 42라는 결론에 따라, 우리는 표준 클러스터 조정을 사용하여 신뢰할 수있는 추론을하기에 충분한 클러스터가 얼마나되는지 믿습니다 (GEE의 분산 추정기와 유사)?

저의 계량 경제학 강사가 여러분과 같은 질문에 대답하는 데 사용한 방식은 “미국은 자유 국가입니다. 원하는대로 무엇이든 할 수 있습니다. 그러나 논문을 출판하려면 자신이 한 일을 변호 할 수 있어야합니다. ” 다시 말해, 6 개 주제로 R 또는 Stata 또는 HLM 또는 Mplus 또는 SAS PROC GLIMMIX 코드를 실행할 수있을 것입니다 (선택한 패키지 중 하나를 실행하지 않으면 이러한 대체 패키지로 전환). 이 접근법을 방어하고 점근 테스트를 정당화하는 데 매우 어려운 시간.

기본적으로 변수를 임의의 기울기로 포함하는 것은 고정 효과로 포함하는 것을 의미하며, 평균을 사용하여 무작위 효과로만 사용하려면 많은 구문 후프를 뛰어 넘어야합니다 제로. 그것은 소프트웨어 개발자가 당신을 위해 만든 합리적인 선택입니다.


답변

베이지안 혼합 모형을 사용할 수도 있습니다.이 경우 랜덤 효과 추정의 불확실성은 95 % 예측 신뢰할 수있는 간격의 계산에서 완전히 처리됩니다. 예를 들어 새로운 R 패키지 brms와 함수 는 구문이 거의 동일하기 때문에 잦은 혼합 모델에서 베이지안 모델로 brm매우 쉽게 전환 할 수 lme4있습니다.


답변

6 단계의 랜덤 효과 모델은 사용하지 않겠습니다. 6 단계 랜덤 효과를 사용하는 모델은 때때로 많은 통계 프로그램을 사용하여 실행될 수 있으며 때로는 편견없는 추정치를 제공 할 수 있습니다.

  1. 통계 커뮤니티에는 10-20이 최소 숫자라는 임의의 합의가 있다고 생각합니다. 연구 결과를 발표하려면 통계 검토없이 저널을 찾거나 상당히 정교한 언어를 사용하여 결정을 정당화 할 수 있습니다.
  2. 군집이 너무 적 으면 군집 차이가 제대로 추정되지 않을 수 있습니다. 군집 분산 사이의 불량한 추정은 일반적으로 관심 계수의 표준 오차에 대한 불량 추정으로 해석됩니다. (랜덤 효과 모델은 이론적으로 무한대가 될 클러스터의 수에 의존합니다).
  3. 종종 모델은 단순히 수렴하지 않습니다. 모델을 실행 해 보셨습니까? 모델이 수렴하는 주제 당 12-16 개의 측정 값만으로 놀랐습니다. 이러한 종류의 모델을 수렴 할 때 클러스터 당 수백 개의 측정 값을 가졌습니다.

이 문제는 해당 분야의 대부분의 표준 교과서에서 해결되며 귀하의 질문에서 해결되었습니다. 나는 당신에게 새로운 정보를 줄 것이라고 생각하지 않습니다.


답변

원래 질문 이후 오랜 시간이 지났지 만 모델 선택과 관련된 몇 가지 점을 추가 할 수 있다고 생각했습니다.

1-모형이 식별되는 한 (즉, 매개 변수 공간에 자유도가있는 경우) 모형에 맞게 시도 할 수 있어야합니다. 최적화 방법 모델에 따라 수렴되거나 수렴되지 않을 수 있습니다. 어쨌든 나는 1 개 또는 2 개 이상의 무작위 효과와 1 개 이하의 교차 레벨 상호 작용을 포함하려고하지 않습니다. 여기에 제시된 문제의 특정 사례에서 도마뱀 특정 특성 (예 : 연령, 크기 등)과 치료 / 측정 특성 그룹 크기 6 사이의 상호 작용이 충분히 정확한 추정을하기에는 충분하지 않을 수 있습니다.

2-몇 가지 답변에서 언급했듯이 수렴이 문제가 될 수 있습니다. 그러나 나의 경험은 사회 과학 데이터는 측정 문제로 인해 큰 수렴 문제를 가지고 있지만 생명 과학과 특히 생화학 반복 측정은 표준 오류가 훨씬 적다는 것입니다. 그것은 모두 데이터 생성 프로세스에 달려 있습니다. 사회 및 경제 데이터에서 우리는 다양한 추상화 수준에서 작업해야합니다. 생물학적 및 화학적, 그리고 천문학적 데이터 측정 오류에서 문제는 덜 문제가되지 않습니다.