전체 글

728x90
반응형

20. 모비율이 p= 0.25인 모집단으로부터 크기가 각각 다음과 같은 표본을 임의로 선정한다. 표본비율이 p+-1 0.1 안에 있을 근사확률을 구하고, 표본의 크기가 커짐에 따른 확률의 변화를 비교

https://knowallworld.tistory.com/306

 

이항분포에 따른 정규분포의 표준정규분포화★표본비율의 표본분포★기초통계학-[모집단 분포

1.표본비율의 표본분포 EX) 이항 확률변수의 실질적인 응용 ==> 여론조사 생각 ==> 모집단을 구성하는 사람들의 어느 특정 사건을 선호하는 비율(p)를 알기 위하여 n명으로 구성된 표본을 임의 선정

knowallworld.tistory.com

표본비율

 

1> n = 50

 

^p ~ N(0.25 , 0.25 * 0.75 / 50) = N(0.25 , 0.00375)

 

 

P(p-0.1 < ^p < p + 0.1) = P(-0.1 / 루트(0.00375) < Z < 0.1/루트(0.00375) = [ P(Z< 0.1/루트(0.00375) ) - P(Z<0) ] *2 = P(-1.63<= Z <= 1.63) =0.8969

 

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.10) / math.sqrt(0.00375 ) ,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_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))

표본비율의 표본분포에 대한 표준정규분포 근사

2> n = 100

 

^p ~ N(0.25 , 0.25 * 0.75 / 100) 

 

P(p-0.1 < ^p < p + 0.1) = P(-0.1 / 루트(0.25 * 0.75 / 100) < Z < 0.1/루트(0.25 * 0.75 / 100) = [ P(Z< 0.1/루트(0.25 * 0.75 / 100) ) - P(Z<0) ] *2 = P(-2.31 <= Z <= 2.31) = 0.9791

 

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.10) / math.sqrt(0.25*0.75 / 100 ) ,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_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))

표본비율의 표본분포에 대한 표준정규분포 근사

3> n = 150

 

P(p-0.1 < ^p < p + 0.1) = P(-0.1 / 루트(0.25 * 0.75 / 150) < Z < 0.1/루트(0.25 * 0.75 / 150) = [ P(Z< 0.1/루트(0.25 * 0.75 / 150) ) - P(Z<0) ] *2 = P(-2.83 <= Z <= 2.83) = 0.9953

 

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.10) / math.sqrt(0.25*0.75 / 150 ) ,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_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))

표본비율의 표본분포에 대한 표준정규분포 근사

21. 1484만 6천명은 국민 30%에 해당하는 비율이다. 2015년 해외여행 계획하는 사람의 비율을 조사하기 위하여 500명을 임의로 선정하여 조사.

 

1> 표본비율의 근사 확률분포

 

 ^p ~ N(0.3 , 0.3 * 0.7 / 500) 

 

2> | ^p - p | 가 0.05보다 작을 확률

 

P( | ^p - p | < 0.05 ) = P(-0.05 < ^p - p < 0.05 ) = [ P( ^p - p < 0.05 ) - P(Z<0)] * 2 = [P( (^p-p) / 루트(0.3*0.7/500) < 0.05 / 루트(0.3*0.7/500) ) - P(Z<0)] * 2 = [ P(Z < 0.05/루트(0.3 * 0.7 / 500) ) - P(Z<0) ] * 2 = P(-2.44 <= Z <= 2.44) = 0.9853

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.3*0.7 / 500 ) ,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_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))

표본비율의 표본분포에 대한 표준정규분포 근사

3> 표본비율 p_0보다 클 확률이 0.025인 p_0를 구하라.

 

P(^p >  p_0 ) = P( (^p - p) / 분산 > (p_0 - p) / 분산 ) = P(Z > (p_0 - p) / 분산) = P(Z > (p_0 - 0.3 / 루트(0.3 * 0.7 / 500) ) = 0.025

 

p_0 = 0.3401

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.3*0.7 / 500 ) ,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 , .12, f'P({z_1}<=Z) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(2.3, .012), 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))


