본문 바로가기

Statistics

What is the difference between Bayesian and frequentist statistics?

원문 : http://blog.keithw.org/2013/02/q-what-is-difference-between-bayesian.html


#오역이 있을 수도 있으니 주의바람! 보는대로 수정할 것임.. (수정중)


수학적으로 말하자면, 빈도주의론자와 베이지안론자의 방법들은 그들이 '무엇에 신경쓰느냐' 와 그들이 받아들이는 오차의 종류에서 차이가 난다.


일반적으로 말하자면, 빈도주의론자의 접근법들은 세상은 오직 절대적인 한 방법밖에 없다는 것이다. (예를 들어 한 파라미터(모수)가 오직 하나의 특정 참값을 가진다는 것) 그리고 결과가 파라미터의 참값이 뭐든간에 최소한의 확률으로라도 (참값을 향해) 조정될 실험을 실행하려 노력한다는 것이다.


결과적으로, 실험후에 우리가 아는 것에 대한 불확실성을 표현하기 위해, 빈도주의론자는 신뢰구간(Confidence interval)이라는 걸 사용한다. 신뢰구간은 최소한의 확률(예를들어 95%)로 모수의 참값을 포함할 값의 범위를 말한다. 한 빈도주의론자는 95%의 신뢰구간으로 실험을 계획했다. 그결과 100번의 실험이 끝날때마다 그 중 적어도 결과 신뢰구간의 95개의 실험은 모수의 참값을 가지고 있을꺼라 기대할 것이다. 나머지 5개의 실험은 약간 틀렸거나 완전히 말도 안되는 결과가 나왔을지도 모른다. 이 접근법으로써는 100개의 추론중 95개가 맞는 동안은 이 정도는 괜찮다고 말한다. (물론 우리는 약간 틀렸다는 말을 하고 싶지만, 그렇다고 아예 틀린말도 아니다.)


베이지안 접근법들은 문제를 다르게 표현한다.  파라미터를 단순히 알지 못하는 하나의 참값을 가졌다고 가정하는 대신, 파라미터의 값이 어떠한 확률 분포로부터 선택되어 고정되었다고 가정한다. 여기서 이 확률분포를 사전확률 분포라고 한다. 다르게 말해보면 어떠한 처리(measurements)를 하기 전에, 베이지안은 파라미터의 참값이 무엇이 될 것인지에 대해 belief state라는 확률 분포를 할당한다. 차량관리국으로부터 전반적인 트럭크기의 분포를 알았을때, 한 트럭의 사이즈를 추정하려 한다고 상상해보자 이 사전확률은 주어졌을 수도 있고 어떤가정으로 부터 나왔을 수도 있다. 베이지안 추론은 더 간단하다. 우리는 데이터를 모으로 그 다음 데이터에 기반해, 파라미터의 다른 값들에 대한 확률을 계산하면 끝이다. 이 새로운 확률분포를 우리는 사후확률분포 혹은 간단히 사후확률이라 부른다. 베이지안 접근법들은 그들의 불확실성을 확률들의 95%를 포함한 사후확률분포에 모수의 범위를 주는 것으로써 요약할 수 있다. 이를 95% 신뢰구간(Credibility interval)이라 부른다.


한 베이지안 지지론자는 빈도주의론자의 신뢰구간(Confidence interval)을 이렇게 비판할지도 모른다. "만약 100번의 실험중에서 95번이 참값을 포함한 신뢰구간을 가지면 어떻게 할래? 내가 하지도 않은 99번의 실험에 대해서는 관심이 없어! 나는 내가 했던 이 실험에만 관심이 있어! 너의 룰은 다른 95개가 맞는한 100개중 5개가 완전히 말도 안될 수 있다는거잖아! (음의값, 불가능한 값) 완전 웃긴다 니네.."


