본문 바로가기

Statistics

Common Probability Distributions: The Data Scientist’s Crib Sheet

원문 : https://blog.cloudera.com/blog/2015/12/common-probability-distributions-the-data-scientists-crib-sheet/


데이터 사이언티스트들은 선택해야 할 수백가지의 확률분포들을 가지는데, 어디서부터 시작을 해야할까?


데이터 사이언스, 이게 뭐가 됐든, 아주 중요한것임은 분명하다. "데이터 사이언티스트는 어느 소프트엔지니어보다는 통계학을 더 잘 안다." 이 말은 어느지역모임과 해커톤에서 어느 전문가가 한 말이다.  통계학자들이 뜬 20세기 이후로 잠잠했기 때문에, 요즘 활발한 활동을 하는 응용수학자들은 20세기에서의 복수를 했다고도 한다. 응용수학자들은 그들만의 아무도 무시할 수 없는 정당한 벤다이어그램을 가졌다. 그런데 갑자기, 엔지니어(응용수학자)들은 Apache Bikeshed project에 대해서 들어보지도 못했을 분석가들에게 혀를 차지만 신뢰구간에 대한 이야기를 할 때는 설자리를 잃는다. 파티에서 가장 재미있는 사람으로 다시 끼기 위해서는, 통계학 집중코스가 엔지니어에게 필요하다. 그러면 바로 이해할수는 없지만, 대강은 알아들을 수 있다.


확률분포는 컴퓨터 공학에서 자료구조와 같이 통계학에서 기본적인 것이다. 만약 당신(컴퓨터 엔지니어)가 데이터사이언티스트같이 말하기를 원한다면, 확률분포부터가 바로 공부를 시작해야하는 곳이다. 당신은 분포에대한 이해없이 R이나 scikit-learn 을 사용하여 간단한 분석을 이용해 피할 수도 있다. 마치 hash 함수에 대한 이해없이 자바프로그래밍을 다룰수 있는것처럼. 그러나 곧 통계학 전공자들로부터 비판을 받으며, 참담한 결과로 후회를 하게될 것이다. 


수백개의 확률분포들이 있지만, 실제로 끊임없이 쓰이는 분포는 약 15개정도이다. 그렇다면 그들은 무엇이고, 각 분포에 대한 어떤 훌륭한 인사이트를 당신이 기억해야만 하는가? 이제 알아보자.


1. 확률분포란 무엇인가?


사건들은 항상 일어난다. 주사위굴리기, 비내리기, 버스도착하기. 이러한 사건이 발생한 이후, 특정한 결과들은 확실해진다. 주사위가 3 과 4가나오고, 오늘하루 0.5인치의 비가 내리고, 버스가 도착하는데 3분이 걸리는것과 같이. 이러한 사건이 발생하기 이전에는, 우리는 오직 결과에 대한 가능성만을 말할수 있다. 확률분포들은 우리가 생각한 각 결과에 대한 확률들이 어떤지를 설명한 것이다. 이것들은 다양한 형태를 갖지만, 오직 똑같은 하나의 크기를 같는다. 다시말해 분포에서의 확률들의 합은 항상 1이 된다는 말이다.


예를들어 평평한 동전을 던지는것은 2개의 결과를 갖는다. 앞면 혹은 뒷면으로 결과가 나올것이다. (동전이 세워지거나, 던지는 도중 갈매기가 동전을 낚아채는 경우가 없다고 가정한다.) 동전을 던지기 전에, 우리는 앞면이 나올 확률이 0.5가 될것이라고 믿었다. 역시 뒷면도 마찬가지로 0.5가 될 것이라고 믿었다. 이것이 동전던지기의 2가지 결과들에 대한 확률분포이다. 여태까지의 말이 이해가 된다면, 당신은 이미 베르누이 분포(Bernoulli distribution)를 아는것이다.


이국적인 이름에도 불구하고, 일반적인 분포들은 그리고 권위감있고 기억하기 쉬운 흥미롭고 직관적인 방식으로 각 분포들을 서로 연관시킨다. 몇몇 분포들은 베르누이 분포로부터 나왔다. 아래 표를 보면 이러한 위계구조가 나와있다.



