본문 바로가기
@ 필수과목/손으로 푸는 통계

[손으로 푸는 통계 ver1.0] 97. 표본분산을 모분산 대신 사용할 수 있는가 (2) 정규분포를 따르는 모집단에서 p값 비교

by bigpicture 2022. 7. 21.
반응형

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

 

 

우리가 뽑은 표본의 Z값은 아래와 같이 구합니다. 

 

$Z_{1}=\frac{ \bar{X}_{1}-\mu }{ \frac{\sigma}{\sqrt{n}} }$

 

$\bar{X}_{1}$은 우리가 뽑은 표본의 평균입니다. $\sigma$가 모분산인데요. 모분산을 표본분산으로 바꾸면 $Z_{1}$ 가 변하므로 p값도 바뀌게 됩니다. 모분산을 표본분산으로 바꿨을 때 p값이 얼마나 변하는지 확인해보려는 것입니다. 


지난시간에 유도한 부등식을 가져옵시다. 


$\frac{ qchisq(0.05,n-1)}{n-1}\ \sigma^{2} \leq  s^{2} \leq \frac{qchisq(0.95,n-1)}{n-1} \ \sigma^{2}$

 

아래와 같이 간단히 치환했었습니다. 

 

$A_{n-1} \sigma^2 \leq  s^2 \leq B_{n-1} \sigma^2$

 

각 항에 루트를 씌워줍니다. 

 

$ \sqrt{A_{n-1}} \sigma  \leq  s  \leq  \sqrt{B_{n-1}} \sigma$

 

역수를 취해줍니다. 

 

$ \frac{1}{\sqrt{A_{n-1}}} \frac{1}{ \sigma}  \geq   \frac{1}{s}  \geq \frac{1}{ \sqrt{B_{n-1}}} \frac{1}{ \sigma} $

 

각 항에 $\bar{X}_{1}-\mu$를 곱해줍니다. $\bar{X}$이 $\mu$보다 커서 p값이 우측꼬리에서 발생한다고 가정합시다. 

 

$ \frac{1}{\sqrt{A_{n-1}}} \frac{\bar{X}_{1}-\mu}{ \sigma}  \geq   \frac{\bar{X}_{1}-\mu}{s}  \geq \frac{1}{ \sqrt{B_{n-1}}} \frac{\bar{X}_{1}-\mu}{ \sigma} $

 

각 항의 분모를 $\sqrt{n}$으로 나눠줍시다. 

 

$ \frac{1}{\sqrt{A_{n-1}}} \frac{\bar{X}_{1}-\mu}{ \frac{\sigma}{\sqrt{n}}}  \geq   \frac{\bar{X}_{1}-\mu}{ \frac{s}{\sqrt{n}} }  \geq \frac{1}{ \sqrt{B_{n-1}}} \frac{\bar{X}_{1}-\mu}{ 
 \frac{\sigma}{\sqrt{n}}}$

 

모분산으로 구한 Z값을 $Z_{\sigma}$라고 놓고, 표본분산으로 구한 Z값을 $Z_{s}$ 라고 놓으면 위 식을 아래와 같이 치환할 수 있습니다. 

 

$ \frac{1}{\sqrt{A_{n-1}}} Z_{\sigma}  \geq  Z_{s}  \geq \frac{1}{ \sqrt{B_{n-1}}} Z_{\sigma}$

 

아래와 같이 변형합니다. 

 

$ \frac{1}{\sqrt{B_{n-1}}} Z_{\sigma}  \leq  Z_{s}  \leq \frac{1}{ \sqrt{A_{n-1}}} Z_{\sigma}$

 

모분산으로 구한 p값이 0.05가 나왔을 때를 기준으로 범위를 구하겠습니다. 모분산으로 구한 p값이 0.05가 나오려면 $Z_{\sigma}$는 1.64여야 합니다. 위 식에 대입합시다. 

 

$ \frac{1}{\sqrt{B_{n-1}}} \times 1.64  \leq  Z_{s}  \leq \frac{1}{ \sqrt{A_{n-1}}} \times 1.64$

 

아래와 같이 치환합니다. 

 

$B'_{n-1}\cdot 1.64 \leq Z_{s} \leq A'_{n-1}\cdot 1.64$

 

표본분산으로 대체했을 때의 p값을 $p_{s}$라고 놓으면 $p_{s}$ 의 범위는 아래와 같습니다. pnorm 은 표준정규분포의 누적분포함수입니다. 

 

$1-pnorm(A'_{n-1} \times 1.64) \leq p_{s} \leq 1-pnorm(B'_{n-1} \times 1.64)$

 

n에 따라 양쪽 값이 어떻게 변하는지 알아봅시다. 

 

 

표본 크기가 5000은 되야 어느정도 납득할 만한 범위가 됩니다. 표본크기 5000에서 표본분산으로 구한 p값이 0.048~0.053 입니다. 저 구간에 100% 들어오는 것도 아닙니다. 확률은 95%입니다. 

 

모분산으로 구한 p값과 표본분산으로 구한 p값의 차이가 10% 이하가 되는 표본 크기를 구해보았습니다. n은 1971입니다. 5% 이내일 경우 n은 9917 입니다. 

 

표본의 크기가 수천개인 아주 큰 표본에서 대체가 가능합니다. 우리가 기준으로 사용하는 표본크기 30에서 표본분산으로 구한 p값의 범위는 아래와 같습니다. 

 

$0.018 \leq p_{s} \leq 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)

 

 

#강의 영상

 

반응형

댓글