한 빈도주의 신봉론자는 베이지안주의자의 신뢰구간(Credibility Interval)을 다음과 같이 비판할 것이다. "그러면, 만약 사후확률의 95%가 이 범위에 포함되면 어떻게 할껀데? 참값이 예를들어 0.37이면? 만약 참값이 이거라면, 실험을 끝내야 하고, 그 시기의 75%가 틀릴꺼야!" 그러면 너는 (베이지안론자) 이렇게 말할 거다. "아 그거? 괜찮어~ 사전확률에 따르면 0.37이 참값이 될 확률은 매우 낮거든!." 그리고 그것은 실제 그럴지도 몰라. 그러나 나는 파라미터의 어느 가능한 값에 대해서나 "먹히는" 한 방법을 원해. 나는 이 실험에서 가지지 않은 99개의 후보 파라미터에 대해서는 관심이 없어. 나는 오직 이 실험이 가지고 있는 1개의 파라미터만 얻고 싶을 뿐이야! 그리고 너의 대답은 오직 사전확률이 맞을때만 성립해! 만약 사전확률을 아무런 근거없이 정한다면, 너의 모수추정은 빗나갈 수도 있겠지!"


각 방법론에 대한 그들이 비판에 대해서 두 사람 다 어느정도는 맞다. 그러나 필자는 그 차이에 대해 수학적으로 생각해 보길 권고한다. 수학에는 다른 것들을 계산하기 위한 다양한 방법들이 있다. 이 문제는 아주 작은 부분에 불과하다, 이 주제는 많은 측면에서 복잡한 주제이다. 베이지안 분석에 대한 책은 많은 책장을 채우고도 남고 전통적인 통계학(빈도주의)또한 마찬가지이다.


두 이론의 차이점에 대한 좀 더 구체적인 예제를 보자.


필자가 어렸을때, 어머니는 소포로 초코칩 쿠키 한병을 주문해 나를 놀래키시곤 하였다. 이 배달업체는 4가지 다른종류의 쿠키병을 저장해 두었는데 - Type A, Type B, Type C, TypeD. 이 쿠기병들은 모두 같은 트럭에 있다. 당신이 어떤 종류의 쿠키병을 얻을지는 절대 확신할 수 없다. 각 병에는 정확히 100개의 쿠키가 들어있다. 그러나 각 쿠키병들을 구별할 특징은 각 쿠키마다 박혀있는 초콜렛 칩의 분포들(4개)이다. 만약 여러분에 병에서 쿠키한개를 동일하게 임의적으로 뽑는다면, 이것이 초콜렛 칩의 수에 대해 얻을 확률분포들이다.



예를들어 Type-A 쿠키병은 2개의 초코칩이 박힌 70개의 쿠키를 가지고 4개 이상의 초코칩이 박힌 쿠키는 없다. Type-D쿠키병은 1개의 초코칩을 가진 쿠키가 70개 있다. 어떻게 각 열이 확률밀도함수인지를 주목해봐라. 또는 병이 A 또는 B 또는 C 또는 D이고 각 열의 합이 100이라는 가정하에(사전확률) 여러분이 얻을 초코칩의 숫자에 대한 조건부확률.


배달원이 새로운 쿠키병을 두고 가자마자 나는 게임을 하는걸 좋아하곤 했다. 나는 임의로 병에서 쿠키하나를 꺼내고, 쿠키에 있는 초코칩 갯수를 센후 이 쿠키가 어느 병에서 나온것일지를 (70% 신뢰구간에서) 확률로 말하려 했다. 이것은 병(A,B,C,D)의 파라미터값(한 쿠키를 뽑을때마다, X개의 초콜렛칩이 박힌 쿠키가 Y병에서 나올 가중치(확률))을 추정하는 것과 동일하다. 초코칩(0,1,2,3,4)가 결과이고 관찰치이며 표본이다. 


원래, 나는 이 게임을 70%의 신뢰구간을 가진 빈도주의론적 입장에서 했었다. 이러한 신뢰구간은 파라미터의 참값이 무엇이든지간에 , 즉 어느 쿠키병을 가졌던지 간에, 신뢰구간은 적어도 70%의 확률로 참값을 포함할 것이라는걸 확신시켜준다.