각 분포는 해당 분포의 확률밀도함수(PDF)의 예제로 설명하겠다. 이 포스팅은 확률분포합이 1인 결과들의 분포만을 다룬다. 따라서 각 그래프의 수평축은 나올수 있는 숫자로 나타낸 결과들의 집합이고 수직축은 결과의 확률을 나타낸다. 어떤 분포들은 0 또는 5같이 정수여야 하는 결과에 대해서는 이산적이며 이것은 각 결과마다 하나씩 선의 높이가 결과의 확률인 sparse line들로 나타낸다. 또한 다른어떤 분포는 -1.32 또한 0.005같이 어느 실수값에서나 가질수 있는 결과들에 대해서는 연속적이다. 이것들은 곡선의 아래면적이 확률을 나타내는 밀도곡선으로 나타낸다.  선의 높이나 곡선아래의 면적의 합은 항상 1이다.


2. Bernoulli and Uniform


위에서 2개의 이산적인 결과 앞면 혹은 뒷면에 대한 베르누이 분포를 봤다. 그러나 0과 1에 대한 분포를 0번의 앞면(즉 뒷면) 또는 1번의 앞면에 대한 분포로 생각해보자. 위에서 둘의 결과는 같은 확률이다. 이것이 위의 다이어그램에서 설명한것이다. 베르누이의 확률밀도함수는 양쪽 끝에 0과 1의 두개의 동등한 확률결과들을 보여주는 같은 높이의 2개의 선을 가지고 있다. 


베르누이 분포는 구부로진 동전던지기 결과같은 동등하게 같은 확률이 아닌 결과들을 나타낼 수도 있다. 이렇게 되면 앞면의 확률은 0.5가 아니라 어떤 다른 값 p가 된다. 그리고 뒷면의 확률은 1-p가 된다. 많은 분포들 같이, p같은 파라미터들에 의해 정의된 분포족(familiy)이다. 베르누이를 생각할때 단지 (평평하지 않을수도 있다) 동전던지기를 생각해라.


약간의 단계를 높여서 다수의 동일한 확률을 가진 결과들에 대한 한 분포를 생각해보자. 이것이 평평한 확률밀도함수를 가진 균등분포(uniform distribution)이다.  균일한 한 주사위를 굴리는 것을 상상해보자. 1 에서 6까지의 결과들은 균일한 확률을 가진다. 이것은 어느 결과의 숫자에 대해서 혹은 심지어 연속분포로써 정의될 수 있다. 


균등분포를 생각할때 주사위굴리기를 연상시켜라.


3. BInomial and Hypergeometric


이항분포(Binomial distribution)는 베르누이 분포를 따르는 사건결과들의 함으로 생각될 수 있다. 평평한 동전을 20회 던진다. 얼마나 많은 앞면이 나올것인가? 이 갯수는 이항분포를 따르는 결과이다. 이것의 파라미터들은 n(시행의 횟수), p 성공의 확률(여기서는 앞면, 즉 1)이다. 한번 던질때마다. 베르누이분포를 따르는 시행결과가 나온다. 각 시행이 독립적이고 같은 성공확률을 가지는 동전던지기 시행에서 성공의 횟수를 셀때, 우리는 이것이 이항분포라고 한다.


즉 흑과 백의 공들이 동일한 수로 항아리에 들어가 있다고 생각해보자. 눈을감고, 공을 뽑고, 이 공이 검은공인지 아닌지를 적은후, 다시 항아리에 집어넣는다. 이를 반복한다. 몇번 검을공을 꺼냈는가? 이 횟수또한 이항분포를 따른다.


초기하분포(hypergeometric distribution) 공들이 비복원추출로 뽑힐때의 검은공이 나올 횟수의 분포이다. 이는 이항분포의 사촌임을 부정할 수 없지만 같은것은 아니다. 왜냐하면 공이 뽑힐때마다 성공의 확률이 변하기 때문이다. 만약 공들의 숫자가 공을 뽑는 횟수에 비해 상대적으로 크다면, 각 추출시행마다 성공확률의 변화가 더 적을것이기 때문에, 둘의 분포는 상당히 유사할 것이다. 


