★표본비율차이에 따른 표준정규분포★기초통계학-[연습문제02 -21]
32. 여자의 27%와 남자의 22%가 어느 특정 브랜드의 커피를 좋아한다고 주장한다. 여자와 남자를 동일하게 250명씩 임의로 선정하여 조사한 결과, 여자 중에서 69명, 남자중에서 58명이 좋아한다고 응답하였다.
1> 여자와 남자의 표본비율의 차 $ \widehat{P}_{1} $ - $ \widehat{P}_{2} $에 대한 근사 확률분포를 구하라.
https://knowallworld.tistory.com/311
★표본비율의 차에 대한 표본분포★기초통계학-[모집단 분포와 표본분포 -12]
1. 두 표본비율의 차에 대한 표본분포 ==> 서로 독립이고 모비율이 각각 p_1 , p_2인 두 모집단에서 각각 크기 n,m인 표본 선정 ==> 표본의 크기가 충분히 크다면 https://knowallworld.tistory.com/301 ★모비율
knowallworld.tistory.com
m = n = 250
$ {p}_{1} $ = 0.27
$ {p}_{2} $ = 0.22
$ \dfrac{p_{1}q_{1}}{n} $ + $ \dfrac{p_{2}q_{2}}{n} $ = 0.27*0.73 / 250 + 0.22*0.78 / 250 = 0.00147
$ \widehat{p}_{1}-\widehat{p}_{2} $ ~ N(0.05 , $ \sqrt{0.00147} $ )
2> $ \widehat{P}_{1} $ - $ \widehat{P}_{2} $ 가 3% 보다 작을 근사 확률
P($ \widehat{P}_{1} $ - $ \widehat{P}_{2} $ < 0.03) = P(Z< 0.03 - 0.05 / 루트(0.00147) ) = P(Z<= -0.52) = 0.6985
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 인 정규분포 플롯
z_1 = round((0.03-0.05) / math.sqrt(0.00147) ,2)
# # z_2 = round((34.5 - 35) / math.sqrt(5.5**2 / 25) , 2)
# z_1 = round(scipy.stats.norm.ppf(1- 0.025) ,2 )
ax.fill_between(x, stats.norm.pdf(x, loc=0 , scale =1) , 0 , where = (x<=z_1) , facecolor = 'skyblue') # x값 , y값 , 0 , x<=0 인곳 , 색깔
area = 1- scipy.stats.norm.cdf(z_1)
ax.text(0 , .12, f'P(Z<={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(-1.3, .1), xytext=(0 , .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))
3> $ \widehat{P}_{1} $ - $ \widehat{P}_{2} $ 가 관찰된 표본비율의 차보다 클 근사 확률
관찰된 표본비율
여자 : 69 / 250
남자 : 58 / 250
P( $ \widehat{P}_{1} $ - $ \widehat{P}_{2} $ > (69/250 - 58/250) ) = P(Z > (69/250 - 58/250) - 0.05) / 루트(0.00147) ) = P(Z>=-0.16) = 0.5636
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 인 정규분포 플롯
z_1 = round((69/250 - 58/250 - 0.05) / math.sqrt(0.00147) ,2)
# # z_2 = round((34.5 - 35) / math.sqrt(5.5**2 / 25) , 2)
# z_1 = round(scipy.stats.norm.ppf(1- 0.025) ,2 )
ax.fill_between(x, stats.norm.pdf(x, loc=0 , scale =1) , 0 , where = (x>=z_1) , facecolor = 'skyblue') # x값 , y값 , 0 , x<=0 인곳 , 색깔
area = 1- scipy.stats.norm.cdf(z_1)
ax.text(-1.5 , .12, f'P(Z>={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(0, .1), xytext=(-1.3 , .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))
4> $ \widehat{p}_{1} $ - $ \widehat{p}_{2} $ 가 $ {p}_{0} $ 보다 클 확률이 0.025인 $ {p}_{0} $를 구하라.
P(Z> (p_0 - 0.05) / 루트(0.00147) ) = P(Z>= 1.96) =0.025
$ {p}_{0} $ = 0.1251
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 인 정규분포 플롯
# z_1 = round((69/250 - 58/250 - 0.05) / math.sqrt(0.00147) ,2)
# # z_2 = round((34.5 - 35) / math.sqrt(5.5**2 / 25) , 2)
z_1 = round(scipy.stats.norm.ppf(1-0.025) ,2 )
ax.fill_between(x, stats.norm.pdf(x, loc=0 , scale =1) , 0 , where = (x>=z_1) , facecolor = 'skyblue') # x값 , y값 , 0 , x<=0 인곳 , 색깔
area = 1- scipy.stats.norm.cdf(z_1)
ax.text(.3 , .03, f'P(Z>={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(2.2, .01), xytext=(1.3 , .01) , 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))
p = Symbol('p')
b = solve(1.96 * math.sqrt(0.00147) + 0.05 - p)
print(b)
33. 25세 이상 남자와 여자 중 대졸 이상은 각각 37.8% , 25.4%로 조사되었다. 남자와 여자를 각각 500명, 450명씩 표본조사한 결과, 남자와 여자 비율의 차가 10%이하일 확률
p_1 = 0.378
n = 500
p_2 = 0.254
m = 450
^p_1 - ^p_2 ~ N(0.378-0.254 , 0.378*(1-0.378) / 500 + 0.254*(1-0.254)/450 )
P(^p_1 - ^p_2 <= 0.1) = P(Z <= (0.1 - (0.378-0.254)) / 루트(0.378*(1-0.378) / 500 + 0.254*(1-0.254)/450) ) = P(Z<= -0.8) = 0.2119
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 인 정규분포 플롯
z_1 = round((0.1 - 0.378+0.254) / math.sqrt( (0.378)*(1-0.378)/500 + 0.254 *(1-0.254)/450 ) ,2)
# # z_2 = round((34.5 - 35) / math.sqrt(5.5**2 / 25) , 2)
# z_1 = round(scipy.stats.norm.ppf(1-0.025) ,2 )
ax.fill_between(x, stats.norm.pdf(x, loc=0 , scale =1) , 0 , where = (x<=z_1) , facecolor = 'skyblue') # x값 , y값 , 0 , x<=0 인곳 , 색깔
area = scipy.stats.norm.cdf(z_1)
ax.text(-.2 , .09, f'P(Z<={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(-1.5, .1), xytext=(-.3 , .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))
34. 중국 131명중 93.9% , 북미 및 유럽 48명중 93.8%, 두 지역의 외국인 주민의 한국어 교육을 받을 의향이 동일하게 93%가 그렇다고 응답.
1>중국과 북미 및 유럽 외국인 주민의 표본비율의 차 ^p_1 - ^p_2에 대한 근사 확률분포
^p_1 - ^p_2 ~ N(0 , 0.93*(0.07) / 131 + 0.93*(0.07) / 48 ) = N(0 , 0.0018532)
2>^p_1 - ^p_2가 5%보다 작을 근사 확률
P(^p_1 - ^p_2 <= 0.05) = P(Z<= (0.05-0) / 루트(0.0018532) ) = P(Z<=1.16) = 0.877
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 인 정규분포 플롯
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-0.025) ,2 )
ax.fill_between(x, stats.norm.pdf(x, loc=0 , scale =1) , 0 , where = (x<=z_1) , facecolor = 'skyblue') # x값 , y값 , 0 , x<=0 인곳 , 색깔
area = scipy.stats.norm.cdf(z_1)
ax.text(2 , .1, f'P(Z<={z_1}) : {round(area,4)}',fontsize=15)
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))
3>^p_1 - ^p_2가 관찰된 표본비율의 차보다 클 근사 확률
P(^p_1 - ^p_2 > 0.939 - 0.938) = P(Z> = (0.001 - 0)/루트( 0.0018532) ) = P(Z>=0.02) = 0.508
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 인 정규분포 플롯
z_1 = round((0.001) / 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-0.025) ,2 )
ax.fill_between(x, stats.norm.pdf(x, loc=0 , scale =1) , 0 , where = (x>=z_1) , facecolor = 'skyblue') # x값 , y값 , 0 , x<=0 인곳 , 색깔
area = 1- scipy.stats.norm.cdf(z_1)
ax.text(2 , .1, f'P(Z>={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(0.5, .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))
4>^p_1 - ^p_2가 p_0보다 클 확률이 0.05인 p_0를 구하라.
P(^p_1 - ^p_2 > p_0) = 0.05
P(Z> p_0/루트(0.0018532) ) = P(Z>=1.64) =0.05
p_0 = 0.0706
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 인 정규분포 플롯
# z_1 = round((0.001) / 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-0.05) ,2 )
ax.fill_between(x, stats.norm.pdf(x, loc=0 , scale =1) , 0 , where = (x>=z_1) , facecolor = 'skyblue') # x값 , y값 , 0 , x<=0 인곳 , 색깔
area = 1- scipy.stats.norm.cdf(z_1)
ax.text(2 , .1, f'P(Z>={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(2, .01), 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))
t = Symbol('t')
e = solve(1.64 * math.sqrt(0.0018532) - t)
print(e)
출처 : [쉽게 배우는 생활속의 통계학] [북스힐 , 이재원]
※혼자 공부 정리용