728x90
반응형

1. 구간추정

 

==> 대표본을 선정하여 모평균 점추정 방식

 

==> 표본이 어떻게 선정되느냐에 따라 왜곡된 추정값을 얻는 오류 범할 수 있다.

 

==> 모수의 참값이 포함되리라고 믿어지는 구간을 추정

 

2. 신뢰구간의 의미

 

==> 표본으로부터 얻은 점추정이 모수의 참값에 가능한 가깝기를 바라지만, 어느정도로 참값에 가까운지 신뢰할 수 없다.

 

==> 신뢰도 (1-a)100%에서 모수의 참 값이 포함되리라고 믿어지는 구간

 

 

3. 신뢰도

 

==> 모수의 참값이 추정한 구간 안에 포함될 것으로 믿어지는 미리 정해 놓은 확신의 정도, 일반적으로 (1-a)100%

신뢰구간

신뢰구간의 하한 과 상한 사이에 모수의 참값이 포함 가능하다.

 

==> e는 오차 한계(margin of error) 라고 한다.

 

 

EX ) 95%의 신뢰도에서 표본 20개를 임의로 추출

 

==>이 표본으로부터 얻은 신뢰구간들 중에서 95%에 해당하는 19개 구간이 모평균의 참값을 포함하고 최대 5%에 해당하는 1개의 구간은 모수의 참값을 포함하지 않을 수 있다.

 

4. 모평균의 신뢰구간

 

https://knowallworld.tistory.com/302

 

★모분산을 모를땐 t-분포!★stats.norm.cdf()★모분산을 알때/모를때 표본평균의 표본분포★일표본

1. 표본평균의 표본분포(모분산을 아는 경우) ==> 표본평균에 대한 표본분포는 정규분포를 따른다. EX-01) 모평균 100 , 모분산 9인 정규모집단으로부터 크기 25인 표본을 임의로 추출 1> 표본평균 |X

knowallworld.tistory.com

==> 표본평균의 정규분포화

표본평균에 대한 표본분포
표본평균에 대한 표본분포
표준정규분포에서 양쪽 꼬리확률이 각각 a/2인 임계점에 대한 식

 

1> 모평균에 대한 90% 신뢰구간 :

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(0.95) ,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, '신뢰구간 모평균에 대한 90% : \n' + r'$\overline{X}-{1.645}\dfrac{\sigma}{\sqrt{n}},\overline{X}+{1.645}\dfrac{\sigma}{\sqrt{n}}$',fontsize=15)

모평균에 대한 신뢰구간

 

2> 모평균에 대한 95% 신뢰구간 :

 

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- (1-0.95)/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, '신뢰구간 모평균에 대한 95% : \n' + r'$\overline{X}-{1.96}\dfrac{\sigma}{\sqrt{n}},\overline{X}+{1.96}\dfrac{\sigma}{\sqrt{n}}$',fontsize=15)

모평균에 대한 신뢰구간

3> 모평균에 대한 99% 신뢰구간 :

 

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- (1-0.99)/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, '신뢰구간 모평균에 대한 99% : \n' + r'$\overline{X}-{2.576}\dfrac{\sigma}{\sqrt{n}},\overline{X}+{2.576}\dfrac{\sigma}{\sqrt{n}}$',fontsize=15)

모평균에 대한 신뢰구간

EX) 전자책에 있는 텍스트 한 쪽을 읽는 데 걸리는 평균 시간에 대한 90% , 95% , 99% 신뢰구간을 구하라.

 

A= [ 43.2 , 41.5 , 48.3 , 37.7 , 46.8 , 42.6 , 46.7, 51.4 , 47.3 , 40.1 , 46.2 , 44.7]

 

A ~ N(44.7083 , 8/루트(12) ) 

 

1> 평균 시간에 대한 90% 신뢰구간

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 - (1-0.9)/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, '신뢰구간 모평균에 대한 90% : \n' + r'$\overline{X}-{1.645}\dfrac{\sigma}{\sqrt{n}},\overline{X}+{1.645}\dfrac{\sigma}{\sqrt{n}}$',fontsize=15)

