기초통계/대표본 추정

★비율을 알고 있을때와 모를때의 표본의 크기★모표준편차 1개가 주어질때 표본의 크기 구하기★모비율의 차에 대한 신뢰구간★기초통계학-[연습문제 -11]

goAhEAd_29 2023. 1. 12. 17:16
728x90
반응형

19. 남학생 256명 , 여학생 348명을 대상으로 청소년의 음주 정도에 대하여 표본조사한 결과, 남학생 83.9% , 여학생 59.2%가 음주 경험이 있는 것으로 조사되었다. 남학생과 여학생의 음주율 차에 대한 95% 신뢰구간을 구하라.

 

^p1= 0.839

^p2 = 0.592

 

n_A = 256

n_B = 348

 

x = np.arange(-5,5 , .001)

fig = plt.figure(figsize=(15,8))

ax = sns.lineplot(x , stats.norm.pdf(x, loc=0 , scale =1)) #정의역 범위 , 평균 = 0 , 표준편차 =1 인 정규분포 플롯

trust = 95#신뢰구간

# z_1 = round((0.05) / math.sqrt( 0.0018532 ) ,2)
# # z_2 = round((34.5 - 35) / math.sqrt(5.5**2 / 25) , 2)
z_1 = round(scipy.stats.norm.ppf(1 - (1-(trust/100))/2) ,3 )

ax.fill_between(x, stats.norm.pdf(x, loc=0 , scale =1) , 0 , where = (x<=z_1) & (x>=-z_1) , facecolor = 'skyblue') # x값 , y값 , 0 , x<=0 인곳 , 색깔



area = scipy.stats.norm.cdf(z_1) - scipy.stats.norm.cdf(-z_1)
plt.annotate('' , xy=(0, .1), xytext=(2 , .1)  , arrowprops = dict(facecolor = 'black'))

ax.vlines(x= z_1, ymin= 0 , ymax= stats.norm.pdf(z_1, loc=0 , scale =1) , color = 'black' , linestyle ='solid' , label ='{}'.format(2))
ax.vlines(x= -z_1, ymin= 0 , ymax= stats.norm.pdf(-z_1, loc=0 , scale =1) , color = 'black' , linestyle ='solid' , label ='{}'.format(2))

ax.text(2 , .1, f'P({-z_1}<=Z<={z_1}) : {round(area,4)}',fontsize=15)


p1 = 0.839
p2 = 0.592
A = 256
B = 348
ax.text(-5.5 , .25, f'신뢰구간 모비율의 차에 대한 {trust}% : \n' + r'($\left(\widehat{p}_{1} - \widehat{p}_{2}\right)$' +f'-{z_1}' + r'$\sqrt{\dfrac{\widehat{p}_{1}\widehat{q}_{1}}{n}+\dfrac{\widehat{p}_{2}\widehat{q}_{2}}{m}}$' +' , '+ r'$\left(\widehat{p}_{1} - \widehat{p}_{2}\right)$' +f'+ {z_1}' + r'$\sqrt{\dfrac{\widehat{p}_{1}\widehat{q}_{1}}{n}+\dfrac{\widehat{p}_{2}\widehat{q}_{2}}{m}}$) =' + f'\n ({round(p1-p2 - z_1* math.sqrt(p1*(1-p1)/A + p2*(1-p2)/B),4)} , {round(p1-p2 + z_1* math.sqrt(p1*(1-p1)/A + p2*(1-p2)/B),4)} )',fontsize=15)


ax.text(1 , .35, f' 신뢰구간 {trust}% 에 대한 오차 한계( ' +r'$e_{%d}) : $ '% trust + f'\n' + r'${%.3f}\sqrt{\dfrac{\widehat{p}_{1}\widehat{q}_{1}}{n}+\dfrac{\widehat{p}_{2}\widehat{q}_{2}}{m}}$ = '% z_1 + f'{round((z_1)*math.sqrt(p1*(1-p1)/A + p2*(1-p2)/B),3)} ' , fontsize= 15)

모비율 차에 대한 신뢰구간

20. 한강의 물속에 포함된 염분의 평균 농도를 구하고자 한다. 95% 신뢰구간의 길이가 0.4를 넘지 않도록 하기 위한 최소한의 표본의 크기를 구하라.(염분의 농도에 대한 표준편차는 3이다.)

x = np.arange(-5,5 , .001)

fig = plt.figure(figsize=(15,8))

ax = sns.lineplot(x , stats.norm.pdf(x, loc=0 , scale =1)) #정의역 범위 , 평균 = 0 , 표준편차 =1 인 정규분포 플롯

trust = 95 #신뢰구간

# z_1 = round((0.05) / math.sqrt( 0.0018532 ) ,2)
# # z_2 = round((34.5 - 35) / math.sqrt(5.5**2 / 25) , 2)
z_1 = round(scipy.stats.norm.ppf(1 - (1-(trust/100))/2) ,3 )

ax.fill_between(x, stats.norm.pdf(x, loc=0 , scale =1) , 0 , where = (x<=z_1) & (x>=-z_1) , facecolor = 'skyblue') # x값 , y값 , 0 , x<=0 인곳 , 색깔



area = scipy.stats.norm.cdf(z_1) - scipy.stats.norm.cdf(-z_1)
plt.annotate('' , xy=(0, .1), xytext=(2 , .1)  , arrowprops = dict(facecolor = 'black'))