사람들이 비복원추출로 항아리로부터 공들을 뽑는것에 대해 이야기할때, "응 그래 맞어 초기하분포야"라고 말하는것은 항상 맞다. 왜냐하면 나는 항아리에 공을 가득채우고, 공들을 뽑고 난 후 , 공을 다시 채우거나 하는 사람을 실제 본적이 없기 때문이다. (항아리를 가지고 있는 사람조차 보지 못했다...) 더 일반적으로, 한 모집단에서 하나의 표본으로 subset을 고를때라고 생각해야 한다.


4. Poisson


매분마다 소비자지원상담전화를 하는 고객의 수는 어떠한가? 만약 당신이 매초에 고객이 전화를 하지않고(0) 전화를 하는(1) 상황을 가진 베르누이 시행으로 생각한다면, 이 결과의 분포는 이항분포를 따를 것 같이 보인다. 그러나 전력회사가 알듯, 전력이 나갈때 매초에 1통이 아닌 2통 심지어는 수백동의 전화가 올 수 있다. 이것을 60,000 millisecond 크기의 시행 즉, 더 많은시행, 더 작은 전화1통 혹은 2통 그이상의 통화수의 확률으로 본다해도 여전히 베르누이시행으로 보기는 어렵다. 그러나 시행을 무한대로 한다면, 타당한 결론이 나온다. n을 무한대로하고 n*p를 같게 만들기 위해 p를 0에 가깝게 한다. 이것은 마치 무한대로 나눈 많은시간에서 전화 한통이 올 확률이 극미한 무한대의 시행을 하는것과 같다. 이러한 제한결과를 포아송분포(Poisson distribution) 라 한다.


이항분포와 같이, 포아송분포는 한 횟수의 분포이다. 단지 시행의 횟수가 약간 바뀐것 뿐이다. 포아송분포는 확률 p 와 시행횟수 n 이 아닌 평균비율 를 파라미터로 한다. 이는 바로 위에서 말한 n*p인 상수값이다. 포아송분포를 떠올릴때 벌어지고 있는 사건들에 대한 연속적인 확률이 주어졌을때, 한 시행횟수에서 일어난 사건들의 개수를 셀 때를 생각해야 한다.


라우터에 접근한 packet들 혹은 한 상점에 들린 고객들, 혹은 줄을 서서 기다리는 상황들 일때 포아송을 생각해라.


5, Geometric and Negative Binomial


단순한 베르누이시행들로부터 또 하나의 분포가 나온다. 동전던지기를 할때, 첫 앞면이 나오기 전까지, 뒷면이 얼마나 많이 나오는가? 이 뒷면이 나온 횟수는 기하분포(Geometric distribution)를 따른다. 베르누이 분포와 같이,  마지막 성공(처음 앞면이 나온 사건)의 확률인 p 가 파라미터로 쓰이지만, 동전을 던지는 시행횟수 n은 파라미터로 쓰지 않는다. 왜냐하면 실패한(뒷면이 나온) 시행의 횟수 그 자체가 결과이기 때문이다.


이항분포가 "얼마나 많은 성공(앞면이 나온 사건)을 했느냐?" 이면, 기하분포는 "한번의 성공까지 얼마나 많은 실패(뒷면이 나온 사건)를 했느냐?"이다.


음이항분포(Negative binomial distribution)는 간단한 일반화이다. 단 1번의 성공이 아닌, r번 성공하기 까지 실패를 한 횟수이다. 그러므로 이것은 r(성공횟수)를 파라미터로 가진다. 때때로 이것은 반대로 r번의 실패까지 성공한 횟수로 설명되기도 한다. 사실 성공과 실패는 분석가가 정의하는 것이므로 p를 성공 혹은 실패의 확률로 정하고 도중 바꾸지 않는 한, 이 둘은 같은 말이다. 


만약 당신이 어색한 상황을 깨야하는 상황이라면, 이항분포와 초기하분포는 붙어다니는 한 쌍이지만 기하분포와 음이항분포 또한 이와 유사한 관계라고 말하고 "누가 이렇게 이름을 진거야? 그렇지 않아?" 라고 말해라.


