lm 모델의 사용자 정의 전력 분석을 시뮬레이션하는 방법 (R 사용)


13

최근 질문에 우리가 여기에 있었다 .

선형 모델의 시뮬레이션을 기반으로 사용자 정의 전력 분석을 수행하기 위해 R 코드를 공유하거나 공유 할 수 있는지 알고 싶습니까?

나중에 나는 분명히 더 복잡한 모델로 확장하고 싶지만 영화는 시작하기에 적합한 것으로 보인다. 감사.

답변:


4

간단한 회귀 모델에 대한 시뮬레이션이 필요한지 확실하지 않습니다. 예를 들어, 휴대용 전원 용지를 참조하십시오 . 보다 복잡한 모델, 특히 혼합 효과의 경우 R 의 pamm 패키지는 시뮬레이션을 통해 전력 분석을 수행합니다. 시뮬레이션을위한 R 코드가있는 Todd Jobe의 게시물 도 참조하십시오 .


1
휴대용 전원 링크가 끊어졌습니다. 누군가가 링크를 업데이트 할 수 있다면 좋을 것입니다. 고마워.
Brian P

3

다음은 R의 시뮬레이션 코드 소스입니다. 선형 모델을 구체적으로 다루고 있는지 확실하지 않지만 요점을 얻기에 충분한 예를 제공합니다.

다음 사이트에는 또 다른 시뮬레이션 예제가 있습니다.


0

R의 Bolker 2009 생태 모델 및 데이터에서 채택되었습니다. 테스트하려는 추세 (예 : 기울기)의 강도를 선언해야합니다. 직관적으로 강한 경향과 낮은 변동성은 작은 샘플 크기를 필요로하며, 약한 경향과 큰 가변성은 큰 샘플 크기를 요구합니다.

a = 2  #desired slope
b = 1  #estimated intercept
sd = 20  #estimated variability defined by standard deviation
nsim = 400  #400 simulations
pval = numeric(nsim)  #placeholder for the second for loop output
Nvec = seq(25, 100, by = 1)  #vector for the range of sample sizes to be tested
power.N = numeric(length(Nvec))   #create placeholder for first for loop output
for (j in 1:length(Nvec)) {
  N = Nvec[j]  
  x = seq(1, 20, length = Nvec[j])  #x value length needs to match sample size (Nvec) length
  for (i in 1:nsim) {   #for this value of N, create random error 400 times
    y_det = a + b * x
    y = rnorm(N, mean = y_det, sd = sd)
    m = lm(y ~ x)
    pval[i] = coef(summary(m))["x", "Pr(>|t|)"]  #all the p values for 400 sims
  }  #cycle through all N values
  power.N[j] = sum(pval < 0.05)/nsim  #the proportion of correct p-values (i.e the power)
}
power.N
plot(Nvec, power.N)  #need about 90 - 100 samples for 80% power

책에 표시된대로 주어진 표본 크기에 대해 테스트 할 수있는 최소 추세를 시뮬레이션 할 수도 있습니다.

bvec = seq(-2, 2, by = 0.1)
power.b = numeric(length(bvec))
for (j in 1:length(bvec)) {
  b = bvec[j]
   for (i in 1:nsim) {
     y_det = a + b * x
     y = rnorm(N, mean = y_det, sd = sd)
     m = lm(y ~ x)
     pval[i] = coef(summary(m))["x", "Pr(>|t|)"]
     }
   power.b[j] = sum(pval < 0.05)/nsim
  }
 power.b
 plot(bvec, power.b)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.