ax.vlines(x= z_1, ymin= 0 , ymax= stats.norm.pdf(z_1, loc=0 , scale =1) , color = 'black' , linestyle ='solid' , label ='{}'.format(2))
ax.vlines(x= -z_1, ymin= 0 , ymax= stats.norm.pdf(-z_1, loc=0 , scale =1) , color = 'black' , linestyle ='solid' , label ='{}'.format(2))

ax.text(2 , .1, f'P({-z_1}<=Z<={z_1}) : {round(area,4)}',fontsize=15)

ax.text(2 , .15, f'신뢰구간 모평균에 대한 {trust}% : \n' + r'$\overline{X}$' +f'-{z_1}' + r'$\dfrac{\sigma}{\sqrt{n}},\overline{X}$' + f'+{z_1}' + r'$\dfrac{\sigma}{\sqrt{n}}$',fontsize=15)

d = 0.4 # 신뢰구간
o1 = 3 #모 표준편차 1
#o2 = 3 #모 표준편차 2
ax.text(2 , .35,  r'$\sigma_{1} = $' + f'{o1}\n'  + f'신뢰구간 d = {d}',fontsize=15)
c = 2**2 * z_1**2*(o1**2 ) / d**2
ax.text(-4.5 , .35,  r'$n=m\geq\dfrac{{%2d}^{2}*{%.2f}^{2}(\sigma^2_{1})}{d ^{2}} = {%.3f}$'% (2 , z_1 ,c) ,fontsize=15)
print(4*z_1 * (5**2 + 3**2) / 2**2)

모표준편차 1개가 주어질때 표본의 크기 구하기

n = 865

 

 

21. 모 일간지의 선호도에 대한 95% 신뢰구간의 길이를 8% 이내로 구하기 위하여 표본조사를 실시하고자 한다. 조건을 만족시키는 최소한의 표본의 크기를 구하라.

 

1> 5년 전에 조사한 바에 다르면 , 이 일간지에 대한 선호도는 29.7% 이다.

 

p = 0.297

d = 0.08

x = np.arange(-5,5 , .001)

fig = plt.figure(figsize=(15,8))

ax = sns.lineplot(x , stats.norm.pdf(x, loc=0 , scale =1)) #정의역 범위 , 평균 = 0 , 표준편차 =1 인 정규분포 플롯

trust = 95 #신뢰도

# z_1 = round((0.05) / math.sqrt( 0.0018532 ) ,2)
# # z_2 = round((34.5 - 35) / math.sqrt(5.5**2 / 25) , 2)
z_1 = round(scipy.stats.norm.ppf(1 - (1-(trust/100))/2) ,3 )

ax.fill_between(x, stats.norm.pdf(x, loc=0 , scale =1) , 0 , where = (x<=z_1) & (x>=-z_1) , facecolor = 'skyblue') # x값 , y값 , 0 , x<=0 인곳 , 색깔



area = scipy.stats.norm.cdf(z_1) - scipy.stats.norm.cdf(-z_1)
plt.annotate('' , xy=(0, .1), xytext=(2 , .1)  , arrowprops = dict(facecolor = 'black'))

ax.vlines(x= z_1, ymin= 0 , ymax= stats.norm.pdf(z_1, loc=0 , scale =1) , color = 'black' , linestyle ='solid' , label ='{}'.format(2))
ax.vlines(x= -z_1, ymin= 0 , ymax= stats.norm.pdf(-z_1, loc=0 , scale =1) , color = 'black' , linestyle ='solid' , label ='{}'.format(2))

ax.text(2 , .1, f'P({-z_1}<=Z<={z_1}) : {round(area,4)}',fontsize=15)

ax.text(2 , .15, f'신뢰구간 모평균에 대한 {trust}% : \n' + r'$\widehat{p}$' +f'-{z_1}' + r'$\sqrt{\dfrac{\widehat{p}\widehat{q}}{n}}$' +' , '+ r'$\widehat{p}$' +f'+ {z_1}' + r'$\sqrt{\dfrac{\widehat{p}\widehat{q}}{n}}$',fontsize=15)
#\widehat{p}-\sqrt{\dfrac{\widehat{p}\widehat{q}}{n}}


ax.text(-5.5 , .15, f'신뢰구간 L = 2*{z_1}' + r'$\sqrt{\dfrac{\widehat{p}\widehat{q}}{n}}$',fontsize=15)

d = 0.08
ax.text(-5.5 , .25, f'사전정보가 없는 경우 n' + r'$\geq\dfrac{z^2_{a/2}}{d^2}$' + f' = {round(z_1**2 / d**2,2)}',fontsize=15)
p = 0.297
ax.text(-5.5 , .35, f'사전정보 p가 있는 경우 n' + r'$\geq\dfrac{4*z^2_{a/2}*{p}*{(1-p)}}{d^2}$' + f' = {round(4*z_1**2 * p *(1-p) / d**2,4)}',fontsize=15)

비율을 알고 있을때의 표본의 크기

2> 표본조사를 처음으로 실시하여 아무런 정보가 없다.

 

n = 600.25

n = 601

 

 

출처 :  [쉽게 배우는 생활속의 통계학]  [북스힐 , 이재원] 

※혼자 공부 정리용

 

728x90
반응형