EPI00 개발일지

표준정규분포 확률밀도함수 정적분 본문

프로그램 개발?

표준정규분포 확률밀도함수 정적분

EPI00 2021. 6. 7. 11:14

일단 이 식이 정규분포 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 

 

Standard_Normal_Distribution.zip

 

drive.google.com

소스코드 : 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