Gaegul's devlog
확률 변수와 분포 함수 본문
1. 확률변수와 확률분포
- 표본공간 : 통계적 실험이나 조사에서 모든 가능한 실현 결과들의 집합.
- 확률변수 : 표본공간 S 에서 정의된 실수값 함수 X 확률분포 : 확률변수 X와 확률을 대응시켜주는 관계
e.g. 동전을 3번 던지는 실험 S = {HHH, HHT, HTH, HTT, THH, THT, TTH, TTT} => 2의 3승 경우의 수
X = 앞면이 나올 수 있는 수
X = 0(아예 안나올 경우), 1, 2, 3(3번 다 나올 경우)
P(X = 0) : 1/8
P(X = 1) : 3/8
P(X = 2) : 3/8
P(X = 3) : 1/8
1.1 이산 확률 변수 - 확률 질량 함수
- 이산 확률 변수 : 확룰변수 X가 취할 수 있는 값이 이산적인 값.
e.g. 동전을 두번 던져서 나오는 앞면의 수, 주사위를 던져서 나오는 눈의 값.
- 확률 질량 함수 : 이산 확률 변수가 가질 수 있는 각각의 값에 대해 확률을 대응시켜주는 함수
1.2 연속 확률 변수 - 확률 밀도 함수
- 연속 확률 변수 : 적절한 구간 내의 연속적인 모든 값을 가질 수 있는 변수
e.g. 키, 몸무게, 대기 시간
- 확률 밀도 함수
- X축 : 확률 변수의 값
- Y축 : 확률 변수의 값이 일정구간에 포함될 확률
2. 기댓값과 분산
2.1 기댓값 (Expected Value)
- 확률변수 X에 대해 확률을 가중치로 하여 계산된 가중평균.
- 어떤 확률 과정을 무한히 반복했을 때 얻을 수 있는 값들의 평균으로 기대하는 값. 중심적 성향 또는 분포의 무게중심을 알려줌.
e.g. 주사위의 기댓값
2.2 분산
확률변수 X의 분포가 평균 m으로 부터 떨어진 정도. (각각의 확률 변수의 제곱 * 확률)
3. 이산형 확률 분포
확률변수 X가 취할 수 있는 가능한 값들이 이산적인 값 x1, x2, ... 중 하나일 때 X를 이산확률변수라고 한다.
3.1 이항분포
확률변수가 배타적인 두 가지 범주(0 or 1)를 갖고 각 시행은 독립적인 경우. (베르누이 시행)
e.g. n번의 베르눌리 시행에서 성공이 나타나는 횟수에 대한 분포.
- 확률질량 함수 : B(n,p)
- 모평균 : E(X) = np
- 모분산 = Var(X) = np(1-p)
from scipy.stats import binom # scipy.stats 패키지
#확률질량함수 P(X = x)
binom.pmf(3, 10, 0.5) # binom.pmf(x, n, p)
#동전을 10번 던져서 앞면이 3번 나올 확률
#누적분포함수 P(X <= x)
binom.cdf(6, 10, 0.5) # binom.cdf(x, n, p)
#동전을 10번 던져서 앞면이 6번 이하로 나올 확률 P(X <= 6)
#분위수
binom.ppf(0.3, 10, 0.5) # binom.ppf(q,n,p)
#누적확률이 0.3이상이 되는 x
#난수
binom.rvs(10, 0.5, size=30) # binom.rvs(n,p,size=k)
# 동전을 10번 던지는 실험을 30번 반복.
3.2 초기하분포 (Hyper Geometric Distribution)
복원추출법 : 추출된 공을 주머니속에 넣고 다시 한 개의 공을 추출.
e.g. 주머니 속에 흰공 7개와 검은공 3개가 있다고 하자. 주머니속의 공을 랜덤 추출했을때, 흰공이 나올 확률은 7/10, 다시 뽑았을 때 다시 흰공이 나올 확률은 7/10이 된다.
비복원추출법 : 주머니에 넣지 않고 나머지 공에서 두번째 공을 추출하는 방식.
*베르눌리 시행의 조건이 만족되지 않음.
전체 갯수 : N개
흰공 : A개
검은공 : N-A개
- 확률 질량 함수 : HG(N, A, n)
- 모평균 : E(X) = np
- 모분산 = Var(X) = np(1-p)(N-P/N-1)
from scipy.stats import hypergeom #scipy.stats 패키지
#확률질량함수
hypergeom.pmf(10, 1000, 200, 50) #P(X=x):hypergeom.pmf(x,N,A,n)
# P(X=10)
#누적분포함수
hypergeom.cdf(10, 1000, 200, 50)
# P(X<=10)
#분위수
hypergeom.ppf(0.5, 1000, 200, 50)
#누적확률이 0.5이상이 되는 x
#난수
hypergeom.rvs(1000, 200, 50, 25) #hypergeom.rvs(N, A, n, size=k)
#모의 실험을 25번 반복하는 경우
3.3 포아송분포
단위 시간당, 단위 면적당 나타나는 희귀사건의 건수를 설명하는데 자주 사용되는 확률분포.
e.g. 하루동안 경부고속도로상에서 일어나는 교통사고 건수 (n은 매우 크고, p는 매우 작을 경우)
- 확률질량함수 : P(m) *i는 확률변수, 람다는 평균
- 평균 : E(X) = m
- 분산 : Var(X) = m
from scipy.stats import poisson #scipy.stats 패키지
#확률질량함수
poisson.pmf(7, 5) #P(X=x):poisson.pmf(x,m)
# P(X=10)
#누적분포함수
poisson.cdf(7, 5)
# P(X<=10)
#분위수
poisson.ppf(0.7, 5)
#누적확률이 0.7이상이 되는 x
#난수
poisson.rvs(5, size=30) #poisson.rvs(m, size=k)
#모의 실험을 30번 반복하는 경우
4. 연속형 확률분포
확률변수 X가 적절한 구간 내의 연속적인 모든 값을 갖고 있을 때 X를 연속확률변수라고 함.
4.1 정규 분포 (Normal Distribution)
확률변수 X가 평균이 m이고 표준편차가 시그마이며, 다음과 같은 확률 밀도 함수를 가지는 경우, X는 정규분포를 따른다고 한다.
- 확률밀도함수
평균 (위치모수) ⇒ 중심의 위치가 바뀜.
표준편차 (척도모수) ⇒ 곡선의 형태가 바뀜.
4.2 표준 정규 분포 (standard normal distribution)
평균이 0이고 표준편차가 1인 정규분포.
e.g. 초등학생 몸무게를 X라는 확률변수로 나타내어 정규분포 N(42, 25)를 따른다고 할때, 이러한 분포로 부터 어느 한 학생을 무작위로 뽑았을 때 학생의 몸무게가 40 kg에서 54 kg사이에 있을 확률을 구하고자 할 경우.
* 정규 분포 ⇒ 표준정규분포
P(40 ≤ X ≤ 54) = P(40 - 42 / 5 < Z < 54 - 42 / 5) = P(-0.4 < Z < 2.4)
이는 표준정규분포에서 -0.4 와 2.4 사이의 확률이 된다. 또한 정규분포의 대칭성을 이용하면, P(0 < Z < 0.4) + P(0 < Z < 2.4) = 0.1554 + 0.4918 = 0.6472 이 성립함.
from scipy.stats import norm
#확률밀도함수 #f(X=x):norm.pdf(x, m=0, sig=1)
norm.pdf(40, 42, 5) #mu = 42, sigma=5
#누적분포함수 P(X <= x)
norm.cdf(54, 42, 5) #P(X<=54)
#분위수
norm.ppf(0.9, 42, 5) #누적확률이 0.9이상이 되는 x
#난수
norm.rvs(42, 5, 7) #모의실험을 7번 이상하는 경우
5. 표본 분포
모집단에서 추출된 표본으로부터 관심있는 모집단의 특성을 추측 해내는 일. 모집단의 특성은 평균과 표준편차 등과 같은 수치로 표현되고, 이를 모수라 한다. 모집단의 일부인 표본을 조사함으로써 모수(모평균, 모분산, 모비율)등에 대응되는 통계량(표본평균, 표본분산, 표본비율 등)을 이용하여 추론하게 됨.
5.1 표본평균의 분포
더 나아가 모집단의 분포가 정규분포이면 x’는 정규분포 N(평균, 표준편차^2 / n)를 따를때, 정규화 변환을 취하면 다음과 같다. z는 평균이 0이고 표준편차가 1인 표준정규분포 N(0,1)을 따른다.
만약, 모집단의 분포가 정규분포가 아니라면?
이 경우 표본평균 x의 분포가 정확히 정규분포를 따르진 않지만, 표본크기 n이 충분히 큰 경우, 근사적으로 정규분포를 따른다.
다시 말하자면, 중심극한정리에 의하면 모집단의 분포가 연속형이든, 이산형이든, 비스듬하게 치우친 형태이든 표본의 크기가 클수록 표본평균 x의 분포가 근사적으로 정규 분포에 접근한다는 것.
5.2 이항분포의 정규 근사
이항분포는 n이 크면 계산하기가 힘들어지기 때문에 n은 크고, p가 아주 작지 않을 떄 정규분포에 근사해서 구하기도 한다. (이항분포의 확률을 정규분포에 의해 근사적으로 구하는 것을 설명)
N이 커질 수록 점차 정규분포에 가까운 형태가 된다.
일반적으로 이산확률분포에서 연속확률분포로의 근사를 보다 정확히 하기 위해서는 보정이 필요 ⇒ 연속성 수정
예를들면, 확률변수 X가 이항분포 B(n, p)를 따를 경우 P(X=k)를 P(k-0.5 < X < k+0.5)로 수정하는 것을 의미.
e.g. 확률변수 X가 이항분포 B(20, 0.7)을 따를 때, P(10 ≤ X ≤ 16)을 이항분포와 정규분포에 의한 근사적 계산을 하자.
P(10 ≤ X ≤ 16) = P(X ≤ 16) - P(X ≤ 9) = 0.893 - 0.017 = 0.876
정규분포에 의한 근사적 확률은 m = 20 * 0.7 = 14 , 표준편차^2 = 20 * 0.7 * 0.3 = 4.2를 가지는 정규분포로 계산한다.
P(10 - 0.5 ≤ X ≤ 16 + 0.5) = P(9.5 - 평균 / 표준편차 < Z < 16.5 - 평균 / 표준편차 ) = P(-2.2 < Z < 1.22)
= P(0 < Z < 2.20) + P(0 < Z < 1.22) = 0.4861 + 0.3888 = 0.8749
5.3 t 분포
모집단의 분포가 정규분포를 따르고, 모평균과 모표준편차를 알고있으면 표본평군의 분포가 정규분포를 따르므로, x에 대한 확률값을 쉽게 계산할 수 있다. 하지만, 모표준편차를 모를때는 어떻게 할까? 표준정규분포를 따르지 않고 표본크기 n에 의존하여 분포형태가 달라진다. 이와 같은 분포를 자유도 v=n-1을 따르는 t분포라고 한다. e.g. t(v)
* s : sample의 표준편차
- 평균 : E(x) = 0
- 분산 : Var(X) = v / (v-2)
(분자는 표준정규분포, 분모는 카이제곱분포를 자유도로 나눈것에 제곱근을 씌운것.)
*s(표본표준편차)를 이용해서 변환
t 분포의 형태는 표준정규분포의 형태와 동일하게 평균 0을 중심으로 종모양으로 퍼져있다. 다만 표준정규분포와는 다른 점은 평균 0 지점의 부근이 더 평평하고 양쪽 꼬리가 더 두껍다. (자유도가 30이상이되면 정규분포와 유사해짐)
from scipy.stats import t
#확률밀도함수 #f(X=x):t.pdf(x,v)
t.pdf(1.64, 5) #자유도=5, f(x=1.64)
#누적분포함수 #f(X<=x):t.cdf(x,v)
t.cdf(1.64, 5) # f(x<=1.64)
#분위수
t.ppf(0.9, 5) #누적확률이 0.9이상이 되는 x
#난수
t.rvs(5, size=10) #모의실험을 10번 반복하는 경우
5.4 카이제곱 분포
평균에 관한 통계적 추론에 유용
표준정규분포의 제곱의 합 ⇒ 서로 독립인 n개의 표준정규변수 z1, z2 ... zn에 대해서 제곱하고 모두 더함.
v : 자유도로 표본의 갯수 n에서 하나를 뺀 n-1이다.
확률변수 X가 X^2(v)분포를 따른다고 할때, X는 0이상의 값을 가지는 연속확률변수로서 평균과 분산은 다음과 같다.
- 평균 : E(x) = v
- 분산 : Var(X) = 2v
⇒ 파란선(Right Skew)은 자유도가 5인 카이제곱분포.
⇒ 빨간선은 자유도가 10인 카이제곱분포.
즉, 자유도가 커질 수록 그래프는 우측으로 이동하며 넓게 퍼지는 것을 확인할 수 있는데 카이제곱분포의 평균이 자유도이고, 분산이 2*자유도 인것을 떠올리면 당연한 결과로 받아들일 수 있다.
from scipy.stats import chi2
#확률밀도함수 #f(X=x):chi2.pdf(x,v)
chi2.pdf(1, 3) #자유도=3, f(x=1)
#누적분포함수
chi2.cdf(1, 3)
#분위수
chi2.ppf(0.9, 3) #누적확률이 0.9이상이 되는 x
#난수
chi2.rvs(3, size=10) #모의실험을 10번 반복하는 경우
5.5 F분포
두 정규모집단의 분산비에 대한 추론. 두 확률변수 x1^2 과 x2^2의 각각 자유도 v1와 v2인 카이제곱분포를 따르며 서로 독립이라고 할때, 자유도 (k1, k2)인 F-분포 F(v1, v2)를 따른다.
from scipy.stats import f
#확률밀도함수 #f(X=x):f.pdf(x,v1,v2)
f.pdf(2, 5, 5)
#누적분포함수
f.cdf(2, 5, 5)
#분위수
f.ppf(0.9, 5, 5) #누적확률이 0.9이상이 되는 x
#난수
f.rvs(5, 5, size=10) #모의실험을 10번 반복하는 경우
'Statistics Basic' 카테고리의 다른 글
[시계열 분석] ARIMA 예측 모델 , 정상성과 자기상관 (0) | 2022.05.07 |
---|---|
[시계열 분석] 시계열 분석, 시계열 분해, 지수예측모델 (0) | 2022.05.07 |