6. Exponential and Weibull


소비자지원상담 예제로 돌아가자, 다음 고객이 전화하기까지 시간이 얼마나 걸리는가(대기시간)? 대기시간의 분포는 기하분포를 따를 것 같이 보인다. 왜냐하면 두번째 고객이 전화를 하는 1초까지, 아무도 전화를 하지 않는 매초는 실패라고 볼 수 있기 때문이다. 실패의 횟수는 아무도 전화를 하지 않은 초의 개수(n초)이다. 그리고 다음전화까지, 이것은 거의 대기시간이나 마찬가지이다. 그러나 이로는 부족하다. 이번 문제점은 전체 실패횟수의 합은 전체시간(n초)안에  있지만 이 실패들은 다음 전화가 오기까지의 시간(초)안에서 대기에 대한 설명을 하기는 어렵다는 것이다. (예를들어 9초의 실패시간이 있는데 실제 고객이 걸었던 시간은 5초때였을 수 있다. 따라서 4초의 왜곡이 발생)


전과 같이, 극소하게 시간을 나누어 기하분포에 극한을 취하면, 이것은 적합한 분포가 된다. 이 분포는 한통의 전화가 오기까지의 시간의 분포를 설명하는데, 우리는 이 분포를 지수분포(Exponential distribution)이라고 한다. 이것은 위의 이산형분포들와는 다른 연속형분포이다. 왜냐하면 결과시간이 전체시간(n초)이 될 필요가 없기 때문이다. 포아송분포와 마찬가지로 를 파라미터로 갖는다. 


이항-기하 분포의 관계를 상기하여,  포아송분포의 "매시간 얼마나 많은 사건이 일어나는가?"는 지수분포의 "한 사건(통화)이 일어나기까지 시간이 얼마나 걸리는가?"와 연관되어 있다. 매시간의 이벤트의 횟수가 포아송분포를 따른다고 가정할때, 사건들간의 시간은 같은 파라미터 를 가지는 지수분포를 따른다. 두 분포 사이의 이러한 관계는 두 분포 중 하나에 대해 말할때 반드시 나오는 것이다.


지수분포는 "사건이 일어나기까지의 시간" 혹은 "실패가 일어나기까지의 시간"에 대해 생각할 때, 떠올라야 한다. 사실상, 이것은 이것은 너무나도 중요해서, 와이블 분포같이, 실패에 따른 시간을 설명하기 위해, 더 일반화된 분포들이 존재한다. 지수분포는 사건의 실패 또는 성공의 확률이 고정됐을때 적합하지만, 와이불 분포(Weibull distribution)는 시간에 따라 실패의 확률이 증가하거나 감소하는것을 나타낸다. 지수분포는 단지 하나의 특별한 케이스일 뿐이다.


실패에 대한 시간을 얘기할때 와이불분포을 생각해라.


7. Normal, Log-Normal, Student's t, and Chi-squared


정규분포(normal distribution) 혹은 가우시안 분포( Gaussian distribution)은 모든 분포중 가장 중요한 분포일 것이다. 이 종모양은 바로 알아볼수 있다. e(자연상수)같이, 이 흥미로운 특정 개체는 겉보기에 간단한 자료들에서부터 어디에서나 나타난다.  같은 분포(어느 분포든 상관없다)를 따르는 값을 수없이 많이 뽑고, 그것들을 합한다. 그러면 그 합의 분포는 대략적으로, 정규분포를 따른다. 합한것들이 더 많을 수록 그들의 합의 분포는 정규분포에 더 가까워진다. (주의(Caveats) : 이상치가 없고, 결측값이 없는(well-behaved) 분포이면서 독립이여야만 정규분포를 따른다.) 원래분포에 상관없이 값들을 많이 추출하면 추출할수록 정규분포에 가까워진다는 것은 놀라운 사실이다.


이것을 우리는 중심극한의 정리(Central limit theorem)라고 한다. 이것이 무엇으로 불리는지 그리고 어떤의미인지를 알아야한다. 그렇지 않다면, 당신은 즉시 야유을 받을 것이다.