A = [ 43.2 , 41.5 , 48.3 , 37.7 , 46.8 , 42.6 , 46.7, 51.4 , 47.3 , 40.1 , 46.2 , 44.7]
MEANS = round(np.mean(A) ,2)
STDS = round(math.sqrt(64/len(A)),2)
print((z_1 * STDS / math.sqrt(len(A))))
ax.text(2 , .25, '신뢰구간 모평균에 대한 90% : \n' + f'{round(MEANS - (z_1 * STDS ),2)} ~ {round(MEANS + (z_1 * STDS ),2)}' , fontsize= 15)


ax.text(2 , .35,  r'$\overline{X} = $' + f'{MEANS}\n' +  r'$\sigma = $' + f'{STDS}\n' + r'$\sqrt{n} = $' + f'{round(math.sqrt(len(A)),2)}',fontsize=15)

모평균에 대한 신뢰구간

2> 평균 시간에 대한 95% 신뢰구간

 

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)

A = [ 43.2 , 41.5 , 48.3 , 37.7 , 46.8 , 42.6 , 46.7, 51.4 , 47.3 , 40.1 , 46.2 , 44.7]
MEANS = round(np.mean(A) ,2)
STDS = round(math.sqrt(64/len(A)),2)
print((z_1 * STDS / math.sqrt(len(A))))
ax.text(2 , .25, f'신뢰구간 모평균에 대한 {trust}% : \n' + f'{round(MEANS - (z_1 * STDS ),2)} ~ {round(MEANS + (z_1 * STDS ),2)}' , fontsize= 15)


ax.text(2 , .35,  r'$\overline{X} = $' + f'{MEANS}\n' +  r'$\sigma = $' + f'{STDS}\n' + r'$\sqrt{n} = $' + f'{round(math.sqrt(len(A)),2)}',fontsize=15)

모평균에 대한 신뢰구간

3> 평균 시간에 대한 99% 신뢰구간

 

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 = 99 #신뢰구간

# 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)

A = [ 43.2 , 41.5 , 48.3 , 37.7 , 46.8 , 42.6 , 46.7, 51.4 , 47.3 , 40.1 , 46.2 , 44.7]
MEANS = round(np.mean(A) ,2)
STDS = round(math.sqrt(64/len(A)),2)
print((z_1 * STDS / math.sqrt(len(A))))
ax.text(2 , .25, f'신뢰구간 모평균에 대한 {trust}% : \n' + f'{round(MEANS - (z_1 * STDS ),2)} ~ {round(MEANS + (z_1 * STDS ),2)}' , fontsize= 15)


ax.text(2 , .35,  r'$\overline{X} = $' + f'{MEANS}\n' +  r'$\sigma = $' + f'{STDS}\n' + r'$\sqrt{n} = $' + f'{round(math.sqrt(len(A)),2)}',fontsize=15)

모평균에 대한 신뢰구간

EX-02) 9명의 어린이가 하루 동안 TV를 시청하는 시간 A = [2.2 , 3.1 , 3.8 , 2.7 , 4.0 , 2.6 , 2.4 , 1.6 , 2.3] , 이 표본을 이용하여 하루동안 TV를 시청하는 평균 시간에 대한 90% , 95% , 99% 신뢰구간을 구하라.(분산이 0.5시간인 정규분포를 따른다.)

 

|X ~ N(2.744 , 0.5/9)

 

1> 신뢰구간 90%

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 = 90 #신뢰구간

# 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)

A = [2.2 , 3.1 , 3.8 , 2.7 , 4.0 , 2.6 , 2.4 , 1.6 , 2.3]
MEANS = round(np.mean(A) ,2)
STDS = round(math.sqrt(0.5/len(A)),2)
print((z_1 * STDS / math.sqrt(len(A))))
ax.text(2 , .25, f'신뢰구간 모평균에 대한 {trust}% : \n' + f'{round(MEANS - (z_1 * STDS ),2)} ~ {round(MEANS + (z_1 * STDS ),2)}' , fontsize= 15)


