본문 바로가기
가우시안(Gaussian) - 정규분포(Normal Distribution). 너란 분포 정말

정규분포 이야기. 확률과 통계를 한다면 정규분포에 대해서 귀에 딱지가 앉게 들었으니까, 가우시안분포(정규분포)를 들여다 보았으면 합니다. 

우리가 정규분포를 언제 처음 만나냐면, "학생들의 성적은, 학생들의 키는 정규분포라고 알려져 있다.(가정한다) "는 시험문제에서 처음 만나게 되는데, 도대체 왜 때문에 가정할 수 있는거지요? 라는 의문이 당연히 생겨버리지요. 그래서 인지 저는 정규분포를 보면 아주 조금 반감이 없지 않아 있습니다. - 또 너니? - 

용어에 대해 얘기하자면, 공학자는 Gaussian 분포라고 하며, 수학자는 Normal(정규)분포라고 말하는 경향이 있다는 점을 알면 편리합니다. 어느 쪽 사람인지 알수 있으니까요. - 저는 이런 경우를 대비해서 마구 섞어 씁니다 -

통계학은 정규분포를 빼면 시체라고 봐도 과언이 아닙니다. 카이제곱 분포, t-분포, F-분포등등의 분포는 사실상 정규분포의 성질을 이용해서 통계 현상을 연구하기 위해 만들어진 분포이니까요. 참고로 정규분포를 가정하지 않으면 t, F, 카이제곱 분포를 쓸 수가 없을 지경입니다. 오죽하면 정규분포가 영어로는 Normal Distribution일까요. 정상분포라니.  - 저는 개인적으로 가우시안이라는 용어를 더 좋아하는데 말이죠, 왜냐면 참 단순한 이유이긴 한데 더 있어보이니까요. 섞어 쓰더라도 용서해 주세요 -

통계분석이나 검정을 할 때 모집단에 대한 가정이 필요할 때에는 표본의 모양새가 정규분포와 전혀 다르더라도, 정규 분포를 가정하고 문제를 해결하려고 시도하는 경우가 아주 많이 있습니다. 잘 모르겠으면 일단 정규분포로 가정. 그런데 이 방법이 말도 안되는 것 같지만 막상 해 보면 대부분 - 여기에서 대부분이라는 용어가 매우 중요합니다. 당연히 안되는 것도 있어요 - 잘 설명이 되는 걸 보면, 참 어이가 없지만, 어쩔 수 없이 받아들여야 할 것 같습니다. 허허. 여기에서 웃어 넘기만 안되는 정말 중요한 사실이 있는데, 이런 경우에는 사건이 서로 독립이어야만 한다는 전제조건이 있다는 사실. 잊으면 안돼요. 세상은 생각보다 정규적이지 않거든요. 

실전적으로는, 보통 히스토그램으로 발생횟수를 다루는 자연현상의 경우 정규분포를 선택하면 대부분 맞는 경우가 많습니다. 여기에서 자연현상이라는 단어가 중요한데, 자연현상은 서로 독립이면서, 한가지 확률변수의 결과가 아니라 정말 여러가지 알려지지 않은 확률변수의 합으로 결과가 나타나는 경우가 많아서 정규분포할거다 하고 보면 조금 이해하기 쉬울거라 생각합니다. 보통 꽤 많은 표본을 뽑아서 히스토그램을 그려봤을 때, 평균값을 중심으로 좌우 대칭이 되는 것 처럼 보였을 때는 정규분포로 가정하는 데 무리가 없을 거라 생각해요. 

게다가 정말 아무리 예쁘게 봐주려고 해도 정규분포처럼 보이지 않는 표본을 정규분포처럼 바꿔서 - 예를 들면 log - 분석하는 분야도 많이 연구되었습니다. 통계에서 가우시안에 왜 집착을 하는가를 정리해 보면, 첫 번째로, 서로 독립인 경우에 샘플링한 데이터는 대부분 좌우대칭의 Normal Distribution을 따릅니다. 심지어 따르지 않는 경우에는 log, 제곱근, 세제곱근등을 취해서 정규분포에 근사되도록 유도합니다. 두 번째로는 정규분포라고 가정만 할 수 있다면 평균과 분산만으로도 모든 계산을 무지성으로 간단하게 끝낼 수 있습니다. 이런 간단함의 장점 때문에 가우시안 포기 못합니다.  

정규분포는 드무아브르가 최초로 발견했다고 합니다. 드무아브르는 Binomial Distribution을 n이 매우 커질 때 다음과 같이 표현 됨을 증명하셨습니다. 
$$ _nC_r a^{n-r}b^r \approx \frac{1}{2\pi n a b} e^{-{\frac{(r-na)^2}{2nab}}} $$

