아래 포스팅에서 포아송 분포에 대해서 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 정도로 이론 값과 유사하게 나오는 것을 확인할 수 있습니다.
'programming language > MATLAB' 카테고리의 다른 글
MATLAB 입사 반사파 그리기 애니메이션 animatedline, drawnow (0) | 2019.10.22 |
---|---|
MATLAB cell 중복 제거 및 중복 내용 확인하기 (1) | 2019.10.13 |
MATLAB 주기함수 만드는 방법 (583) | 2019.10.10 |
MATLAB brush 데이터 가져오기 (0) | 2019.06.07 |
MATLAB 그래프 사이 공간 색칠하기 fill, patch, area (742) | 2019.04.30 |
MATLAB 그래프 내에 그래프 넣기 (0) | 2019.04.13 |
MATLAB 스트럭처 정렬 방법 (0) | 2019.03.27 |
MATLAB 브러시, 데이터 커서 기능을 사용하여 데이터 가공하기 (0) | 2019.03.04 |
댓글