programming/파이썬으로 배우는 통계학

[파이썬/통계] Python 통계 : 일반선형모델/ 이항분포 / 푸아송분포

Jofresh 2023. 5. 22. 17:02
728x90
반응형

필요한 라이브러리 임포트

# 수치 계산에 사용하는 라이브러리
import numpy as np
import pandas as pd
import scipy as sp
from scipy import stats

# 그래프를 그리는 라이브러리
from matplotlib import pyplot as plt
import seaborn as sns
sns.set()

# 통계 모델을 추정하는 라이브러리(워크닝이 나올 수도 있습니다)
import statsmodels.formula.api as smf
import statsmodels.api as sm

# 표시 자릿수 지정
%precision 3
# 그래프를 jupyter Notebook 내에 표시하도록 하기 위한 지정
%matplotlib inline

이항분포 

이항분포 역시 정규분포와 마찬가지로 scipy.stats에 여러 가지 함수가 있습니다.

우선 질량함수부터 보겠습니다. 

 

파라미터는 성공횟수, 시행횟수, 성공확률을 순서대로 넘깁니다. 

난수 생성은 sp.stats.binom.rvs 함수를 사용합니다.

 

앞이 나올 확률이 20%인 동전을 10번 던져서 앞이 나온 수를 세는 코드를 5번 반복합니다.

 

마지막으로 난수의 히스토그램과 이항분포의 확률질량함수에서 계산된 확률을 겹쳐서 그래프로 그려보겠습니다.

 

정규분포와 달리 좌우비대칭인 히스토그램

푸아송 분포

푸아송(Poisson) 분포는 특정 시간 간격 또는 공간 간격에서 발생하는 사건의 수를 모델링하는 확률 분포입니다. 이 분포는 독립적인 사건들이 일정한 발생율로 발생하며, 연속적인 시간 또는 공간 내에서 발생하는 사건의 분포를 설명하는 데 주로 사용됩니다.

푸아송 분포는 다음과 같은 특징을 가지고 있습니다:

- 단위 시간 또는 단위 공간에서 발생하는 사건의 평균 발생 횟수를 λ(lambda)라고 합니다.
- 사건은 서로 독립적으로 발생하며, 하나의 사건이 다른 사건의 발생에 영향을 주지 않습니다.
- 발생율 λ는 일정하게 유지됩니다. 즉, 시간이나 공간에 따라 변하지 않습니다.
- 한 시간 간격 또는 한 공간 간격에서 발생하는 사건의 수는 다른 시간 간격 또는 다른 공간 간격에서 발생하는 사건의 수와 독립적입니다.
- 푸아송 분포는 주로 드문 사건의 발생을 모델링하는 데 사용됩니다. 예를 들어, 단위 시간당 도착하는 이메일의 수, 한 지역에서 발생하는 지진의 수, 고속도로에서의 교통 사고 발생 수 등을 푸아송 분포로 모델링할 수 있습니다.

푸아송 분포는 확률 질량 함수(PMF, Probability Mass Function)와 누적 분포 함수(CDF, Cumulative Distribution Function)로 정의되며, 파라미터 λ를 사용하여 표현됩니다. 파이썬의 SciPy나 statsmodels 패키지 등에서 푸아송 분포와 관련된 함수들을 사용할 수 있습니다.

 

강도가 5인 푸아송분포에서 어떤값(k) 2를 얻는 확률은 위과 같습니다.

 

강도가 2인 푸아송분포를 따르는 난수를 위와 같이 얻을 수 있습니다.

 

푸아송 분포를 따르는 확률변수의 히스토그램

난수의 히스토그램과 확률질량함수를 비교했습니다. 

 

푸아송 분포(실선)와 이항분포(점선)의 확률분포 비교

푸아송 분포와 이항분포의 관계를 확인하겠습니다. 여기서 시행횟수를 100000000회, 성공확률을 0.00000002로 한 이항분포의 확률질량함수를 강도2인 푸아송 분포의 확률질량함수와 비교합니다. 이 둘은 거의 일치한다는 것을 확인할 수 있습니다.

 

그 외의 확률 분포

 

음이항 분포(Negative Binomial Distribution):


음이항 분포는 이항 분포에서 성공 횟수가 고정된 경우가 아니라 성공 횟수가 주어진 횟수 이상이 될 때까지의 시행 횟수를 모델링하는 분포입니다. 이 분포는 주어진 성공 횟수까지의 실패 횟수를 나타냅니다. 

음이항 분포는 다음과 같은 특징을 가지고 있습니다:

1. 이항 분포와 마찬가지로 각 시행은 독립적이고 동일한 확률로 성공 또는 실패합니다.
2. 확률 변수는 성공 횟수가 주어진 횟수보다 커질 때까지의 실패 횟수를 나타냅니다.
3. 분포의 파라미터는 성공 확률(p)과 주어진 성공 횟수(r)로 주어집니다.

음이항 분포는 주로 다음과 같은 상황에서 사용됩니다:
- 성공 횟수가 주어진 횟수 이상이 될 때까지의 시행 횟수를 모델링할 때 (예: 동전 던지기에서 앞면이 나올 때까지의 실험 횟수)
- 이항 분포에서의 성공 횟수를 초과하는 추가 시행 횟수를 모델링할 때 (예: 실험에서 일정한 수의 성공을 달성하기 위해 필요한 시행 횟수)


감마 분포(Gamma Distribution):


감마 분포는 연속 확률 분포로, 양수 값을 가지며, 표현된 양의 실수 값에 대한 모델링에 사용됩니다. 감마 분포는 형상(shape)과 척도(scale)라는 두 개의 파라미터로 정의됩니다.

감마 분포의 특징은 다음과 같습니다:

1. 감마 분포는 양수 값을 가지며, 오직 양수 영역에서만 정의됩니다.
2. 형상(shape) 파라미터는 분포의 모양을 제어하며, 양의 실수 값이며, 값이 커질수록 분포의 오른쪽으로 치우칩니다.
3. 척도(scale) 파라미터는 분포의 폭과 중심을 제어하며, 양의 실수 값이며, 값이 커질수록 분포가 넓어집니다.

728x90
반응형