일단, 아.. 그냥 그렇구나. 하는 지금의 나의 모습을 잘 기억해 주세요. 어느 순간 익숙해진 나를 발견하는 날 우리 같이 껄껄껄 웃어보자구요. 그리고 라플라스가 Binomial Distribution에서 n이 매우 커질 때 확률변수는 정규분포를 따른다는 이론을 발표하셨구요. 마지막으로 가우스가 통계적 오차를 정규분포의 pdf(Probability Density Function)로 해석하셨습니다.  

음. 

정규분포는 자연이 따르는 가장 완벽한 형태의 분포이고, 혹시라도 우리가 설계해서 실험한 결과가 정규분포를 따르지 않으면 뭔가 이상한데? 하고 한번쯤 생각해봐야 합니다.라고 주장하는 실전적 데이터 분석가들도 있습니다만.

다른 자세한 얘기보다는 정규분포의 성질을 먼저 살펴보면 좋을 것 같습니다.

정규분포는 

$$ f(x) = \frac{1}{\sqrt{2\pi\sigma^2}}e^{-\cfrac{(x-\mu)^2}{2\sigma^2}} $$


요런식으로 표시됩니다. 저는 이 수식을 외우고 다닙니다. 후후. 별건 아니고, 제가 아는 공식중에 제일 있어보이니까요. 어떻게 보면 조금 이상한 취향이기도 하지만 외우는 것도 조금 웃기니까 이걸 다음과 같이 간단하게 표현합니다. (정규분포는 Mean(평균)과 Variance(분산)만 알면 확률을 특정할 수 있습니다.) 
$$ N(\mu, \sigma^2)$$
이런 식으로 간단하게 정규분포를 표현하기도 합니다. 

일단 확률분포이므로 확률의 정의상 당연히 
$$ \int_{-\infty}^{+\infty}N\left(\mu,\sigma^{2}\right)dx=1$$ 입니다.

정규분포의 모양새는 이렇게 Mean을 중심으로 대칭인 "종 모양", 이라고는 하지만 글쎄요. 갸웃. - 종 모양 보다는 뭔가 내 친구 코모양 같기도 한데. - 종 모양 형태를 취하고 있고, σ에 따라 그 값을 정해집니다. 주의해야 할 점은 이 정규분포곡선은 확률이 아니라, 확률밀도함수(pdf, probability density function)라는 점 입니다. 

확률은 확률밀도함수 자체가 아니라 면적을 구해서 따집니다. 왜냐하면 정규분포자체는 Continuous Probability(연속확률)이며, 특정 값에서의 확률은 0이기 때문입니다. - 그러면 특정 값에서의 확률은 얼마란 말인가? 하면, Continuous 확률 분포에서 특정 사건이 일어날 확률이 전부 0으로 계산되기 때문에 사건들이 일어날 가능성을 비교하는 것이 불가능한데, y값이 높을수록 일어날 가능성이 높은 사건이라고  보면 편리합니다. - 즉, 가우시안 그래프를 보면 μ에서 발생하는 사건이 μ+σ에서 일어날 사건보다 발생할 가능성이 크다. 고 할 수 있습니다. 

여기에서 σ에 따라 그 확률에 해당하는 면적이 달라지는데
1σ 범위(μ-σ, μ+σ)에는 전체 값의 68%가 놓이게 되며
2σ 범위(μ-2σ, μ+2σ)에는 전체값의 95%가
3σ 범위(μ-3σ, μ+3σ)에는 전체값의 99.7%가 놓이게 됩니다. (사실 95%의 경우 1.96σ가 더 정확한 값입니다.)



이런 이유로 정규분포는 σ와 μ만 알면 분포를 정확하게 정의할 수 있는 장점이 있습니다. 보통 95%를 많이 사용하게 되니까, 미리 이야기해 두자면, 1.96정도는 외워두는 것이 여러모로 신상에 좋겠습니다. 

그러고보니, σ에 따라서 종모양이 더 퍼지거나 덜 퍼지거나 하겠네요. 왜냐하면 전체 적분한 면적은 무조건 1이 되어야 하니까요. 

σ가 커질수록 더 넓어지고요, σ가 작을 수록 좁아집니다. 그리고 μ값에 따라서도 좌우로 움직이겠네요. 그래서 평균을 location 모수, 분산을 scaling 모수라고도 부릅니다. 

자, 이제 적분을 통해서 원하는 구간 a,b에 대해서 원하는 확률을 구하기 위해 적분하면 원하는 확률이 나오겠군요. 

그러면 적분을 해볼까요?

$$\int^{b}_{a}\cfrac{1}{\sqrt{2\pi\sigma^2 }}e^{{\cfrac{-(x-\mu)^2}{2\sigma^2}}{}} dx$$

