728x90
반응형

11.모평균이 뮤인 정규모집단으로부터 크기 9인 표본을 임의로 추출한다. 추출된 표본의 표본분산이 25일때 P( | |X - 뮤 | < k) = 0.9를 만족하는 상수 k를 구하라.

 

모분산 = 모름

 

크기 = 9

 

표본분산 = 25

 

==> 모분산을 모를때는 t-분포를 활용한다.

 

https://knowallworld.tistory.com/302

 

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

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

knowallworld.tistory.com

 

자유도 = 9-1 = 8

t-분포의 확률변수

 

T = (|X - 뮤) / (25/루트(9)) ~ t(8)

 

P( | |X-뮤 | < k ) = P ( |T| < t_0 ) = 0.90

 

t_0 = k / (25/루트(9))

 

P(T>t_0) = 0.05

 

X = np.arange(-5,5 , .01)

fig = plt.figure(figsize=(15,8))
dof_2 = [8] #자유도

ax = sns.lineplot(x = X , y=scipy.stats.t(dof_2).pdf(X) )
t_r =  scipy.stats.t(dof_2).ppf(1- 0.05)
print(t_r)



ax.fill_between(X, scipy.stats.t(dof_2).pdf(X) , 0 , where = (X>=t_r) , facecolor = 'skyblue') # x값 , y값 , 0 , X조건 인곳 , 색깔

ax.vlines(x = t_r ,ymin=0 , ymax= scipy.stats.t(dof_2).pdf(t_r) , colors = 'black')

plt.annotate('' , xy=(2.0, .007), xytext=(2.5 , .16)  , arrowprops = dict(facecolor = 'black'))

ax.text(1.71 , .17, r'$P(T>t_{0.05})$' + f'= {0.05}',fontsize=15)


ax.text(t_r - 1 , 0.02 , r'$t_r$' + f'= {t_r}'  , fontsize = 13)


b = ['t-(n={})'.format(i) for i in dof_2]
plt.legend(b , fontsize = 15)

k = Symbol('k')
k = solve((math.sqrt(25/9)) * t_r[0] - k)
print(k)

모분산을 모를때는 t-분포

k = Symbol('k')
k = solve((math.sqrt(25/9)) * t_r[0] - k)
print(k)

t_0 = 1.86

 

k = 3.1

 

 

12. 평균 198인 정규분포 , 25명을 무작위로 선정하여 측정 결과 표본평균이 197, 표본평균편차가 3.45

 

1> 표본평균 |X에 대한 표본분포를 구하라.

 

==>모분산을 모른다.

 

|X ~ N (197 , 모분산/ 25)

 

루트 (모분산/25) = 3.45

 

모분산 = 297.562

 

P(196.82 <= |X <= 199.18) = [P(199.18 - 197 / 3.45 ) - P(Z<=0)] * 2

 

==> 틀리다.

 

 

T =  (|X - 198) / (3.45 / 5 ) ~ t(25-1)

 

2> 표본평균이 196.82와 199.18 사이일 근사확률을 구하라.

 

