728x90
반응형

1. 합동표본분산에 대한 표본분포

 

두 표본의 표본분산에 대한 합동표본분산

==> 동일한 모분산을 갖는 서로 독립인 두 정규 모집단

 

==> 크기가 n과 m인 두 확률표본 추출

 

==>두 표본의 표본분산에 대한 합동표본분산 정의

 

합동표본분산의 카이제곱분포

https://knowallworld.tistory.com/258

 

★scipy.stats.chi2().ppf()★matplotlib 수학식표현★카이제곱분포★정규분포★기초통계학-[Chapter06 - 연

1. 카이제곱분포 ==> 카이제곱분포는 정규모집단의 모분산에 대한 통계적 추론에 사용 ==> n개의 서로 독립인 표준정규확률변수 Z_1 ,Z_2 ,···· Z_n 에 대하여 확률변수의 확률분포를 자유도(degree of

knowallworld.tistory.com

==> 카이제곱분포는 정규모집단의 모분산에 대한 통계적 추론에 사용

 

 

EX-01) 서로 독립인 두 정규모집단 N(뮤_1 , 25)와 N(뮤_2 , 25)에서 각각 크기 8,10인 확률 표본을 추출

P(S_p**2 >s_0) = 0.05를 만족하는 s_0을 구하라

 

모분산 1 = 모분산 2 = 25

 

n = 8

m= 10

 

n+m-2 / 모분산 = 16 / 25

 

자유도 = n+m-2 = 16

 

16/25 * S_p ~ x**2(16)

matplotlib.rc("font" , family = "Times New Roman" , weight = "bold")

X = np.arange(0,30,.01)

fig = plt.figure(figsize=(15,8))
dof = 16 #자유도

ax = sns.lineplot(X , scipy.stats.chi2(dof).pdf(X)) #18.31 , 3.94 어케?

#P(X>X_r) = 0.05
#P(X<=X_r) = 0.95
X_r = scipy.stats.chi2(dof).ppf(0.95)
#X_r = 10 + math.sqrt(20)*1.644 #평균 = n , 분산 = 2n
print(X_r)





ax.fill_between(X, scipy.stats.chi2(dof).pdf(X) , where = (X>=X_r) , facecolor = 'skyblue') # x값 , y값 , 0 , x조건 인곳 , 색깔
area = 1- scipy.stats.chi2(dof).cdf(X_r) #넓이 구하기!!!!!
print(area)
ax.text(27 , .025, 'P(X >=' + r'$\chi^2_{0.05}$)' + f"= {round(area,4)}",fontsize=15)
plt.annotate('' , xy=(27, .005), xytext=(27 , .02)  , arrowprops = dict(facecolor = 'black'))
ax.vlines(x= X_r, ymin= 0 , ymax= scipy.stats.chi2(dof).pdf(X_r) , color = 'black' , linestyle ='solid' , label ='{}'.format(2))


ax.text(X_r - 3.5, .01,  r'$\chi^2_R= {}$'.format(round(X_r,2)) ,fontsize=15)




b = [r'$\chi^2(\eta$ = {})'.format(dof)]
print(b)
plt.legend(b , fontsize = 15)

합동표본분포_카이제곱분포

 

 

==> 자유도 16에 대한 백분위수 95% x_0.05**2 = 26.3

 

 

P(S_p**2 > s_0) = P(16/25 * S_p**2 > 16/25 * s_0) = P(X > X_R**2 )

 

16/25 * s_0 = 26.3

print(26.3 * 25 / 16)

s_0 = 26.3 * 25 / 16 =  41.094

 

 

EX-02) 서로 독립인 두 정규모집단 N(24 , 16)과  N(28 , 16)에서 각각 크기 10,15인 확률 표본을 추출

P(S_p**2 >s_0) = 0.05를 만족하는 s_0을 구하라

 

 

모분산_1 = 모분산_2 = 16

 

뮤_1 = 24

뮤_2 = 16

 

n = 10

m = 15

 

 

자유도 = n+m-2 = 10+15 - 2 = 23

 

23/16*S_p**2 ~ X**2(16)

matplotlib.rc("font" , family = "Times New Roman" , weight = "bold")

X = np.arange(0,50,.01)

fig = plt.figure(figsize=(15,8))
dof = 23 #자유도

ax = sns.lineplot(X , scipy.stats.chi2(dof).pdf(X)) #18.31 , 3.94 어케?

#P(X>X_r) = 0.05
#P(X<=X_r) = 0.95
X_r = scipy.stats.chi2(dof).ppf(0.95)
#X_r = 10 + math.sqrt(20)*1.644 #평균 = n , 분산 = 2n
print(X_r)





ax.fill_between(X, scipy.stats.chi2(dof).pdf(X) , where = (X>=X_r) , facecolor = 'skyblue') # x값 , y값 , 0 , x조건 인곳 , 색깔
area = 1- scipy.stats.chi2(dof).cdf(X_r) #넓이 구하기!!!!!
print(area)
ax.text(37, .025, 'P(X >=' + r'$\chi^2_{0.05}$)' + f"= {round(area,4)}",fontsize=15)
plt.annotate('' , xy=(37, .005), xytext=(37 , .02)  , arrowprops = dict(facecolor = 'black'))
ax.vlines(x= X_r, ymin= 0 , ymax= scipy.stats.chi2(dof).pdf(X_r) , color = 'black' , linestyle ='solid' , label ='{}'.format(2))


ax.text(X_r - 6.5, .01,  r'$\chi^2_R= {}$'.format(round(X_r,2)) ,fontsize=15)




b = [r'$\chi^2(\eta$ = {})'.format(dof)]
print(b)
plt.legend(b , fontsize = 15)

합동표본분포_카이제곱분포

 

P(S_p**2 > s_0) =P( 23/16* S_p**2 > 23/16*s_0 ) = P(X > X_R**2)

 

s_0 = 16/23 * 35.17 = 24.46

 

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

※혼자 공부 정리용

728x90
반응형

+ Recent posts