Z검정에서 모분산 대신 표본분산을 사용할 경우 p값이 얼마나 달라질 수 있는지 알아봅시다. Z검정에서 p값은 우리가 뽑은 표본으로 구한 Z값보다 극단적인 영역의 넓이로 정의됩니다. 이 넓이는 표준정규분포에서 구합니다.

우리가 뽑은 표본의 Z값은 아래와 같이 구합니다.
Z1=ˉX1−μσ√nZ1=¯X1−μσ√n
ˉX1¯X1은 우리가 뽑은 표본의 평균입니다. σσ가 모분산인데요. 모분산을 표본분산으로 바꾸면 Z1Z1 가 변하므로 p값도 바뀌게 됩니다. 모분산을 표본분산으로 바꿨을 때 p값이 얼마나 변하는지 확인해보려는 것입니다.
지난시간에 유도한 부등식을 가져옵시다.
qchisq(0.05,n−1)n−1 σ2≤s2≤qchisq(0.95,n−1)n−1 σ2qchisq(0.05,n−1)n−1 σ2≤s2≤qchisq(0.95,n−1)n−1 σ2
아래와 같이 간단히 치환했었습니다.
An−1σ2≤s2≤Bn−1σ2An−1σ2≤s2≤Bn−1σ2
각 항에 루트를 씌워줍니다.
√An−1σ≤s≤√Bn−1σ√An−1σ≤s≤√Bn−1σ
역수를 취해줍니다.
1√An−11σ≥1s≥1√Bn−11σ1√An−11σ≥1s≥1√Bn−11σ
각 항에 ˉX1−μ¯X1−μ를 곱해줍니다. ˉX¯X이 μμ보다 커서 p값이 우측꼬리에서 발생한다고 가정합시다.
1√An−1ˉX1−μσ≥ˉX1−μs≥1√Bn−1ˉX1−μσ1√An−1¯X1−μσ≥¯X1−μs≥1√Bn−1¯X1−μσ
각 항의 분모를 √n√n으로 나눠줍시다.
1√An−1ˉX1−μσ√n≥ˉX1−μs√n≥1√Bn−1ˉX1−μσ√n1√An−1¯X1−μσ√n≥¯X1−μs√n≥1√Bn−1¯X1−μσ√n
모분산으로 구한 Z값을 ZσZσ라고 놓고, 표본분산으로 구한 Z값을 ZsZs 라고 놓으면 위 식을 아래와 같이 치환할 수 있습니다.
1√An−1Zσ≥Zs≥1√Bn−1Zσ1√An−1Zσ≥Zs≥1√Bn−1Zσ
아래와 같이 변형합니다.
1√Bn−1Zσ≤Zs≤1√An−1Zσ1√Bn−1Zσ≤Zs≤1√An−1Zσ
모분산으로 구한 p값이 0.05가 나왔을 때를 기준으로 범위를 구하겠습니다. 모분산으로 구한 p값이 0.05가 나오려면 ZσZσ는 1.64여야 합니다. 위 식에 대입합시다.
1√Bn−1×1.64≤Zs≤1√An−1×1.641√Bn−1×1.64≤Zs≤1√An−1×1.64
아래와 같이 치환합니다.
B′n−1⋅1.64≤Zs≤A′n−1⋅1.64
표본분산으로 대체했을 때의 p값을 ps라고 놓으면 ps 의 범위는 아래와 같습니다. pnorm 은 표준정규분포의 누적분포함수입니다.
1−pnorm(A′n−1×1.64)≤ps≤1−pnorm(B′n−1×1.64)
n에 따라 양쪽 값이 어떻게 변하는지 알아봅시다.