p = Symbol('p')

a = solve( (p - 0.3)/math.sqrt(0.3*0.7/500) - 1.96)

print(a)

표본비율의 표본분포에 대한 표준정규분포 근사

22. 소비자의 75%가 땅콩이나 캐러멜 등을 첨가한 초콜릿 좋아한다. 첨가물이 포함된 초콜릿을 좋아하는지 알아보기 위하여 200명의 소비자를 임의로 선정

 

1> 표본비율의 근사 확률분포

 

모비율 p = 0.75

 

^p ~ N(0.75 , 0.75*0.25 / 200)

 

2> 표본비율이 78%를 초과할 확률

 

 

P(^p > 0.78)  = P(Z > 0.78 - 0.75 / 루트(0.75*0.25 / 200) ) = 1 - P(Z< 0.78 - 0.75 / 루트(0.75*0.25 / 200) ) =  P(0.98 < Z) = 0.1635

 

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.78 - 0.75) / math.sqrt(0.75 * 0.25 / 200 ) ,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 , .12, f'P({z_1}<=Z) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(2.3, .012), 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))

표본비율의 표본분포에 대한 표준정규분포 근사

3> 표본비율의 95%의 백분위수

 

P(^p <= a ) = 0.95

 

P( (^p - p) / 분산  <= (a-p) / 분산 ) = P(Z<= (a-0.75 /  루트(0.75*0.25 / 200) ) = 0.95

 

P(Z<= 1.64) = 0.95

 

a = 0.8002

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.95 - 0.75) / math.sqrt(0.75 * 0.25 / 200 ) ,2)
# # z_2 = round((34.5 - 35) / math.sqrt(5.5**2 / 25) , 2)
z_1 = round(scipy.stats.norm.ppf(0.95) ,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 , .12, f'P(Z<={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(0, .12), xytext=(1.9 , .12)  , 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))


a = Symbol('a')

b = solve( (a-0.75) / math.sqrt(0.75*0.25 / 200) - z_1)

print(b)

표본비율의 표본분포에 대한 표준정규분포 근사

23. 주부들의 20%가 식품비로 주당 10만원 이상을 소비한다. 모비율 20%라는 가정 아래서 무작위로 1000명의 주부를 표본으로 선정

 

1> 표본비율의 근사 확률분포를 구하라.

 

모비율 = 0.2

n = 1000

 

^p ~ N(0.2 , 0.2 * 0.8 / 1000)

 

2> 표본비율이 p+- 0.02 안에 있을 근사확률

 

P(p-0.02 < ^p < p+0.02) = P(-0.02 / 루트 (0.2 * 0.8 / 1000) < Z < 0.02 / 루트 (0.2 * 0.8 / 1000) ) = [ P(Z<0.02 / 루트 (0.2 * 0.8 / 1000)) -P(Z<0) ] * 2 = P(-1.58 <= Z <= 1.58) = 0.8859

 

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.02) / math.sqrt(0.2*0.8 / 1000 ) ,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_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))

표본비율의 표본분포에 대한 표준정규분포 근사

 

3> 표본비율의 90%, 95% 그리고 99%의 백분위수를 구하라.

 

P(^p <= a ) = 0.9

 

==> P(Z<= (a-p) / 루트 (0.2 * 0.8 / 1000) ) = P(Z<= 1.28)

 

a = 0.216

 

P(^p <= a ) = 0.95

 

==> P(Z<= (a-p) / 루트 (0.2 * 0.8 / 1000) ) = P(Z<= 1.64)

 

a= 0.22

 

P(^p <= a ) = 0.99

 

P(Z<= (a-p) / 루트 (0.2 * 0.8 / 1000) )  = P(Z<= 2.33)

 