ax.text(2 , .35,  r'$\overline{X} = $' + f'{MEANS}\n' +  r'$\sigma = $' + f'{STDS}\n' + r'$\sqrt{n} = $' + f'{round(math.sqrt(len(A)),2)}',fontsize=15)

모평균에 대한 신뢰구간

2> 신뢰구간 95%

 

모평균에 대한 신뢰구간

3> 신뢰구간 99%

 

모평균에 대한 신뢰구간

 

EX-03) 우리나라 소득액 추정위해 30가구를 표본조사한 결과에 대하여 월평균 소득액의 95% 신뢰구간을 구하라.(표준편차는 3)

A=  [91.23, 88.76, 91.19, 90.54, 91.85, 85.07, 90.91, 88.03, 89.22, 89.47, 89.12, 90.48, 91.42, 90.94, 85.65, 85.15, 86.07, 96.35, 90.01, 88.26, 90.5, 87.08, 92.65, 87.05, 85.8, 87.63, 86.66, 83.43, 93.4, 90.17]

 

 

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)

ex = '91.23 88.76 91.19 90.54 91.85 85.07 90.91 88.03 89.22 89.47 89.12 90.48 91.42 90.94 85.65 85.15 86.07 96.35 90.01 88.26 90.50 87.08 92.65 87.05 85.80 87.63 86.66 83.43 93.40 90.17'
A = list(map(float, ex.split(' ')))
MEANS = round(np.mean(A) ,2)
STDS = round(math.sqrt(3**2/len(A)),2)
print((z_1 * STDS / math.sqrt(len(A))))
ax.text(2 , .25, f'신뢰구간 모평균에 대한 {trust}% : \n' + f'{round(MEANS - (z_1 * STDS ),2)} ~ {round(MEANS + (z_1 * STDS ),2)}' , fontsize= 15)


ax.text(2 , .35,  r'$\overline{X} = $' + f'{MEANS}\n' +  r'$\sigma = $' + f'{STDS}\n' + r'$\sqrt{n} = $' + f'{round(math.sqrt(len(A)),2)}',fontsize=15)

==> 표준오차에 대한 수정하기

 

모평균에 대한 신뢰구간

 

EX-04) 우리나라 소득액 추정위해 30가구를 표본조사한 결과에 대하여 월평균 소득액의 95% 신뢰구간을 구하라.(표준편차는 5.105)

 

A  = [93.242, 89.635, 92.66, 92.54, 94.883, 102.165, 93.326, 90.88, 93.684, 91.564, 88.727, 94.317, 88.166, 96.085, 82.028, 97.213, 99.338, 93.381, 86.498, 83.348, 97.262, 89.656, 84.045, 89.113, 81.562, 87.18, 94.345, 92.436, 93.633, 97.276]

 

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)

ex = '93.242 89.635 92.660 92.540 94.883 102.165 93.326 90.880 93.684 91.564 88.727 94.317 88.166 96.085 82.028 97.213 99.338 93.381 86.498 83.348 97.262 89.656 84.045 89.113 81.562 87.180 94.345 92.436 93.633 97.276'
A = list(map(float, ex.split(' ')))
MEANS = round(np.mean(A) ,3)

VARS = 5.105**2
STDS = round(math.sqrt(VARS/len(A)),3)
print((z_1 * STDS / math.sqrt(len(A))))
ax.text(2 , .25, f'신뢰구간 모평균에 대한 {trust}% : \n' + f'{round(MEANS - (z_1 * STDS ),3)} ~ {round(MEANS + (z_1 * STDS ),3)}' , fontsize= 15)


ax.text(2 , .35,  r'$\overline{X} = $' + f'{MEANS}\n' +  r'$\sigma = $' + f'{STDS}\n' + r'$\sqrt{n} = $' + f'{round(math.sqrt(len(A)),2)}',fontsize=15)

모평균에 대한 신뢰구간

==>이 표본으로부터 얻은 신뢰구간들 중에서 95%에 해당하는  구간이 모평균의 참값을 포함하고 최대 5%에 해당하는 구간은 모수의 참값을 포함하지 않을 수 있다.

 

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

※혼자 공부 정리용

728x90
반응형

+ Recent posts