컨텐츠 바로가기

확률분포 이야기 (01) 빌어먹을 애플!

http://nullmodel.egloos.com/3790240

당신은 새로 나온 애플 아이폰4s를 구입했다. 즐거운 마음으로 집에 와서 포장을 풀어보니, 이런 젠장 하자가 있는 물건이다. 무척 화가 나지만 스티브 잡스의 마지막 숨결이 스며든 아이폰4s를 가지고 싶은 마음이 간절한 당신은 자신의 뽑기운을 탓하며 분노를 꾹 참고 다른 제품으로 교환을 한다. 시리(Siri)의 감미로운 목소리를 상상하며 두근거리는 마음으로 상자를 개봉한 당신은 교환한 제품에서도 똑같은 하자를 발견한다. 아니 이런 빌어먹을 애플! 도대체 아이폰을 어떻게 만드는 거냐?

당신은 뽑기운이 얼마나 나쁜 것일까? 또는 애플은 아이폰을 얼마나 엉망으로 만들고 있는 것일까? 이 질문은 아이폰4s의 불량률을 알면 간단히 답변할 수 있다. 다들 알겠지만, 불량률이란 생산된 제품 중에서 불량인 제품의 비율을 말한다. 당신은 2대의 아이폰을 샀고, 2대 모두 불량이었다. 2/2 = 1 = 100%, 따라서 아이폰 4s의 불량률은 100%다. 애플 개객퀴!

하지만 똑똑한 당신은 단 2대만으로 불량률을 말하기에는 지나치다는 것을 안다. 그렇다면 아이폰4s의 불량률을 어떻게 정확히 알 수 있을까? 여기에 간단한 방법이 있다. 실리콘으로 만든 가면을 쓰고 중국의 애플 하청업체에 침투해서 기밀 자료를.. 아니 이건 좀 아닌 것 같다. 그렇다면 집을 팔아 아이폰을 1,000대쯤 사서.. 아니 이것도 좀 아닌 것 같다.

이러한 여러분의 고민을 해결할 좀 더 간단하고 현명한 방법이 하나 있다. 일단 우리가 가진 데이터(아이폰 두 대 모두 불량)를 바탕으로 잠정적인 결론을 내리되, 새로운 데이터가 추가될 때마다 결론을 조금씩 수정하는 것이다. 이러한 접근법을 베이지언 통계학이라고 한다. 좀 더 자세히 알아보자.


조금 어려운 방법

일단 여기서부터 설명하는 방법은 조금 어려운 방법이다. 읽기 싫은 독자를 위해 글상자로 구분해두었으니 귀찮으면 그냥 뛰어넘길 바란다. 왜 굳이 어려운 방법을 먼저 설명하냐하면, 그래야 간단한 방법이 얼마나 간단한지 알 수 있기 때문이다. 얼마나 간단하냐하면 아래 다섯 문단을 읽고 간단한 방법을 읽는 사람들은 아주 허무한 기분을 느낄 정도다.

아이폰의 불량률은 10%일 수도 있고 20%일 수도 있다. 아니면 정말로 100%일 수도 있다. 우리는 여기에 대해 아는 바가 전혀 없다. 확실한 것이 있다면 적어도 0%는 아니라는 사실이다. 이미 불량품 2개가 있기 때문이다. 어쨌거나 우리가 불량률을 안다고 치면, 그 경우에 불량품을 연속으로 두 개 뽑을 확률도 알 수 있다. 이것은 별로 어렵지 않은데 그냥 불량률을 곱하면 된다. 불량률이 10%인 경우엔 10% * 10% = 0.1 * 0.1 = 0.01 = 1%, 20%인 경우엔 20% * 20% = 0.2 * 0.2 = 0.04 = 4% 등등.

불량률이 10%일 때, 제품 2개가 불량일 확률을 구하는 것은 간단하다. 그럼 반대로 제품 2개가 불량일 때 불량률이 10%일 확률을 구하는 것은 어떨까? 간단한 예 하나를 가지고 생각해보자. 아이폰을 만드는 공장이 중국과 대만에 둘 있는데, 중국 공장은 불량률이 10%이고, 대만 공장은 20%다. 불량 아이폰의 1/3은 중국 공장에서 만들고 2/3은 대만 공장에서 만든다. 당신이 아이폰을 하나 샀는데 그게 불량이라면, 이 아이폰은 대만 공장에서 나왔을 확률이 중국 공장에서 나왔을 확률보다 2배는 더 크다.