a= 0.229

 

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.95 - 0.75) / math.sqrt(0.75 * 0.25 / 200 ) ,2)
# # z_2 = round((34.5 - 35) / math.sqrt(5.5**2 / 25) , 2)
z_1 = round(scipy.stats.norm.ppf(0.99) ,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 , .12, f'P(Z<={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(0, .12), xytext=(1.9 , .12)  , 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))


a = Symbol('a')

b = solve( (a-0.2) / math.sqrt(0.2*0.8 / 1000) - z_1)

print(b)

표본비율의 표본분포에 대한 표준정규분포 근사

24. 49.5%의 지지율, 이번선거 에서도 지난 선거의 지지율을 얻을 수 있는지 알기 위하여 400명의 유권자 상대로 조사하여 49%를 초과할 확률

 

모비율(p) = 0.495

n = 400

 

P(^p > 0.49) = P(Z > (0.49 - 0.495) / 루트(0.495* (1-0.495) / 400) ) = P(-0.2<= Z) = 0.5793

 

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.49 - 0.495) / math.sqrt(0.495 * (1-0.495) / 400 ) ,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 , .12, f'P({z_1}<=Z) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(2.3, .012), 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))

표본비율의 표본분포에 대한 표준정규분포 근사

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

※혼자 공부 정리용

728x90
반응형
728x90
반응형

1. HTML 편집기를 통해 /BODY 태그 위에 코드 넣기

 

 

<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    tex2jax: {
      inlineMath: [ ['$','$'], ["\\(","\\)"] ],
      processEscapes: true
    }
  });
</script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-MML-AM_CHTML'></script>

2. 형식

 

$ \widehat{p}_1 $

 

$$사이에 LATEX 형식으로 집어넣는다.

 

https://webdemo.myscript.com/views/math/index.html#

 

math

 

webdemo.myscript.com

==> 여기 사이트에선 자동으로 변환시켜준다.

728x90
반응형
728x90
반응형

14. 어느 주식의 가격이 매일 1단위 오를 확률은 0.52이고, 1단위 내릴 확률은 0.48이다. 첫째날 200을 투자하여 100일후의 가격은 X = 200 + for i in range(1, 101) : X_i += X_i-1

 

 

1> 주식의 등락금액 X_i , i= 1,2, ·····100의 확률함수를 구하라.

 

p(x) =

0.52 , x= 1

0.48 , x = -1

 

https://knowallworld.tistory.com/241

 