이런 의미에서, 이것은 모든 분포와 관련이 있다. 그러나 특히 사건들의 합의 분포들과 관련이 있다. 베르누이 시행들의 합은 이항분포를 따르고, 시행의 횟수가 증가할수록, 이항분포는 정규분포화 되어간다. 이항분포의 사촌인 초기하분포 또한 마찬가지이다. 포아송분포 (이항분포의 극단적 형태) 또한  평균비율 파라미터가 증가할수록 정규분포를 따른다.


로그-정규분포(log-normal distribution)를 따르는 결과는 로그를 취한 값이 정규분포하는 특성을 띤다. 혹은 정규 분포하는 값의 지수화는 로그 정규분포한다고도 말할 수 있다. 만약 사건들의 합이 정규분포하다면, 사건들의 곱들이 로그-정규분포하다는것을 기억해라. (합이 정규분포하다면 값들에 로그를 취해줘도 정규분포할것이라는 가정을 한 것)


t-분포(Student's t-distribution)은 많은 비통계학자들이 다른 과학분야에서 배운 t-test의 기초가 된다. t분포는 정규분포의 평균에 대해 추론하는데 사용된다. 그리고 이것의 파라미터가 증가할수록 정규분포에 가까워진다. t 분포의 특이한 점은 정규분포의 꼬리보다 두꺼운 꼬리부분이다.


t분포는 약 100여년 전에 기네스가 더 나은 흑맥주를 얻기위해 통계를 사용하고 있었다. William Sealy Gosset 이라는 사람이 더 좋은 보리를 키우기 위해, 완전히 새로운 통계이론을 발명했다. 고셋은 다른 양조업자들이 그 아이디어를 어떻게 사용하는지 알수 없다며 상사를 설득했고., 결국 게재를 허락받았지만, 오직 필명의 'Student'라는 이름하에 게재를 해야만 했다. t분포는 이러한 그의 필명에서 따온 이름이다.


마지막으로 카이제곱분포(Chi-squared distributioin)는 정규분포하는 값들의 제곱합의 분포이다. 이 분포는 정규분포를 해야하는 편차의 제곱합에 기반한 Chi-squared test를 뒷받침해주는 분포이다.


8. Gamma and Beta


이쯤에서, 만약 카이제곱을 따르는 어떤것에 대해 당신이 이야기 하고 있다면, 그 대화는 다소 진지해진다. 진짜 통계학자들과 그럴듯하게 대화를 하고, 이쯤에서 자리를 떠나고 싶을것이다. 왜냐하면 감마분포(Gamma distribution)같은 것이 튀어나올지도 모르기 때문이다. 이것은 지수분포와 카이제곱분포의 일반화이다. 더 지수분포에 가까운, 감마분포는 대기시간의 최신 모델로써 사용된다. 예를들어 감마분포는 다음 n번의 사건이 발생하기까지의 시간을 모델링 할때, 나오는 분포이다. 이것은 기계학습에서 2개의 분포들에 대한 결합사전확률로 나타난다.


결합확률에 대한 대화에는 끼어들지 말라, 그러나 만약 당신이 해야하겠다면, 이제 베타분포(Beta distribution)에 대해서 이야기 해야한다는것을 명심해라. 왜냐하면, 여태껏 말한 대부분의 모든 확률 분포에 대한 사전결합확률이기 때문이다.  데이터 사이언티스트가 관심이 있는 한에서, "이것이 감마분포를 만든 목적이다. "라고 말하며 유유히 떠난다.


The Beginning of Wisdom


확률분포들은 여러분들이 깊이 알수 없는 것이다. 정말 관심이 있는 사람들은 이 incredibly detailed map of all univariate distributions를 확인해봐라. 이 일화적으로 푼 설명이 여러분들에게 오늘날의 tech culture에서 최신의 그리고 아는것이 많은 것처럼 보이기 위해, 당신에게 자신감을 주었으면 좋겠다. 혹은 적어도 창피함을 안당하기 위해, 높은 확률로 덜 nerdy한 그룹들을 찾는 찾는 하나의 방법이다.