728x90
반응형

8. 평균 = 198 , 분산 = 36인 정규분포

 

1> 임의로 1명을 선정하였을때, 이 사람의 혈압이 196과 200사이일 확률

 

X ~ N(198 , 36)

 

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((200-198) / math.sqrt(36) ,2)
# z_2 = round((52-50) / math.sqrt(144/25) , 2)

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 =  (stats.norm.cdf((z_1)) - stats.norm.cdf(0)) * 2
ax.text(1.71 , .17, f'P({-z_1}<=Z<={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(0, .17), xytext=(1.7 , .17)  , 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))

P(196<= X <= 200) = P( (196-198) / 6 <= Z <= (200-198) / 6 ) = [P(Z<= (200-198) / 6 ) - P(Z<= 0)] *2 =P(-0.33 <= Z <= 0.33) = 0.2586

 

표준정규분포

 

 

 

 

2> 100명을 임의로 선정하여 표본을 만들때, 표본평균 |X의 표본분포를 구하라.

 

X ~ N(198 , 36)

 

|X ~ N(198 , 36/100)

 

3> 표본평균이 196과 200 사이일 확률

 

P(196<= |X <= 200) = P( (196 -198) / 루트(36/100) <= Z <= (200-198)/ 루트(36/100) ) = [ P(Z<=(200-198)/ 루트(36/100) ) - P(Z<=0) ] * 2 = P(-3.33<=Z<= 3.33) = 0.9991

 

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((200-198) / math.sqrt(36/100) ,2)
# z_2 = round((52-50) / math.sqrt(144/25) , 2)

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 =  (stats.norm.cdf((z_1)) - stats.norm.cdf(0)) * 2
ax.text(1.71 , .17, f'P({-z_1}<=Z<={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(0, .17), xytext=(1.7 , .17)  , 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))

크기가 주어진 표본평균의 표준분포

4> 표본평균이 뮤+- (모표준편차/5) 사이일 확률

 

 

모표준편차 = 6

표본평균편차 = 루트(36/100)  

P( 뮤- (모표준편차/5) <= |X <= 뮤+ (모표준편차/5) ) =  [ P(Z<=  [뮤 + (모표준편차/5) - 뮤] / 표본평균편차 ) - P(Z<= 0) ] * 2 =  [ P(Z<= (모표준편차 / (표본평균편차*5) ) - P(Z<=0) ]  * 2 = P(-2<= Z <= 2) = 0.9545

 

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((6/5) / math.sqrt(36/100) ,2)
# z_2 = round((52-50) / math.sqrt(144/25) , 2)

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 =  (stats.norm.cdf((z_1)) - stats.norm.cdf(0)) * 2
ax.text(1.71 , .17, f'P({-z_1}<=Z<={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(0, .17), xytext=(1.7 , .17)  , 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))

표본평균분포

9. 1km당 0.5g 이하일 것을 요구. 유럽에 수출하기 위하여 국내에서 생산된 특정 모델의 자동차에서 내뿜는 배기가스에 포함된 질소산화물은 1km당 평균 0.45g, 표준편차 0.05g인 정규분포를 따른다.

 

1> 이 모델의 자동차 한 대를 무작위로 선정했을 때, 유럽연합의 기준에 포함될 확률

 

X ~ N(0.45 ,0.05**2)

 

P(X<=0.5) = P(Z<= (0.5- 0.45) / 0.05 ) = P(Z<= 1.0) = 0.6827

 

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.5- 0.45) / math.sqrt(0.05**2) ,2)
# z_2 = round((52-50) / math.sqrt(144/25) , 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 =  (stats.norm.cdf((z_1)))
ax.text(1.71 , .17, f'P(Z<={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(0, .17), xytext=(1.7 , .17)  , 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))

표본평균의 표준분포그래프

 

 

2> 9대의 자동차를 무작위로 선정했을때, 표본평균이 유럽연합의 기준에 포함될 확률

 

n= 9

X ~ N(0.45 , 0.05**2)

 

|X ~ N(0.45 , 0.05**2 / 9 )

P(|X <= 0.5) = P(Z <=  (0.5 -0.45) / 루트(0.05**2 / 9 ) ) = P(Z<= 3.0) = 0.9973

 

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.5- 0.45) / math.sqrt(0.05**2 / 9 ) ,2)
# z_2 = round((52-50) / math.sqrt(144/25) , 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 =  (stats.norm.cdf((z_1)) - stats.norm.cdf(0)) * 2
ax.text(1.71 , .17, f'P(Z<={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(0, .17), xytext=(1.7 , .17)  , 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))

크기를 알때의 표본평균의 표준분포그래프

10. 평균 35시간, 표준편차 5.5시간 , 25개를 임의로 수거해서 조사==> 표본평균

 

n = 25

 

|X ~ N(35 , (5.5**2)/25)

 

1> 평균 사용시간이 36시간 이상일 확률

 

P(|X>=36) = 1 - P(|X<=36) = 1 - P(Z<= (36-35) / 루트((5.5**2)/25) ) = P(Z>=0.91) = 0.1814

 

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((36-35) / math.sqrt(5.5**2 / 25 ) ,2)
# z_2 = round((52-50) / math.sqrt(144/25) , 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- stats.norm.cdf(z_1)
ax.text(2.31 , .08, f'P(Z>={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(1.1, .08), xytext=(2.2 , .08)  , 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))

표본평균의 표준분포

2> 평균 사용시간이 33시간 이하일 확률

 

 

P(|X<=33) = P(Z<=  (33-35) /루트((5.5**2)/25)) = P(Z<= -1.82) = 0.0344

 

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((33-35) / math.sqrt(5.5**2 / 25 ) ,2)
# z_2 = round((52-50) / math.sqrt(144/25) , 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 =  stats.norm.cdf(z_1)
ax.text(-5.31 , .04, f'P(Z<={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(-2.1, .04), xytext=(-3.2 , .04)  , 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))

표본평균의 표준정규분포

3> 평균 사용시간이 34.5시간과 35.5시간 사이의 확률

 

 

|X ~ N(35 , (5.5**2)/25)

 

P(34.5 <= |X <= 35.5) = P(Z <=(35.5-35) / 루트( (5.5**2)/25 ) ) ) - P(Z<=0) )  * 2 = P(-0.45<= Z <= 0.45) =  0.3473

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((35.5- 35) / math.sqrt(5.5**2 / 25 ) ,2)
# z_2 = round((34.5 - 35) / math.sqrt(5.5**2 / 25) , 2)

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



area =  (stats.norm.cdf((z_1)) - stats.norm.cdf(0)) * 2
ax.text(1.71 , .17, f'P({-z_1}<=Z<={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(0, .17), xytext=(1.7 , .17)  , 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))

표본평균의 표준정규분포

 

 

 

4> 평균 사용시간이 x_0보다 클 확률이 0.025인 x_0를 구하라.

 

 

|X ~ N(35 , (5.5**2)/25)

 

P(|X > x_0) = 0.025

 

P(|X< x_0) = P(Z<= (x_0 -35)/ 루트(5.5**2 / 25) ) = P(Z>= 1.96) = 0.025

 

x_0  = 37.1559

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 = 2
x_0 = Symbol('x_0')
x_0 = solve( (x_0 -35) / math.sqrt(5.5**2 / 25)  - scipy.stats.norm.ppf((1-0.025)))
# print(x_0[0])
z_1 = round( float( (x_0[0] - 35) / math.sqrt(5.5**2 / 25)),2)
#
print(z_1)
print(type(z_1))
# z_2 = round((52-50) / math.sqrt(144/25) , 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- stats.norm.cdf(z_1)
ax.text(2.31 , .08, f'P(Z>={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(2.2, .02), xytext=(2.2 , .08)  , 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))

==> SOLVE() 이후 FLOAT()으로의 변환

표본평균을 구할 확률을 모를때의 표본평균의 표준정규분포

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

※혼자 공부 정리용

728x90
반응형

+ Recent posts