R에서 쓰이는 정규 분포 관련 기능에 대해 공부한 내용을 정리해 본다.
먼저 정규분포(Normal Distribution)란, 고등수학에서 배우듯이 하나의 꼭지를 중심으로 좌우로 대칭되는 종형의 분포를 의미한다. 엔트로피(Entrophy)를 최대화하는 분포로, 특별한 외력이 가해지지 않은 대수의 영역에서 자연적으로 관찰되는 분포이기 때문에 많은 경우에 기준으로 삼게되기도 한다.
R 역시 이 정규분포와 관련된 기능들을 제공하고 있는데, 아래의 4가지가 있다. 뒤의 norm 외에는 한 글자씩이고 헷갈리기 쉬운 기능들이라 따로 정리해본다. 먼저 공통적으로는, mean(평균)과 sd(표준편차)가 따로 설정되지 않으면 표준정규분포의 기본값인 0 / 1로 각각 설정된다는 점이다.
dnorm : Density Function + Normal Distribution
dnorm(x, mean, sd)
dnorm은 확률 밀도 함수(Density Function)의 d를 사용하는 함수이다. 즉, 변수로 입력된 값(x)의 y에 해당하는 값을 출력한다. 예를 들어, 표준정규분포인 dnorm(0)은 0.3989423로 출력되는데, 이는 표준 정규 분포의 0 값이 0.3989423이기 때문이다.
rnorm : Random Sampling + Normal Distribution
rnorm(n, mean, sd)
rnorm은 무작위 추출(Random Sampling)의 r을 사용하는 함수이다. 주어진 갯수(n)에 해당하는 표본을 무작위로 추출한다. rnorm (10)을 하면 무작위의 10가지 샘플이 선택되어 출력되는 것을 확인할 수 있다.
pnorm : Probablity + Normal Distribution
pnorm (x, mean, sd)
pnorm은 발생 가능성(Probability)을 출력해주는 함수로, 주어진 특정 위치(x)까지의 누적 밀도(Cumulative Density)를 계산하여 알려준다.
qnorm : Quantile + Normal Distribution
qnorm (p, mean, sd)
qnorm은 분위수(Quantile)의 q를 사용하는데, pnorm과 반대로 가능성(넓이, p)에 따른 분위값(x)을 알려준다.
위의 내용들은 실제로는 미분이나 적분 등 복잡한 수식을 통해 계산되어야 하지만, R에서는 단순히 함수에 맞는 변수와 평균, 표준편차를 입력하는 것만으로 간단하게 결과값을 얻을 수 있다.