이항분포식★이항실험★이항분포의 평균,분산★베르누이시행★기초통계학-[Chapter05 - 이산확률

1. 이항분포 ==> 많이 사용하는 확률 모형 : 이항분포, 푸아송분포 , 초기하분포 1. 이항실험(Bionomial Experiment) ==> 실험은 N번의 시행 ==> 실험 결과는 성공(S) , 실패(F) ==> 성공 확률 : p , 실패 확률 : q

knowallworld.tistory.com

2> X_i의 평균과 분산

https://knowallworld.tistory.com/246

 

★푸아송분포★기하분포★초기하분포★베르누이★이산확률변수★기초통계학-[Chapter05 - 연습문

1. 이산확률변수 x의 확률분포 X = np.arange(-2,3) p_x = [0.15 , 0.25 , '-' , 0.25 , 0.3] A = pd.DataFrame([p_x] , columns = X) A.index = ['P(X = x)'] A.columns.names = ['X'] A B = (1- A.iloc[ [0], [0,1,3,4]].sum(axis=1)) B A.loc['P(X = x)' , 0] =

knowallworld.tistory.com

==> 이산확률변수의 평균과 분산 구하기

 

평균 : 0.52 * 1 + (-1) * 0.48 = 0.04

분산 : 1**2(0.52) + (-1)**2 *0.48  - 0.04**2 = 0.9984

 

3>중심극한정리에 의하여 100일 후의 가격이 210 이상일 확률

 

https://knowallworld.tistory.com/303

 

★lineplot★중심극한정리★기초통계학-[모집단 분포와 표본분포 -04]

1. 중심극한정리 ==> 정규분포가 아닌 모집단 분포로부터 복원추출로 표본 선정시 ==> 표본의 크기에 따라 표본평균의 표본분포가 변한다. ==> 모평균 뮤 , 모분산(o**2) 의 임의의 모집단으로부터

knowallworld.tistory.com

 

시그마_|X ~ N(0.04 * 100 , 0.9984 * 100) = N(4 , 99.84) = N(4 , 9.99**2)

 

X ~ N(4 + 200 , 9.99**2)

 

P(X>=210) = 1- P(Z<= 210 - 204 / 9.99 ) = P(0.6<=Z) = 0.2743

 

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((210 - 204) / 9.99 ,2)
# z_2 = round((196.82- 198) / 3.45 ,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(1.71 , .17, f'P({z_1}<=Z) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(0.7, .17), xytext=(1.7 , .17)  , arrowprops = dict(facecolor = 'black'))
# ax.vlines(x= z_2, ymin= 0 , ymax= stats.norm.pdf(z_2, 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))

15. 음주운전 단속에서 100일간 면허 정지 처분을 받은 사람들의 혈중 알코올 농도를 측정한 결과, 평균 0.075이고, 표준편차가 0.009라고 한다. 64명이 면허 정지 처분을 받았다고 하자.

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

 

 

1> 면허 정지 처분을 받은 사람들의 알코올 농도의 평균에 관한 표본분포를 구하라.

 

n = 64

n = 64

X ~ N(0.075 , 0.009**2)

 

|X ~ N(0.075 , 0.009**2/ 64)

 

2> 평균 혈중 알코올 농도가 0.077이상일 확률

 

P(|X>= 0.077) = P(Z>= 0.077 - 0.075 / 루트(0.009/64) ) = 1 - P(Z<= 0.077 - 0.075 / 루트(0.009/64) ) = P(Z>0.17) = 0.4325

 

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.077 - 0.075) / math.sqrt(0.009**2/64) ,2)
# z_2 = round((196.82- 198) / 3.45 ,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(1.71 , .17, f'P({z_1}<=Z) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(2.1, .017), xytext=(2.1 , .14)  , arrowprops = dict(facecolor = 'black'))
# ax.vlines(x= z_2, ymin= 0 , ymax= stats.norm.pdf(z_2, 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))

표본평균의 표준정규분포

16. 주택을 소유한 모든 사람들의 화재로 인한 연간 평균 손실이 25만원이고, 표준편차는 100만원, 손실 금액은 거의 대부분이 0원이고 단지 몇몇 손실이 매우 크게 나타나는 양의 비대칭분포, 1000명 대상으로 조사

 

1>표본평균의 표본분포

 

n = 1000

뮤 = 25

모분산 = 100**2

 

|X ~ N(25 , 100/1000)

 

 

2>표본평균이 28만원을 초과하지 않을 확률

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((28-25) / math.sqrt(100**2/1000) ,2)
# z_2 = round((196.82- 198) / 3.45 ,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(-3.71 , .16, f'P(Z<={z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(-1.1, .14), xytext=(-2.1 , .14)  , arrowprops = dict(facecolor = 'black'))
# ax.vlines(x= z_2, ymin= 0 , ymax= stats.norm.pdf(z_2, 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(|X<28) = P(Z< 28-25 / 루트(100/1000) ) = P(Z<= 0.95) = 0.8289

 

17. 이종격투기 선수들의 평균 악력은 90kg , 표준편차 9kg

 

1> 36명의 선수를 선정시 , 평균 악력이 87kg과 93kg 사이일 근사확률

 

n = 36

뮤 = 90

s = 9

 

|X ~ N(90 , 9**2 / 36) 

 

P(87<= |X <= 93) =  [ P(93-90 / 루트(9**2/36) <= Z) - 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((93-90) / math.sqrt(9**2 / 36 ) ,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_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))

표본평균의 표준정규분포

2> 64명의 선수를 선정시 , 평균 악력이 87kg과 93kg 사이일 근사확률

표본평균의 표준정규분포

P(-2.67<=Z<=2.67) = 0.9924

 

18. 모분산이 0.35인 정규모집단으로부터 크기 8인 표본을 추출한다.

