EPI00 개발일지
표준정규분포 확률밀도함수 정적분 본문
일단 이 식이 정규분포 N(m, σ²)를 따르는 확률변수 x의 학률밀도함수라는 것은 아마 하늘이 알고 땅이 알고 나도 아는 사실일 것이다.
표준정규분포는 N(0, 1)의 정규분포를 의미하는데, m=0, σ=1일 때의 확률밀도함수는 다음과 같다.
왜 굳이 이걸 쓰느냐? 우선, 정규분포의 확률밀도함수를 적분해 그 면적(어차피 양수값밖에 없으니 넓이라 해도 무방)을 구하면 그 면적이 곧 해당 범위에서의 확률이 되는데, 저 위의 저 식을 정적분 하는 것 보다 이 식을 정적분 하는 편이 더 쉽기 때문이다.
맞는지는 잘 모르겠지만, 이렇게 적분이 된다.
2021. 06. 13 추가 : 저거 적분 틀렸다. -z/-z를 곱하고 1/-z을 상수취급 하는거부터 틀림. 아니, t=-z^2/2부터 틀렸을지도.
하지만 아래쪽의 소스코드를 뜯어보면 알 수 있겠지만, 난 저 프로그램을 만들 때 위와 같이 f(z)의 부정적분을 구해 그 식으로 계산을 돌린 것이 아니라, sympy라는 라이브러리를 이용해 f(z)만 넣어주고 적분을 시킨 것이지만, 큰 상관은 없다. 차이점이라면 속도가 약간 느리다는 것 정도.
참, 그리고
이 식을 통해 정규분포를 표준정규분포로 만들 수 있다. 이걸 표준화라고 한다.
빌드업이 길었다. 그래서, 오늘 3교시 확률과 통계 시간에 난 저걸 수업으로 들었고, 바로 만들었다.
다운로드 : https://drive.google.com/file/d/10rMn0vVbwn4eForG5cmkk19FEMifCtig/view?usp=sharing
소스코드 : https://github.com/dpvpd/Standard_Normal_Distribution/tree/main
정적분을 수행한다.
끝.
'프로그램 개발?' 카테고리의 다른 글
다항함수 정적분 프로그램 (C++, 코드 only) (0) | 2021.07.14 |
---|---|
(코딩 교육용)C언어 순서맞추기 문제내는 프로그램 (0) | 2021.06.16 |
정 규 분 포 (0) | 2021.05.31 |
이 항 분 포 (0) | 2021.05.31 |
예쁜 쓰레기 (0) | 2021.04.05 |