우리는 방금 각 공장의 불량률을 모두 더한 값(30%)으로 공장별 불량율(10%와 20%)을 나눠서 1/3과 2/3이라는 확률을 얻어냈다. 이 방법을 좀 더 확장하면 제품 2개가 불량일 때 불량률이 10%일 확률도 알 수 있다. 모든 가능한 불량률에서 각각 제품 2개가 불량일 확률을 구하고, 이것을 다 더한 값으로 그 확률들을 나눠주면 된다. 슬슬 머리가 복잡해지는 독자는 마우스 휠을 굴려서 간단한 방법을 설명하는 대목으로 넘어가자.

아직까지 버티고 있는 독자들은 미적분을 좀 알아야 한다. 모른다고? 몰라도 상관없다. 휠을 굴리면 된다. 불량률이 x일 때, 제품 2개가 불량일 확률은 x^2이다. 불량률은 0%에서 100%, 다시 말해 0에서 1까지 값을 가지므로 모든 불량률에서 제품 2개가 불량일 확률의 합은 0에서 1까지 x^2을 적분하면 된다. 그리고 그 값은 1/3이다. 제품 2개가 불량일 때 불량률이 10%일 확률은, 불량율이 10%일 때 제품 2개가 불량일 확률을 1/3으로 나눠준(다시 말해 3으로 곱해준 값)과 같다. 즉 1%*3 = 3%가 된다. (정확히 말하면 여기서는 확률이 아니라 확률밀도지만 앞에서도 말했다시피 이 설명은 대부분 야매이므로 그런 것은 따지지 말자)

내친 김에 불량률의 기댓값도 구해보자. 제품 2개가 불량일 때 불량률이 x일 확률은 3*x^2이므로 3*x^3을 0에서 1까지 적분하면 불량률의 기대값이 된다. 불량률의 기댓값은 3/4=0.75, 즉 75%가 된다. 이제 우리는 여러 가지 귀찮은 수학 계산을 거치긴 했지만, 단 2개의 불량 아이폰 만으로 아이폰의 불량률의 기댓값을 구했다. 그리고 논리적으로도 꽤 괜찮은 것 같다.


아주 간단한 방법

자, 이제 간단한 방법을 알아보자. 일단 불량품과 정상제품이 1:1이라고 가정을 하고 시작하자. 우리는 2개의 불량품을 관찰했다. 그러면 이제 불량품과 정상제품의 비는 3:1이다. 불량품의 비율은 3/4=0.75=75%. 이 비율은 불량률의 기댓값과 정확히 똑같다. 아이폰을 1대 더 샀는데 그건 정상이었다면 불량품의 비율은 이제 3:2이 된다. 그러면, 불량률의 기댓값은 60%로 고칠 수 있다. 믿지 못하겠다면 위의 방법대로 계산을 다시 해보라.

이 방법은 몇 가지 장점이 있다. 무엇보다도 아주 간단하다. 정상제품의 개수와 불량품의 개수만 세면 된다. 게다가 적은 수의 표본만 가지고도 합리적인 기댓값을 산출할 수 있다. 또, 새로운 사례가 발견되면 이 기댓값을 역시 간단한 방법으로 수정할 수 있다. 마지막으로 사례가 많아지면 이 기댓값은 점점 불량률에 가까워진다. 아이폰의 실제 불량률이 25%라면, 우리가 10,000대의 아이폰을 관찰하면 2,500대는 불량이고 7,500대는 정상일 것이다. 이 방법대로 하면 불량 대 정상의 비율은 2,501:7,501이고 25%에 아주 가깝다.

이 신기한 방법은 베타 분포(beta distribution)라는 확률 분포를 이용한 것이다. 불량 대 정상처럼 두 가지 사건이 가능한 경우를 나타내는 확률 분포를 베르누이 분포(Bernoulli distribution)이라고 한다. 뭐 이름은 복잡하지만 베르누이 분포는 우리 모두 잘 알고 있는데 불량율이 30%이면 불량품을 뽑을 확률이 30%고 정상제품을 뽑을 확률이 70%이다. 그게 전부다. 다만 복잡해지는 것은 불량률을 모를 때인데, 베타분포는 이 불량률의 확률분포다. 즉, 확률의 확률인 것이다. 말은 복잡하지만 계산은 간단하다. 1:1로 시작해서 경우의 수를 더해나가면 된다.