P(196.82 <= T <= 199.18) = P(  (196.82 - 197) / ( (3.45 / 5 ) < T <=  (199.18 - 197) / ( (3.45 / 5 ) ) = ( P(T<=1.71) - P(T<=0) ) * 2 = P(-1.71 <= T <= 1.71) = 0.9

 

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

fig = plt.figure(figsize=(15,8))
dof_2 = [24] #자유도

ax = sns.lineplot(x = X , y=scipy.stats.t(dof_2).pdf(X) )
#t_r =  scipy.stats.t(dof_2).ppf(1- 0.05)
t_r = round( (199.18 - 198) / ( (3.45 / 5 ) ) , 2)




ax.fill_between(X, scipy.stats.t(dof_2).pdf(X) , 0 , where = (X<=t_r) & (X>=-t_r) , facecolor = 'skyblue') # x값 , y값 , 0 , X조건 인곳 , 색깔

ax.vlines(x = -t_r ,ymin=0 , ymax= scipy.stats.t(dof_2).pdf(-t_r) , colors = 'black')
ax.vlines(x = t_r ,ymin=0 , ymax= scipy.stats.t(dof_2).pdf(t_r) , colors = 'black')
plt.annotate('' , xy=(0, .16), xytext=(1.5 , .16)  , arrowprops = dict(facecolor = 'black'))


area = (scipy.stats.t(dof_2).cdf(t_r) - scipy.stats.t(dof_2).cdf(0) ) * 2
ax.text(1.71 , .17, r'$P(T>t_{})$' + f'= {round(area[0], 2)}',fontsize=15)


ax.text(t_r - 0.8 , 0.02 , r'$t_r$' + f'= {t_r}'  , fontsize = 13)
ax.text(-t_r - 0.8 , 0.02 , r'$t_r$' + f'= {-t_r}'  , fontsize = 13)

b = ['t-(n={})'.format(i) for i in dof_2]
plt.legend(b , fontsize = 15)

모분산을 모를때는 t-분포 활용

3> 표본평균이 상위 2.5%인 경계수치를 구하라.

 

 

t_r = 2.064 = x- 198 / (3.45 / 5 )

 

x = 199.424

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

fig = plt.figure(figsize=(15,8))
dof_2 = [24] #자유도

ax = sns.lineplot(x = X , y=scipy.stats.t(dof_2).pdf(X) )
t_r =  scipy.stats.t(dof_2).ppf(1- 0.025)
# t_r = round( (199.18 - 198) / ( (3.45 / 5 ) ) , 2)




ax.fill_between(X, scipy.stats.t(dof_2).pdf(X) , 0 , where = (X>=t_r) , facecolor = 'skyblue') # x값 , y값 , 0 , X조건 인곳 , 색깔

# ax.vlines(x = -t_r ,ymin=0 , ymax= scipy.stats.t(dof_2).pdf(-t_r) , colors = 'black')
ax.vlines(x = t_r ,ymin=0 , ymax= scipy.stats.t(dof_2).pdf(t_r) , colors = 'black')
plt.annotate('' , xy=(2.5, .005), xytext=(2.5 , .16)  , arrowprops = dict(facecolor = 'black'))


area = 1- scipy.stats.t(dof_2).cdf(t_r)
ax.text(1.71 , .17, r'$P(T>t_{0.025})$' + f'= {round(area[0], 3)}',fontsize=15)


ax.text(t_r - 0.8 , 0.02 , r'$t_r$' + f'= {t_r}'  , fontsize = 13)
# ax.text(-t_r - 0.8 , 0.02 , r'$t_r$' + f'= {-t_r}'  , fontsize = 13)

b = ['t-(n={})'.format(i) for i in dof_2]
plt.legend(b , fontsize = 15)

 

모분산을 모를땐 t-분포

13. 평균 5000시간인 정규분포, 전구 16개 구입하여 , |x = 4800시간 , s = 1000시간

 

1> 표본평균 |X의 표본분포를 구하라.

 

모분산 모른다.

 

 

 

|X - 5000 / 루트(1000**2 / 16 ) ~ t(16-1)

 

2> 이 표본을 이용하여 P(| |X -5000 | < x_0 ) = 0.9를 만족하는 x_0를 구하라.

 

 

n = 16

자유도 = 15

 

(P(  (x_0) / 루트(1000**2 / 16 ) < T ) - 0.5) * 2 = 0.9

 

P(  (x_0) / 루트(1000**2 / 16 ) < T ) = 0.95

 

t_0.05 = (x_0) / 루트(1000**2 / 16 ) = 1.753

 

x_0 = 438.25

 

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

fig = plt.figure(figsize=(15,8))
dof_2 = [15] #자유도

ax = sns.lineplot(x = X , y=scipy.stats.t(dof_2).pdf(X) )
t_r =  scipy.stats.t(dof_2).ppf(0.95)
# t_r = round( (199.18 - 198) / ( (3.45 / 5 ) ) , 2)




ax.fill_between(X, scipy.stats.t(dof_2).pdf(X) , 0 , where = (X>=t_r) , facecolor = 'skyblue') # x값 , y값 , 0 , X조건 인곳 , 색깔

# ax.vlines(x = -t_r ,ymin=0 , ymax= scipy.stats.t(dof_2).pdf(-t_r) , colors = 'black')
ax.vlines(x = t_r ,ymin=0 , ymax= scipy.stats.t(dof_2).pdf(t_r) , colors = 'black')
plt.annotate('' , xy=(2.5, .005), xytext=(2.5 , .16)  , arrowprops = dict(facecolor = 'black'))


area = 1- scipy.stats.t(dof_2).cdf(t_r)
ax.text(1.71 , .17, r'$P(T>t_{0.05})$' + f'= {round(area[0], 3)}',fontsize=15)


ax.text(t_r - 0.8 , 0.02 , r'$t_r$' + f'= {t_r}'  , fontsize = 13)
# ax.text(-t_r - 0.8 , 0.02 , r'$t_r$' + f'= {-t_r}'  , fontsize = 13)

b = ['t-(n={})'.format(i) for i in dof_2]
plt.legend(b , fontsize = 15)

x = Symbol('x')

print(solve(1.753 * math.sqrt(1000**2/16) - x))

모분산을 모를땐 t-분포

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

※혼자 공부 정리용

728x90
반응형

+ Recent posts