본문 바로가기
programming language/MATLAB

MATLAB 기하 분포(geometric distribution) 랜덤 변수 생성

by 남성 2020. 4. 12.

아래 포스팅에서 포아송 분포에 대해서 CDF(Cumulative Distribution Function) 를 사용하여 랜덤 변수를 생성하는 방법에 대해서 소개를 했었습니다.

https://iamaman.tistory.com/206

오늘은 어떤 분이 기하분포는 어떻게 생성을 하는지 문의를 하셔서 기하분포 CDF(Cumulative Distribution Function) 를 사용하여 랜덤변수를 생성하는 방법에 대해서 소개해 보려고 합니다.

기하분포의 정의에 대해서는 아래 주소를 참조하시기 바랍니다.

https://en.wikipedia.org/wiki/Geometric_distribution

기하분포는 첫 번째 성공까지의 시도 횟수를 모델링 할때는 아래와 같이 정의됩니다. k 는 1 부터 시작하는 것을 확인할 수 있습니다.

첫 번째 성공까지 실패 횟수를 모델링 할 때는 아래와 같이 정의됩니다. k 는 0 부터 시작하는 것을 확인할 수 있습니다.

위 두 모델링은 분산 값은 같지만 평균값은 다릅니다.

첫 번째 성공까지의 시도 횟수에 대한 모델링을 할 때의 분포에 대해서 코딩을 해 보면 아래와 같습니다. 위 포스팅에서 소개 했었던 포아송분포와 PMF 수식등을 제외하고는 코드는 그렇게 차이가 없습니다.

아래와 같은 PMF, CDF 그래프를 확인할 수 있습니다.

성공확률 0.2에 대한 시뮬레이션 결과 아래 실행 결과와 같이 평균은 5, 분산은 20 정도로 이론 값과 유사하게 나오는 것을 확인할 수 있습니다.

다음으로 첫 번째 성공까지 실패 횟수를 모델링 할때의 분포에 대해 코딩 해보면 아래와 같습니다.

아래와 같은 PMF, CDF 그래프를 확인할 수 있습니다.

성공확률 0.2에 대한 시뮬레이션 결과, 아래 실행 결과와 같이 평균은 4, 분산은 20 정도로 이론 값과 유사하게 나오는 것을 확인할 수 있습니다.



댓글1