음? 이거 적분할 수는 있는건가요.
적분이 너무 어려우니까, 적분 결과를 테이블로 만들어 놓았는데, 케이스 마다 μ와 σ가 다를테니까 이걸 μ=0와 σ=1의 경우로 Normalization(정규화) 해서 테이블을 만들어 두었죠. 그런것을 "표준"정규분포라고 부르고요.

이런 정규화 변수를 z라고 부르고, 
$$ {\displaystyle Z={\frac {X-\mu }{\sigma }}} $$
로 정규화를 하면 μ = 0, σ = 1인 정규 분포를 얻을 수 있습니다. - Normalization(정규화)란 무엇인가 하면, 모든 값을 표준편차의 크기로 나눠서 표준편차를 기준으로 몇배냐? 로 따지는 과정이라고 생각하면 간단?하다고 생각합니다 -

자, 그러면 그런 정규화된 Gaussian을 -∞ ~ 0.32까지의 확률값을 구하기 위해 적분을 한다고 생각하면 


$$\int^{0.32}_{-\infty}\cfrac{1}{\sqrt{2\pi\sigma^2 }}e^{{\cfrac{-(x-\mu)^2}{2\sigma^2}}{}} \Big\rvert_{\substack{\begin{align*} \sigma&=1 \\ \mu&=0 \end{align*}}}  dx = \int^{0.32}_{-\infty} \cfrac{1}{\sqrt{2 \pi}}e^{\cfrac{-z^2}{2}} dz $$

이걸 어떻게 적분해요... 적분하기 어려우니까 아래와 같이 테이블을 이용해서 그 값을 찾아낼 수 있습니다. - 이 가우시안 적분 테이블은 일반적으로 -∞ ~ 특정값 까지 면적을 정리해서 Q 함수라는 것으로 표현하기도 하는데, 어떤 테이블은 반대 방향의 특정값~∞ 까지를 의미하기도 하니까, 테이블이 무엇을 나타내는지 먼저 잘 보셔야 합니다. -

그런데, 요즘이 어떤 세상입니까. python을 이용해서 테이블을 사용하지 않고 Gaussian계산 결과를 확인할 수 있는 편리한 세상입니다. 

import scipy.stats

scipy.stats.norm(0, 1).cdf(0.32)
→ 0.6255158347233201

 

심지어 ppf라는 것을 쓰면 확률을 가지고 그떄의 z값을 구할 수 있습니다.

scipy.stats.norm(0,1).ppf(0.6255158347233201)
→ 0.3200000000000002

 

훗. 간단간단입니다. 

정규분포를 따르지 않는 변수들도 많지 않나요? 그리고 만약 지금까지 발견된 모든 변수가 정규분포를 따른다 하더라도, 아직 발견되지 않은 어떤 변수가 정규분포를 따르지 않을 가능성도 있지 않나요? 어떻게 세상에 존재하는 모든 변수가 아직 알려지지도 않은 모든 변수까지도 포함해서 정규분포를 따를 것이라는 가정을 할 수 있나요? 라는 질문은 바로 이어지는 중심극한정리에 대한 오해에서 오해를 풀어보도록 해요. 다만, 서로 독립의 경우에는 무한히 반복해서 결과 값들을 나온 횟수의 히스토그램으로 더해서 쌓으면 가우시안을 따르게 된다는 점만 알면 된다고 생각합니다. 우리가 흔히 보는 시험문제 분포라던가, 키의 분포라던가 이런 것들은 모두 독립입니다. 그래서 가우시안으로 근사해서 문제를 해결하죠. 어느 정도 충분히 표본을 키웠는데도 불구하고 각 결과값이 나온 횟수의 합의 분포가 정규를 따르지 않는다면 서로 독립이 아닐 수 있고, 그러니까, 다른 분포를 찾아보거나, 비모수 통계를 이용하는 것이 바람직하다고 생각합니다. 조금은 명확해졌나요.

결과값의 나온 횟수의 합이라는 말이 좀 어려운데 이렇게 보면 좀 더 쉽게 다가갈 수 있지 않을까 생각합니다. 주사위 던지기를 할 때 특정 눈이 나오는 경우의 합을 나타내 보면 Gaussian같이 되는데, 어떤가요.

이쯤되면 중심극한정리 Central Limit Theorem을 짚지 않고 넘어가기란 정말 제 동생이 제가 화장실에 있을 때 문을 쾅쾅 두드리지 않고 지나가기만큼 어려운 일입니다. 자. 바로 이어서 얘기해 볼까요.

친절한 데이터 사이언스 강좌 글 전체 목차 (링크) -



댓글





친절한 데이터 사이언스 강좌 글 전체 목차 (링크) -