최소 샘플 크기 및 검정력 테스트

Nov 22 2020

인구가 3 만명 인 도시의 에너지 소비에 대한 데이터에 액세스 할 수 있다고 가정 해 보겠습니다. 스마트 에너지의 새로운 기술을 테스트하고 싶다고 상상해보십시오. 즉,이 기술로 에너지 소비가 감소한다면. 나는 30k를 그들이 기술을 사용하는 더 작은 그룹 G로 하위 집합을 만들고 나머지 인구 (이 기술이없는 경우)와 비교해야합니다. 그런 다음 에너지 소비의 평균이 두 그룹에서 동일하고 대립 가설이 반대 인 가설 검정을 할 수 있습니다. 하지만 그 기술이 에너지 소비를 줄인 이유이며 우연 일뿐만 아니라 그룹 G에 대해 일정 수준의 상당한 수준 (예 : 0.05)과 최소 크기를 확보해야합니다.

나는 또한 유형 I 및 유형 II 오류를 피하기 위해 전력 테스트를 수행해야한다고 읽었습니다. 하지만 정말 필요한가요? 나는이 주제를 처음 접했고 이것은 매우 많은 다른 공식이 있고 그룹 G의 크기를 결정하는 데 어떤 것이 올바른지 모르기 때문에 매우 혼란 스럽습니다.

답변

2 BruceET Nov 23 2020 at 19:17

이것은 귀하의 질문에 대한 직접적인 대답은 아니지만 필요한 표본 크기를 얻기 위해 '검증 및 표본 크기'절차에 입력해야하는 정보를 보여줍니다.

현재 30,000 가구의 하루 "에너지 단위"수가 다음과 같다고 가정 해 보겠습니다. $100.$ 새로운 기술을 사용하면 가구당 에너지 소비가 평균으로 정상적으로 분배 될 것으로 예상합니다. $\mu < 100$$\sigma = 20.$ 당신은 90 % 정도의 감소를 감지하기를 바랍니다. $5$에너지 단위. 따라서 특정 대안이 $H_a: \mu = 95$ 거절 확률이 $0.9 = 90\%.$

확실히이 "정보"중 일부는 알려지지 않았고 추론적일 수 있지만 위의 모든 정보는 입력이 필요합니다. (출력의 효과를 확인하기 위해 약간의 입력 변형을 실험 할 수 있습니다.)

다음은 Minitab 최신 릴리스의 출력입니다.

Power and Sample Size 

1-Sample t Test

Testing mean = null (versus < null)
Calculating power for mean = null + difference
α = 0.05  Assumed standard deviation = 20

            Sample  Target
Difference    Size   Power  Actual Power
        -5     139     0.9      0.901145

따라서이 가상 시나리오에서는 다음과 같은 샘플 크기가 필요합니다. $n = 139$ 원하는 힘을 얻으려면. 다음 그래프는 감소를 감지하는 전력을 보여줍니다.$5$--- 다른 가능한 감소와 함께.

내 가정하에 약 140 채의 주택에 신기술을 설치 하고 결과에 대한 단일 샘플 t 테스트 를 수행하는 것이 가능해 보입니다.$H_0: \mu=100$$H_a: \mu < 100$ 5 % 수준에서.

참고 : (1) 정규 데이터의 경우 이러한 계산 은 자유도가 있는 비 중심 t 분포를 사용합니다.$n - 1$ 및 원하는 검정력, 탐지 할 차이 크기 및 예상 모집단 SD에 따라 달라지는 비중 심성 매개 변수 $n$ 관찰.

중요한 사실은 $n = 129$ 관측치는 차이의 90 % 검정력을 제공하기에 충분합니다. $5/20 = 1/4$ 예상되는 SD만큼 큽니다.

이 사이트와 인터넷에서 자신의 수준에 맞는 기술 설명을 검색 할 수 있습니다. 이 최근 Q & A 가 도움이 될 수 있습니다.

(2) 많은 통계 컴퓨터 프로그램에는 '검증력 및 표본 크기'절차가 있습니다. R에는 다양한 유형의 테스트를위한 이러한 절차가 포함 된 라이브러리가 있습니다. 검정력 및 표본 크기 계산을위한 온라인 사이트가 있지만 모든 사이트가 신뢰할 수있는 것은 아닙니다.

(3) R에서 확률 함수 dt, pt등은 비중 심성 매개 변수에 대해 거의 사용되지 않는 매개 변수 'ncp'를 갖습니다.

R의 시뮬레이션 : 100,000 회 반복으로 2 자리 정확도를 기대할 수 있습니다. 따라서 시뮬레이션은 Minitab 출력과 본질적으로 일치합니다.

set.seed(1121)
pv = replicate(10^5, t.test(rnorm(139, 95, 20), mu=100, alt="less")$p.val)
mean(pv <= 0.05)
[1] 0.89914