이해를 돕기 위해 다른 예를 들어보자. 소개팅에 성공하느냐 실패하느냐는 베르누이 분포를 따른다고 가정해보자(실제로는 그렇지 않을 가능성이 더 크지만.. 자세한 설명은 생략한다). 성공률이 30%면 소개팅을 100번쯤하면 30번 정도 성공한다. 0%면, 안 생겨요. 그런데 우리는 소개팅 성공률을 알 수 없는데, 이것은 베타 분포로 추정할 수 있다. 소개팅을 3번해서 2번 성공하고 1번 실패했다면, 성공 대 실패는 1:1에서 3:2이 되고 성공율의 기댓값은 60%가 된다.

베타 분포는 확률의 기댓값을 알려주는 것 말고도 다른 장점들을 가지고 있다. 이것은 계산이 그렇게 간단하지 않은데, 컴퓨터가 대신 다 해주기 때문에 자세히 알 필요가 없다. 검색엔진 울프람 알파를 사용하면 베타 분포로 여러 가지 값들을 계산해볼 수 있다. 예를 들어 BetaDistribution[3,2] 라고 입력하면 성공과 실패가 3:2인 경우 베타 분포를 계산해서 여러 가지 정보를 알려준다. 자세한 내용은 링크를 클릭해서 보도록 하고 아래 그래프만 보자.

위의 그래프에서 가로축은 소개팅 성공률(또는 아이폰 불량률이나 뭐든 상관없다)을 나타내고, 세로축은 그 확률밀도를 나타낸다. 그래프를 보면 전반적으로 오른쪽으로 치우친 모습을 보이지만 그 확률은 넓게 퍼져 있다. 이 결과는 직관적으로 당연한데, 우리가 관찰한 사례는 3건 뿐이므로 소개팅 성공률이 얼마라고 단언하기는 어렵기 때문이다. 

이번엔 소개팅을 48번해서 그 중에 29번은 성공하고 19번은 실패했다고 해보자. 성공 대 실패는 30:20이므로 성공률의 기댓값은 3:2인 경우와 똑같이 60%다. 하지만 BetaDistribution[30,20]를 입력해서 그래프를 보면 그 폭이 훨씬 좁아진 것을 알 수 있다. 그리고 세로축의 확률밀도도 훨씬 높아져 있는데 3:2인 경우에는 제일 높을 때도 1.5~2 정도 범위에 있었다면 이제는 5~6 정도 범위에 있다. 다시 말해 똑같은 "소개팅 성공률 60%"라고 해도 사례 수가 많으면 그 추정치를 더 확신할 수 있다.

마지막으로 왜 1:1에서 시작하는지 생각해보자. 아니 이것도 생각할 필요 없이 그냥 울프람 알파에 물어보고 그래프를 보자. BetaDistribution[1,1] 라고 검색해보면 아주 썰렁한 그래프를 볼 수 있다.

모든 소개팅 성공률(다시 한 번, 아이폰 불량률이든 뭐든)의 확률밀도가 똑같다. 이것을 균등분포(uniform distribution)라고 한다. 다 '균등'하기 때문이다. 이것이 처음에 1:1로 시작하는 이유이기도 하다. 아무런 증거도 없다면 우리는 어느 성공률(이나 불량률)이 이 더 확률이 높다고 볼 이유가 없기 때문이다.

하지만 납득할만한 이유가 있다면(또는 당신이 '앱등이'거나 '삼엽충'이라면) 얼마든지 초깃값을 달리 할 수도 있다. 예를 들어, 이전 버전 아이폰을 토대로 이번 아이폰4s의 불량률 추정은 1:100으로 시작하겠다고 해도 말릴 사람은 없다. 이 경우엔 불량품을 2개 연속으로 받아도 3:100이고 불량률의 기댓값은 2.9% 정도가 된다. 또 여러분이 자신의 매력에 강한 확신이 있어서 소개팅 성공률을 50:10으로 시작했다면 10번 연속으로 차였다고 해도 50:20이고 여전히 여러분의 소개팅 성공률의 기댓값은 약 71.4%로 준수한 편이다.

우리가 설득력있는 이유를 포함시켜 초깃값을 잡으면 적은 데이터로도 좀 더 그럴듯한 추정치를 얻을 수 있고, 우리가 말도 안되는 편견을 바탕으로 초깃값을 잡으면 그것을 교정하는데 굉장히 많은 데이터가 필요하다. 잘 모를 때는 그냥 1:1에서 시작하는 게 속편하다. 어쨌거나 데이터가 많아지면 초깃값과 무관하게 진짜 값에 수렴하기 때문에 크게 걱정할 필요는 없다.

(다음에 계속)

덧글|덧글 쓰기|신고