표본 크기가 5000은 되야 어느정도 납득할 만한 범위가 됩니다. 표본크기 5000에서 표본분산으로 구한 p값이 0.048~0.053 입니다. 저 구간에 100% 들어오는 것도 아닙니다. 확률은 95%입니다.
모분산으로 구한 p값과 표본분산으로 구한 p값의 차이가 10% 이하가 되는 표본 크기를 구해보았습니다. n은 1971입니다. 5% 이내일 경우 n은 9917 입니다.
표본의 크기가 수천개인 아주 큰 표본에서 대체가 가능합니다. 우리가 기준으로 사용하는 표본크기 30에서 표본분산으로 구한 p값의 범위는 아래와 같습니다.
0.018≤ps≤0.088
범위가 상당히 넓습니다. 이정도 표본크기에서는 모분산 대신 표본분산을 사용하면 안된다고 생각합니다.
#표 그리는 코드
size=c(10,30,50,100,200,500,1000,3000,5000,8000,10000)
confid=0.95
df=data.frame(n=NA,A=NA,B=NA)
for (i in 1:length(size)){
A= sqrt(qchisq(1-confid,size[i]-1)/(size[i]-1))
B=sqrt(qchisq(confid,size[i]-1)/(size[i]-1))
A_prime=1/A
B_prime=1/B
p_left=round(1-pnorm(A_prime*1.64),3)
p_right=round(1-pnorm(B_prime*1.64),3)
df[i,]=list(size[i],p_left,p_right)
}
colnames(df)=c("n","p_left","p_right")
#타겟 표본수 찾는 코드
confid=0.95
target=0.05
#A' 계산
size=2
p_left=0
while(p_left<target*0.95){
A= sqrt(qchisq(1-confid,size-1)/(size-1))
A_prime=1/A
p_left=1-pnorm(A_prime*1.64)
size=size+1
}
print(size)
#B' 계산
size=100
p_right=1
while(p_right>target*1.05){
B=sqrt(qchisq(confid,size-1)/(size-1))
B_prime=1/B
p_right=1-pnorm(B_prime*1.64)
size=size+1
}
print(size)
#강의 영상
'@ 필수과목 > 손으로 푸는 통계' 카테고리의 다른 글
[손으로 푸는 통계 ver1.0] 101. 종강 및 이후계획 (5) | 2022.07.22 |
---|---|
[손으로 푸는 통계 ver1.0] 100. 전체내용 요약 (0) | 2022.07.22 |
[손으로 푸는 통계 ver1.0] 99. t 분포의 등장배경 (고셋과 스튜던트) (0) | 2022.07.22 |
[손으로 푸는 통계 ver1.0] 98. 표본분산을 모분산 대신 사용할 수 있는가 (3) 균등분포를 따르는 모집단에서 p값 비교 (0) | 2022.07.21 |
[손으로 푸는 통계 ver1.0] 96. 표본분산을 모분산 대신 사용할 수 있는가 (1) 정규분포를 따르는 모집단에서 모분산과 표본분산 비교 (0) | 2022.07.21 |
[손으로 푸는 통계 ver1.0] 95. 표본분산의 분포 요약 (0) | 2022.07.20 |
[손으로 푸는 통계 ver1.0] 94. 표본분산의 분포에서 모집단 정규분포 조건제거 증명 (3) 유도한 식 검증 (0) | 2022.07.18 |
[손으로 푸는 통계 ver1.0] 93. 표본분산의 분포에서 모집단 정규분포 조건제거 증명 (2) 정규분포를 카이제곱분포로 근사 (0) | 2022.07.17 |
댓글
bigpicture님의
글이 좋았다면 응원을 보내주세요!
이 글이 도움이 됐다면, 응원 댓글을 써보세요. 블로거에게 지급되는 응원금은 새로운 창작의 큰 힘이 됩니다.
응원 댓글은 만 14세 이상 카카오계정 이용자라면 누구나 편하게 작성, 결제할 수 있습니다.
글 본문, 댓글 목록 등을 통해 응원한 팬과 응원 댓글, 응원금을 강조해 보여줍니다.
응원금은 앱에서는 인앱결제, 웹에서는 카카오페이 및 신용카드로 결제할 수 있습니다.