물론, 한 신뢰구간은 한 세트의 파라미터값(한 세트의 열(A,B,C,D)들에 대한 한 결과(한개의 행(0 또는 1 또는 등등)와 관련된 하나의 함수이다 그러나 신뢰구간을 세우고 70%범위를 보장하기 위해. 우리는 수직으로 실험을 해야한다. 다시 말해 각 열(A,B,C,D)를 차례대로 보고, 확률질량함수의 70%가 포함되어 있는지 확인해라. 그 결과 그 시기의 70%를 위해 병의 정체는 결과 구간의 부분이 될것이다. 이 수직 열들은 확률질량함수를 형성한다는 것을 기억해라!


이 과정을 마친후, 다음과 같은 구간이 나왔다.

예를 들어, 만약 쿠키에 있는 초코칩의 숫자가, 1개라면, 나의 신뢰구간은 {B,C,D}가 될 것이다. 만약 4개의 초코칩이라면, 나의 신뢰구간은 {B,C}일것 이다. 각 열의 합이 70%이거나 그 이상인것에 주목해라, 그 다음 어떤 열이 실제로 왔는지에 상관없이 (배달원이 어느 병을 배달했는지에 상관없이), 이 과정으로부터 범위의 결과가 적어도 70%의 확률로 올바른 병을 포함할 것이다.  


신뢰구간을 만드는 과정에서 약간의 재량권을 가졌다.(내 맘대로 했다는말인 듯.) Type-B 병에서, 그냥 0,1,2,3을 포함할수도 있었지만 1,2,3,4를 선택했다. 0,1,2,3을 포함하면 75%의 Coverage를 갖는데, 이는 여전히 최소수준인 70%를 만족시킨다. (C도 이런의미에서 0,4 대신 1,4를 선택한것 같다.)


그러나 내 동생 Bayesia 는 이 접근법이 이상하다고 생각했다. "오빠는 배달원도 시스템의 일부로 여겨야되!" 그녀는 말했다. "쿠키병을 확률변수로 다룬 다음, 배달원이 그 쿠키병 중 하나를 일정하게(uniformly) 고른다고 가정해 보자. 다시말해 그의 트럭에는 모두 4개의 병만 있는것이고 우리집에 도착했을때, 일정한 확률로 임의적으로 한개를 골라 배달한거야!"


"이 가정을 가지고, 전체 사건에 대한 결합확률(joint probabilities)를 봐보자 즉, 병의 종류와 오빠가 처음 고른 쿠키에서 나온 초코칩의 수에 대해서 말이야." 동생이 말했다. 다음 표가 그려진다.



이제 전체표가 확률밀도함수임을 주목해라! 전체표(행,열)의 합이 100%이다.


"좋아, 이거 갖고 이제 어떻게 할건데?" 나는 말했다.


"오빠는 병이 주어졌을 때 초코칩의 숫자에 대한 조건부확률을 봐왔어. 그건 완전히 틀린 방법이야! 오빠가 원하는 건 쿠키에 있는 초코칩의 숫자가 주어졌을때, 어느병인지에 대한 조건부확률이야! 오빠의 70% 신뢰구간은 전체에서 참인 병이 되는 70% 의 확률을 가진 병목록을 포함해야만해. 그게 더 단순하고 직관적이지 않아?"


"물론이지, 하지만 어떻게 계산해는데?" 나는 물었다.


"오빠가 초코칩 3개짜리 쿠키를 가진걸 안다고 해보자. 그 다음, 우리는 표에서 3개짜리를 제외한 모든 다른 행들을 무시할 수 있어, 그리고 단순히 3개자리 행을 확률질량함수로 다루는 거지. 근데 각 확률들을 전체 100%가 되도록 비례적으로 크기를 늘려야 해!"


동생은 다음과 같이 했다.



"어떻게 각 행이 현재의 확률질량함수가 되었고 합이 100%가 되는지 주목해라. 우리는 조건부 확률을 오빠가 시작했던 조건부확률로부터 뒤집었어 다시말해 첫번째 쿠키에 있는 초코칩의 숫자가 주어지면, 배달원이 어떤 특정한 병을 배달할 확률인거야!"


"흥미로운데!" 나는 말했다. "그러면 이제, 우리는 각 행에서 단지 70% 확률까지 얻기 위해 충분한 병들을 고르면 되는거야?"  우리는 이 신뢰구간(credibility interval)을 만들며 말했다.


각 구간은 한 세트의 병을 포함한다. 이를 사후확률이라고 하는데 참인 병이 되는 70%의 확률까지 더하여 나온다.

"잠깐만" 나는 말했다. "난 동의하지 못하겠는데, 두 신뢰구간을 옆에 놓고 coverage와 배달원이 각 병을 동일한 확률로 집었다고 가정했을때의 credibility를 비교해보자."

여기에 그 표가 있다.

"오빠의 신뢰구간(confidence interval)이 얼마나 이상한지 알겠지?" Bayesia가 말했다. "오빠는 초코칩이 0개인 쿠키를 뽑았을때, 말도안되는 답을 가지고 있어! 오빠는 단지 구간이 없다고 말해야되, 하지만 그건 명백히 틀렸어! 왜냐하면 이 쿠키에 있는 칩은 반드시 4개의 병 중에서 1개로부터 나왔기 때문이야. 오빠는 오빠의 신뢰구간이 틀렸다는걸 안 마지막날에 신뢰구간을 말하며 살고싶어? 그리고 같은 이유로 3개의 초코칩인 쿠키도 신뢰구간에 있지 않아. 오빠의 구간은 오직 41%밖에 안되! 이걸 70%의 신뢰구간이라고 말하는건 개소리야!"


"배달원이 어느 병을 놓고 갔던지 간에, 이거 70%신뢰구간 맞거든! 신뢰구간(credibility interval)에 대해 bayesia 니가 말하지 않은게 있어! 만약 병이 Type-B이면 어떻게 할래? 그럼 너의 구간은 80%가 틀리고 오직 20%만 맞는다는 애기인데?"


"이건 꽤 큰 문제같다." 나는 계속 말했다. "왜냐하면 너의 실수들이 병의 종류하고 연관될꺼니까말이야! 만약 니가 100개의 Bayesian 로봇들을 각 로봇이 1개의 쿠키를 샘플링하여, 이 병이 어떤종류의 병인지 알기위해  보낸다면, 너는 나에게 Type-B 병이라고 말할꺼야, 결론적으로 너는 80개의 로봇이 잘못된 답을 가질거라 예측할 거고 각 로봇은 73% 이상의 믿음으로 잘못된 결론을 내려, 이건 참 문제지. 특히 만약 니가 대부분의 로봇이 올바른 답을 찾기를 원한다면."


"덧붙여서, 우리는 배달원이 동일하고 임의적으로 병을 고를거란 가정을 했어, 근데 그 가정은 어디서 오는거야? 만약 이게 틀리면? 너는 그사람에게 말한적도 없고, 인터뷰를 한것도 아니야. 아직 모든 사후확률의 진술들이 그의 행동에 대한 진술에 남아있어. 나는 아무런 가정도 하지 않고 최악의 상황에서도 나의 구간을 이것의 기준(신뢰구간)에 맞출수 있지."


"내 신뢰구간이 Type-B에 대해서 형편없이 작동한다는건 사실이야." Bayesia가 말했다. "근데 그래서 뭐? Type-B 병은 그 시기에 오직 25%의 확률로 밖에 일어나지 않는다구! 이건 A,C 그리고 D 병의 확률범위를 균현잡게 해준다구! 그리고 난 절대 말도 안되는 결과가 나오지 않아!"


"내 신뢰구간(Confidence Interval)이 초코칩 0개의 쿠키가 뽑혔을 때 잘 작동하지 않는다는건 사실이야." 내가 말했다. "근데 그래서 뭐? 초코칩이 없는 쿠키들은 최악의 상황에서 최대 27%의 확률로 나온다고(Type-D 병). 나는 이 결과에 대해서 말도 안되는 결과를 용인해 줄 수 있다고 왜냐하면 30% 이상의 잘못된 답을 내는 병은 없기 때문이지. "


"열의 합이 중요해!" 내가 말했다.


"행의 합이 중요해!" Bayesia가 말했다.


내가 말했다. "이제 막다른 길인거 같은데, 우리의 수학적 논증은 둘다 맞어, 그러나 불확실성을 정량화하는 적절한 방법에 대해서는 의견이 맞지 않는군."


동생이 말했다. "맞는말이야! 쿠키 먹을래?"