https://knowallworld.tistory.com/305

 

★표본분산 S**2 , 관찰 표본분산 s_0**2★카이제곱분포표★모분산의 표본분포★기초통계학-[모집

1. 모분산의 표본분포 정규모집단 N(뮤 , 모분산) 으로부터 크기 n인 표본을 선정할 때 표본분산 ==> 표본분산 S**2에 대한 표본분포는 X**2-통계량 V에 대하여 자유도가 n-1인 카이제곱분포이다. https:

knowallworld.tistory.com

==> 카이제곱분포

카이제곱분포

 

카이제곱분포의 평균

 

1> 표본분산과 관련된 통계량 V = (n-1)**2 * S**2 / 모분산 의 분포를 구하라.

 

모분산 = 0.35

크기 = 8

 

V = (8-1)*S**2 / 0.35 ~ X**2(7)

 

 

2> 표본조사한 결과가 다음과 같을 때 관찰된 표본분산의 값 s_0**2을 구하라.

 

2.5 , 2.1 , 3.4 , 1.7 , 2.0 , 3.2 , 2.8 , 2.4

a = [2.5 , 2.1 , 3.4 , 1.7 , 2.0 , 3.2 , 2.8 , 2.4]

print(np.var(a , ddof =1 ))

표본분산 = 0.3498

 

 

3> P(S**2 < s_1) = 0.05를 만족하는 s_1을 구하라.

 

P(X < 7*s_1 / 0.35) = 0.05 

 

 

7*s_1**2 /0.35 = 14.07

 

s_1 = 0.1083

 

x = np.arange(0,30 , .001)

dof = 7
a = [2.5 , 2.1 , 3.4 , 1.7 , 2.0 , 3.2 , 2.8 , 2.4]

print(np.var(a , ddof =1 ))


fig = plt.figure(figsize=(15,8))

ax = sns.lineplot(x , scipy.stats.chi2(dof).pdf(x)) #정의역 범위 , 평균 = 0 , 표준편차 =1 인 정규분포 플롯


X_r = scipy.stats.chi2(dof).ppf(0.05)
print(X_r)

ax.fill_between(x, scipy.stats.chi2(dof).pdf(x) , where = (x<=X_r) , facecolor = 'skyblue') # x값 , y값 , 0 , x조건 인곳 , 색깔
area = scipy.stats.chi2(dof).cdf(X_r) #넓이 구하기!!!!!
print(area)
ax.text(-2 , .017, 'P(X <' + r'$\chi^2_{0.95})$'  + f"= {round(area,4)}" ,fontsize=12)
plt.annotate('' , xy=(1, .002), xytext=(0 , .014)  , 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+1 , .048, r'$\chi^2_R= {}$'.format(round(X_r,2)) ,fontsize=15)
plt.annotate('' , xy=(2.2, .025), xytext=(5 , .044)  , arrowprops = dict(facecolor = 'black'))

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

s = Symbol('s')

print(solve( (7*(s))/0.35 - X_r))

모분산을 알땐 카이제곱분포

 

4> P(S**2 > s_2) = 0.05를 만족하는 s_2을 구하라.

 

x = np.arange(0,30 , .001)

dof = 7
a = [2.5 , 2.1 , 3.4 , 1.7 , 2.0 , 3.2 , 2.8 , 2.4]

print(np.var(a , ddof =1 ))


fig = plt.figure(figsize=(15,8))

ax = sns.lineplot(x , scipy.stats.chi2(dof).pdf(x)) #정의역 범위 , 평균 = 0 , 표준편차 =1 인 정규분포 플롯


X_r = scipy.stats.chi2(dof).ppf(0.95)
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(20 , .015, 'P(X >' + r'$\chi^2_{0.05})$'  + f"= {round(area,4)}",fontsize=15)
plt.annotate('' , xy=(17, .002), xytext=(20 , .014)  , 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 - 8, .01,  r'$\chi^2_R= {}$'.format(round(X_r,2)) ,fontsize=15)
plt.annotate('' , xy=(14, .01), xytext=(10 , .01)  , arrowprops = dict(facecolor = 'black'))


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

s = Symbol('s')

print(solve( (7*(s))/0.35 - X_r))

모분산을 알때는 카이제곱

s = Symbol('s')

print(solve( (7*(s))/0.35 - X_r))

s  = 0.7033

 

19. 건강한 성인이 하루에 소비하는 물의 양은 평균 1.5L , 분산 0.04761인 정규분포 따른다. 10명의 성인을 무작위로 선정하여 하루 동안 소비하는 물의 양 측정

 

1> 표본분산과 관련된 통계량 V = (n-1)*S**2 / 모분산 의 분포를 구하라.

 

n = 10

모분산 = 0.04761

 

V = (10-1)*S**2 / 0.04761 ~ X**2(9)

 

2> 표본조사한 결과가 [1.5 , 1.6 , 1.2 , 1.7 , 1.4 , 1.3 , 1.6 , 1.3 , 1.4 , 1.7] , 관찰된 표본분산의 값 s_0**2 를 구하라.

 

a = [1.5 , 1.6 , 1.2 , 1.7 , 1.4 , 1.3 , 1.6 , 1.3 , 1.4 , 1.7]

print(np.var(a, ddof =1 ))

 

s_0**2 = 0.0312

 

3> 이 표본을 이용하여 통계량의 관찰값 카이제곱값을 구하라.

 

X_0**2 = 9* 0.0312 / 0.04761 = 5.9021

 

4> 표본분산 S**2이 s_0**2보다 클 확률

 

자유도 = 9

P(S**2 >= s_0**2) = P(9*S**2 / 0.04761 >= 9*s_0**2 / 0.04761) = P(V>= 9*s_0**2 / 0.04761) = P(V>= 5.9021) = 0.7497

 

fig = plt.figure(figsize=(15,8))

ax = sns.lineplot(x , scipy.stats.chi2(dof).pdf(x)) #정의역 범위 , 평균 = 0 , 표준편차 =1 인 정규분포 플롯


X_r = scipy.stats.chi2(dof).ppf(0.95)
print(X_r)
X_r = 5.9021

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(20 , .015, 'P(X >' + r'$\chi^2_{0.05})$'  + f"= {round(area,4)}",fontsize=15)
plt.annotate('' , xy=(17, .002), xytext=(20 , .014)  , 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, .015,  r'$\chi^2_R= {}$'.format(round(X_r,2)) ,fontsize=15)
plt.annotate('' , xy=(5.9, .01), xytext=(2 , .01)  , arrowprops = dict(facecolor = 'black'))


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

표본분산 구하는 카이제곱

5> P(S**2 > s_1**2) = 0.025인 s_1**2을 구하라.

 

P(V > 9*s_1**2 / 0.04761) = 0.025

 

9*s_1**2 / 0.04761 = 19.02

s_1**2 = 0.1006

x = np.arange(0,30 , .001)

dof = 9
a = [1.5 , 1.6 , 1.2 , 1.7 , 1.4 , 1.3 , 1.6 , 1.3 , 1.4 , 1.7]

print(np.var(a , ddof =1 ))


fig = plt.figure(figsize=(15,8))

ax = sns.lineplot(x , scipy.stats.chi2(dof).pdf(x)) #정의역 범위 , 평균 = 0 , 표준편차 =1 인 정규분포 플롯


X_r = scipy.stats.chi2(dof).ppf(1- 0.025)
print(X_r)
# X_r = 5.9021

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(25 , .015, 'P(X >' + r'$\chi^2_{0.025})$'  + f"= {round(area,4)}",fontsize=15)
plt.annotate('' , xy=(22, .002), xytext=(25 , .014)  , 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, .008,  r'$\chi^2_R= {}$'.format(round(X_r,2)) ,fontsize=15)
plt.annotate('' , xy=(19, .005), xytext=(15 , .005)  , arrowprops = dict(facecolor = 'black'))


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

s = Symbol('s')

print(solve( (dof*(s))/0.04761 - X_r))

표본분산 구하는데 사용하는 카이제곱분포

https://knowallworld.tistory.com/305

 

★표본분산 S**2 , 관찰 표본분산 s_0**2★카이제곱분포표★모분산의 표본분포★기초통계학-[모집

1. 모분산의 표본분포 정규모집단 N(뮤 , 모분산) 으로부터 크기 n인 표본을 선정할 때 표본분산 ==> 표본분산 S**2에 대한 표본분포는 X**2-통계량 V에 대하여 자유도가 n-1인 카이제곱분포이다. https:

knowallworld.tistory.com

카이제곱분포

 

카이제곱의 평균

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

 

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

※혼자 공부 정리용

728x90
반응형
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
반응형
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
반응형
728x90
반응형

3. 뮤 = 50이고 모표준편차가 다음과 같은 모집단으로부터 크기 25인 확률표본을 선정할 때, 표본평균이 49와 52사이일 확률

https://knowallworld.tistory.com/302

 

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

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

knowallworld.tistory.com

모분산 알때의 표본평균의 표본분포

 

1> 모표준편차 = 4

 

n = 25

 

|X ~ N(50 , 4**2/25)

 

P(49<=|X<=52) = P(|X<= 52) - P(|X<=49) = P(Z<=  (52-50) / 루트(16/25) ) - P(Z<=  (49-50) / 루트(16/25) ) =  P(-1.25 <=Z <=2.5) = 0.8881

 

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((52-50) / math.sqrt(16/25) ,2)
z_2 = round((49-50) / math.sqrt(16/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_1 = ( stats.norm.cdf(z_1) - stats.norm.cdf(z_2) )

ax.text(2.71 , .17, f'P({z_2}<=Z<={z_1}) : {round(area_1,4)}',fontsize=15)
plt.annotate('' , xy=(0, .17), xytext=(2.5 , .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_2, ymin= 0 , ymax= stats.norm.pdf(z_2, loc=0 , scale =1) , color = 'black' , linestyle ='solid' , label ='{}'.format(2))

 

모분산 모를때 정규분포 추론

2> 모표준편차 = 9

 

n = 25

 

|X ~ N(50 , 9**2/25)

 

P(49<=|X<=52) = P(|X<= 52) - P(|X<=49) = P(Z<=  (52-50) / 루트(81/25) ) - P(Z<=  (49-50) / 루트(81/25) ) =  P(-0.56 <=Z <=1.11) = 0.5788

 

모분산 모를때 정규분포 추론

3> 모표준편차 = 12

 

n = 25

 

|X ~ N(50 , 12**2/25)

 

P(49<=|X<=52) = P(|X<= 52) - P(|X<=49) = P(Z<=  (52-50) / 루트(144/25) ) - P(Z<=  (49-50) / 루트(144/25) ) =  P(-0.42 <=Z <=08.83) = 0.4595

 

모분산 모를때 정규분포 추론

4. 뮤 = 50이고 모표준편차가 5인 정규모집단으로 부터 크기 n인 확률표본을 선정할때 , 표본평균이 49와 51사이일 확률

 

1> n = 16

 

|X ~ N(50 , 5**2/16)

 

P(49<=|X<51) = P( ( (49-50) / 루트(5**2/16) ) <= Z <=  ( (51-50) / 루트(5**2)/16 ) = [P(1/루트(5**2/16) <= Z) - P(Z<=0)] * 2 = P(-0.8 <= Z <= 0.8) = 0.5763

 

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((51-50) / math.sqrt(25/16) ,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))

크기 n의 변화에 따른 표본평균의 정규분포

2> n = 49

 

P(-1.4 <= Z <= 1.4) = 0.8385

 

크기 n의 변화에 따른 표본평균의 정규분포2

3> n = 64

 

P(-1.6<=Z<=1.6) = 0.8904

5. 뮤 = 45이고 모분산이 9인 정규모집단으로 부터 크기 64인 표본을 추출할때 , 표본평균이 어떤 상수 K보다 작을 확률이 0.95일때, 상수 k를 구하라.

 

|X ~ N(45 , 9/64)

 

P(|X<K) = 0.95

 

P(Z< K-45 / 루트(9/64) ) = 0.95

 

K-45/루트(9/64) = 1.645

k = Symbol('k')

a = solve( (k-45) / math.sqrt(9/64) - 1.645)

print(a)

k = 45.616

 

 

 

6. 모분산이 36인 정규모집단에서 크기 16인 표본을 임의로 추출할때 , P(| |X- 뮤| >= 3)을 구하라.

 

1- P( -3 <= |X -뮤 <= 3) = 1- P(-3+뮤 <= |X <= 3+ 뮤) = 1- P( -3 / 루트(36/16) <= Z <= 3 / 루트(36/16) ) = 1- P(-2 <= Z <= 2) = 1- 0.9545 = 0.0455

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((3) / math.sqrt(36/16) ,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 =  0.5 - ((stats.norm.cdf((z_1)) - stats.norm.cdf(0)))


ax.text(2.61 , .05, f'P({z_1}>=Z) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(2.3, .017), xytext=(2.5 , .05)  , 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.text(-3.71 , .055, f'P(Z<={-z_1}) : {round(area,4)}',fontsize=15)
plt.annotate('' , xy=(-2.3, .017), xytext=(-2.5 , .05)  , 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))



plt.annotate('' , xy=(0, .2), xytext=(-2.5 , .08)  , arrowprops = dict(facecolor = 'black'))
plt.annotate('' , xy=(0, .2), xytext=(2.5 , .08)  , arrowprops = dict(facecolor = 'black'))
ax.text(-1 , .21, f'P({-z_1}<=Z<={z_1}) : {round(area*2,4)}',fontsize=15)







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

모평균 모를때의 정규분포 구하기

7. 모평균이 20 , 모표준편차가 6인 정규모집단에서 크기 n인 표본을 임의로 추출할때, 표본표준편차가 1.5라 한다. 표본의 크기 n을 구하라.

 

X ~ N(20 , 6**2 )

 

|X ~ N(20 , 36/n) 

n = Symbol('n')

a = solve(36/n - 1.5**2)

print(a)

루트(36/n) = 1.5

 

n = 16

 

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

※혼자 공부 정리용

728x90
반응형
728x90
반응형
#N= 366 , 평균 = 899.39 , 표준편차 = 34.72 , 내점수 = 926.42

#내점수의 퍼센테이지

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((926.42 - 899.39) / 34.72, 2)

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

ax.text(1.71 , .15, f'P({z_1}<=Z) : {round(area,4)} , 등수 : {366* round(area,4)} ',fontsize=15)
plt.annotate('' , xy=(2, .017), xytext=(2 , .14)  , 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))

등수 표준분포

 

 

https://knowallworld.tistory.com/253

 

stats.norm.cdf()★표준정규분포 넓이 구하기!!★ax.lineplot★정규분포(Normal Distribution)★기초통계학-[Ch

1. 정규분포(Normal Distribution) ==> 자료 집단에 대한 도수히스토그램은 자료의 수가 많을 수록 종 모양에 가까운 형태로 나타난다. ==> 종 모양의 확률분포를 정규분포라고 한다. 1>정규분포의 성질

knowallworld.tistory.com

 

728x90
반응형
728x90
반응형

 

https://plugins.jetbrains.com/plugin/13711-korean-language-pack------

 

Korean Language Pack / 한국어 언어 팩 - IntelliJ IDEs Plugin | Marketplace

The Korean Language Pack localizes the UI of IntelliJ IDEA, AppCode, CLion, DataGrip, GoLand, PyCharm, PhpStorm, RubyMine, and WebStorm into Korean.

plugins.jetbrains.com

==> INSTALL

 

==> IDE 를 킨다.

 

SETTING
LANAUAGE PACK

플러그인 ==> 존재

 

==>  IDE 껐다 키면 된다.

728x90
반응형

+ Recent posts