brunch

You can make anything
by writing

C.S.Lewis

by 채규병 May 18. 2018

데이터 세상으로의 준비(확률편)

데이터 과학자를 꿈꾸며

빅데이터 상식 퀴즈  

- LG CNS 블로그 클릭

- LG 블로그 - [LG인 직무탐구] #9. LG CNS 개발자 – 안영선 대리 클릭



확률과 철학


무언가의 확률을 정의한다는 것은 굉장히 철학적입니다. 마치 피타고라스의 3단 논법처럼 순서대로 정리해나가야 정확히 내가 원하는 것의 확률을 정의할 수 있기 때문입니다. 또 정확하게 정의해야 그것을 정확히 계산할 수 있습니다. 그렇기에 확률은 이 세상에 대해서 정의하지 않으면 구할 수 없는 수치입니다. 이를 다르게 말하면 누군가 말하는 확률은 절대 정확할 수 없습니다. 그 사람이 어떻게 세상을 바라보는지에 따라서 달라질테니까요. 예를 하나 들어보겠습니다.

     

내일 비가 올 확률이 어떻게 될까요? 


기상청 홈페이지를 들어가 보시나요? 

아니면 경험에 비추어 달무리가 생기니까 내일 비가 올 확률은 8할 넘는 정도라고 판단하시나요? 

아니면 비가 오거나 안 오거나 둘 중 하나이니까 반반 아닐까요? 


만약에 청개구리가 울면 비가 온다는 생각을 가진 사람이 있다고 생각해봅시다.

그런데 문제가 생겼습니다. 


과연 청개구리가 한 마리가 운다고 해서 비가 올까요? 
적어도 절반 이상의 청개구리들이 힘차게 울어야 비가 오지 않을까요? 
그렇다면 지구상에 있는 모든 청개구리의 숫자를 알아야 절반인지 세어보기라도 할텐데요. 
또 청개구리가 어떻게 울어야 비가 올 거라고 할 수 있을까요? 
꽥꽥 울어야 우는 걸까요? 
아니면 꽉~ 꽉~ 길게 울어야 우는 것일까요?


이것이 청개구리가 울면 비가 온다는 명제가 사실이라고 해도 확률을 구하기 어려운 이유입니다. 


"어떤 것이 어느 정도 확률로 일어난다고 기대한다"에서 그 어떤 것 자체도 제대로 말하기가 어렵습니다. 얼마나 기대하는지에 대한 부분은 차치하고라도 말이죠. 이러한 철학적 문제는 주관적 확률과 관련이 있습니다. 특히 베이즈 통계에서 아주 중요한 논제입니다. 베이즈 통계란 베이즈라는 목사가 고안해낸 확률(베이즈 룰)을 기반으로 한 통계 학파를 말합니다. 


또한 청개구리 명제는 복잡계(chaos) 이론과도 관련이 있습니다. 복잡계는 임의(random)라는 개념과는 구별됩니다. 임의라는 의미는 예측할 수 없는 것입니다. 반면에 복잡계는 계산할 수 있으나 그 관계가 너무나 복잡해서 해를 구할 수 없는 상황을 말합니다. 앞으로 기회가 된다면 차차 이에 대해서 설명하겠습니다.


이처럼 확률이란 정의하기도 쉽지 않고 정의를 했다고 해도 그것을 계산하는 것도 참으로 어렵습니다. 그렇기에 앞서 말했듯이 확률을 구한다는 것은 아무런 의미가 없을 수도 있습니다. 이미 우리는 일기예보가 틀릴 때마다 욕하면서 이러한 사실을 느끼고 있었습니다. 비가 올 확률이 40%면 그냥 침 뱉어서 오른쪽으로 튀면 비가 오고 왼쪽으로 튀면 안 온다고 생각하는 게 낫겠다... 이러면서 말이죠.


그럼에도 불구하고 우리는 미래를 예측하고 싶어합니다. 마치 도박사들이 그랬던 것처럼 말입니다. 

그런데 말이죠. 

미래를 예측하는 여러 방법 중에 가장 논리적인 방법은 확률입니다.


청개구리



확률, 알고는 있지만 잘 모르는...


확률은 정말 많이 들어본 말입니다. 혹자는 확실히 정해진 비율이라고 말하기도 합니다. 그러나 이는 정확한 정의가 아닙니다. 모든 학문이 그렇겠지만 용어(terminology)는 국어사전식 풀이로는 도움이 되지 않습니다. 우리가 통계를 공부하며 아무리 네이O 사전이나 위키OOO을 아무리 살펴도 머릿속에 개념이 잘 잡히지 않는 이유입니다. 결국엔 용어란 익숙해질 때까지 외우는 수밖에 없습니다. 정의를 외우고 있어야 간단하고 명확하게 이를 기반으로 더 높은 개념을 쌓아갈 수 있습니다.


앞서 말씀드렸듯이 확률을 정의한다는 것은 굉장히 어려운 일입니다. 그래서 확률의 공리적(axiomatic) 정의를 말씀드리도록 하겠습니다. 공리란 무언가를 정의하는 데에 우선적으로 필요한 기초적인 정의라고 보면 됩니다.



첫 번째 단어, 표본공간(Sample space)

: 통계적 실험의 모든, 가능한 결과들의 집합.


통계적 실험이란 '관심을 갖고 관찰한 것들' 을 말합니다. 예를 들어, 동전을 던져서 앞면이 나올지 뒷면이 나올지에 관심을 가지고 한 번 던져봤다면 동전을 던져보는 것이 통계적 실험입니다. 그리고 이 통계적 실험의 모든! 가능한! 결과들의 집합을 표본공간이라고 부릅니다. 동전 던지기라면 모든 그리고 가능한 결과는 { 앞면(Head), 뒷면(Tail) } 입니다. 여기서 주의할 점은 동전을 한 번 던져 앞면이 나왔다고 해서 { 앞(H) }만 표본공간이 아니라는 점이다.


왜냐? 

표본공간은 모든! 가능한! 결과들의 집합이기 때문입니다.


이러한 표본공간에는 크게 3가지 종류가 있습니다.


1. 유한 (finite)

50원, 100원, 500원 동전을 던졌을 때 그 순서는 어떠한 표본공간을 가지고 있을까요? 

  

Ω = { (H, H, H), (H, H, T), (H, T, T), (T, T, T), (T, T, H), (T, H, H), (T, H, T), (H, T, H) }


흔히 표본공간은 그리스어 Ω(Omega, 오메가)라고 표현합니다. 위의 8가지의 결과가 해당 통계적 실험의 모든 가능한 결과입니다. 이 경우를 표본공간이 8가지로 유한한 개수의 결과를 가지고 있다라고 말합니다.


2. 셀 수 있는 무한 (countably infinite)

이는 무한(infinite)과는 다른 개념입니다. 무한이라는 용어 자체는 애매한 경향이 있죠. 예를 들어, 동전을 던져서 앞면이 나오는 경우에 멈추는 실험을 생각해봅시다.


이 실험은 무한히 진행될 수 있습니다.

한 번 던져서 앞면이 나오면 끝
두 번 던져서 앞면이 나오면 끝
                        ⋮


다시 말해, 실험의 결과를 하나, 둘, ⋯ 이런 식으로 셀 수 있지만 그 모든 가능한 결과의 갯수는 무한히 많습니다. 아무리 던져도 동전의 앞면이 나오지 않을 수 있기 때문이다. 이러한 경우를 셀 수 있는 무한한 표본공간을 가졌다고 합니다. 다음과 같이 표현할 수도 있습니다.

Ω = { H, TH, TTH, ⋯ }



3. 경계를 나눌 수 없는 (non-demarcatible)

영어 사전에 나오지 않는 표현입니다. 

demarcate + able


'경계를 표시하다' 에 '가능하다'라는 접미사를 붙여서 표현했습니다. 다음의 그림이 이 개념을 아주 잘 설명하고 있는데요.


https://www.mathgoodies.com/lessons/vol6/sample_spaces


위의 원판을 돌려서 파란색 부분이 나오면 파랑이 되는 실험을 생각해봅시다. 이 실험의 결과는 앞선 두 표본공간과는 다르다는 게 느껴지시나요? 노란색과 파란색 사이 경계선에 화살표가 딱 멈추면 그 결과는 파랑일까요? 노랑일까요? 이렇게 경계를 딱 이야기하기는 어렵지만 우리는 파랑이 되는 결과가 4분의 1의 확률을 가진다는 것을 알 수 있습니다. 왜냐하면 원이 4등분으로 칠해져있기 때문입니다.


여기서 알아야 할 것은 이처럼 표본공간을 명확하게 표현하기 어려운 경우도 있다는 점입니다. 참고로 출처에 나온 사이트에서 여러 종류의 표본공간을 가진 통계적 실험을 해볼 수 있습니다. 한번 들어가서 실험해보면서 표본공간의 종류를 느껴보시길 바랍니다.



두 번째 단어, 사상(an event)

: 표본공간의 부분 집합


사상은 흔히 사건이라고도 부릅니다. 사상이라는 말은 사실 예전 용어이긴 합니다만 오래된 책을 보시는 분도 계실테니 적어둡니다. 우선 쉬운 예를 들어보겠습니다.


동전을 1번 던져서 어떤 면이 나오는가에 대한 실험을 생각해보죠. 위에서 1번 던져서 앞면이 나왔다고 해서 표본공간이 { 앞면 }이 아니라고 했던거 기억하십니까? 여기서 { 앞면 }은 표본공간이 아닌 사상입니다. 표본공간인 { 앞면, 뒷면 }의 부분 집합이기 때문입니다.


다른 예시를 들어볼까요?


앞서 이야기한 50원, 100원, 500원짜리 3가지 동전을 던지는 실험을 다시 생각해봅시다. 이 실험의 표본공간은 다음과 같이 8가지였습니다.


Ω = { (H, H, H), (H, H, T), (H, T, T), (T, T, T), (T, T, H), (T, H, H), (T, H, T), (H, T, H) }


여기에 한 가지 사건을 생각해 볼 수 있습니다.

뒷면이 한번만 나오거나 나오지 않는 경우


이 경우는 몇 번일까요? 위 표본공간에서 세어보세요.


이처럼 우리가 흔히 쓰던 경우라는 말은 사실 사상(사건)을 말하고 있었습니다. 어쨌거나 이 경우를 A라고 이름을 붙이면 다음과 같이 표현할 수 있겠습니다.


A = { (H, H, H), (H, T, H), (T, H, H), (H, H, T) }


하나씩 설명해보면, 처음의 (H, H, H) 는 뒷면이 아예 나오지 않는 경우입니다. 그 뒤에 따라오는 세 가지의 경우는 뒷면이 한번만 나온 경우입니다. 이를 정리하면 사상 A는 4가지의 결과를 가지고 있고 할 수 있습니다. 표본공간과 사상의 관계가 느껴지시나요? 제가 한번 그림으로 발로 그려보았습니다.


표본공간과 사상 그리고 확률


세 번째 단어, 확률

: 사상의 함수


자, 그렇다면 A 사건(사상 A)이 발생할 확률은 무엇일까요? 발생할 수 있는 모든 가능한 사건이 8가지입니다. 이 중에서 A는 4가지를 의미하니까 정답은 2분의 1이 됩니다. 이를 함수로 한번 표현해봅시다. 함수라는 것은 X를 넣으면 Y가 되는 박스라고 생각하면 됩니다. X와 Y의 관계를 수학으로 표현한 것에 지나지 않습니다. 이렇게 함수로 확률을 표현하는 이유는 확률을 명확히 하기 위해서 입니다. 계속 말씀드리듯이 확률은 굉장히 정의하기 까다롭습니다. 그렇기에 정확하게 표현하지 않으면 다른 사람들이 오해할 여지가 더 커집니다. 그러나 수학으로 표현한다면 그 수식을 아는 사람이라면 오해하지 않고 수식을 사용한 사람의 의도를 알 수 있겠지요. 결국 수학은 우리를 도와주기 위해서 사용하는 것입니다. 괴롭히기 위해서가 아니란 말이지요.


함수란 관계를 나타내는 박스이다


확률의 도메인은 사상들의 집합입니다. 함수에서 들어가는 값, 영어로는 INPUT(인풋), 즉 x값은 다른 말로 도메인(domain)이라고 합니다. 굳이 우리말로 번역하면 영역이라고 할 수 있겠습니다. 위 그림으로 설명드리면 확률은 박스 자체, 즉 f 입니다. 결론적으로 확률은 사상의 함수라는 말입니다. 조금만 더 복잡하게 이야기하자면 모든 부분집합들의 집합(Space of all events)이 확률의 X값입니다.


함수의 나가는 값, 영어로는 OUTPUT(아웃풋)은 실수(R)입니다. 예를 들어 실수는 우리가 2분의 1라고 한 이 숫자의 종류를 의미합니다. i라고 부르던 제곱하면 -1이 되는 허수는 실수가 아닙니다. 실수와 허수를 합친 복소수도 실수가 아닙니다. 하지만 3.141592... 이라는 무리수는 실수입니다. (실수와 허수에 대해서는 나중에 다루는 기회가 있을지도 모르겠습니다...)


즉 확률이란 함수는 그 결과가 무조건 실수여야 합니다.


위의 말들을 정리하면 확률(P)은 다음과 같이 표현할 수 있습니다.

P(•) : f → R

 • 은 사건(사상)을 말합니다.


말로 표현하면  " • 이라고 부르는 사건의 확률은 나오는 값이 실수인 함수이다"라고 할 수 있겠습니다. 왜 굳이 이렇게 빙빙 돌려 말할까요? 그 이유는 확률변수의 개념을 설명하면서 말씀드리겠습니다. 미리 말씀드리면 우리는 기대하는 값들을 다루기 때문에 그 값이 고정되어 있지 않습니다. 상수가 아닌 변수를 다루기 때문에 이렇게 빙빙 돌려 정의할 수밖에 없었다는 말입니다. 하지만 수식으로 표현하면 위에서처럼 간단하게 표현이 가능합니다. 이 표현을 이해하지 못해도 괜찮습니다. 다만 확률은 사상의 함수라는 것을 기억해둡시다.


지금까지 이야기한 확률의 정의를 수학적으로 정리하자면 다음과 같습니다.

Ω 를 한 표본공간이라고 하자. 또 β 를 사상들의 집합이라고 하자. 그리고 P를 β에 의해 정의되는 실함수라고 하자. 그렇다면 다음과 같은 조건을 만족하는 P는 확률 집합함수이다.
(1) P(A) ≥ 0    ➡ 모든 A ∈ β ; 모든 A는 β의 부분집합이다.
(2) P(Ω) = 1     ➡ 표본공간의 확률은 1이다. 다시 말해 모든 가능한 사건들의 확률의 합은 1이다.
(3) A와 B가 서로 배반(겹치지 않는) 사건이라면 P(A U B) = P(A) + P(B) 이다.




네 번째 단어, 확률변수(A Random Variable)

: 사상을 실수에 대응시킨 함수.


확률변수란 사건과 확률을 수학적으로 명확히 표현하기 위한 개념입니다. "변수 "라는 이름 때문에 굉장히 헷갈리는 개념이기도 합니다. 영어로도 Variable이라고 되어 있지만 사실은 함수입니다. 물론 변수와 함수는 같은 개념으로도 이해할 수 있지만 미묘하게 다릅니다. 변수(variable)는 변하는 수입니다. 이는 고정된 수, 즉 상수(constant)의 반댓말입니다. 하지만 함수는 변하기만 하는 수가 아닙니다. 들어가는 값이 정해진 규칙에 따라 나오는 값이 변하는 수이지요.


확률변수 X는 다음과 같이 수식으로 표현할 수 있습니다.

X(·) : Ω → R


사건을 확률에 일대일로 맞추어 놓았다는 뜻입니다. 확률은 0과 1 사이의 실수를 의미하고 확률변수에 들어가는 값은 사건이니까 사상을 실수에 대응시킨 함수라는 정의는 단순하면서도 명쾌하게 확률변수를 설명하고 있습니다.


https://www.mathsisfun.com/data/random-variables.html


그렇다면 확률변수라는 개념은 왜 만든 것일까요? 사상(사건)을 정확하게 표현하기 위해서 입니다. 확률변수로써 사상을 모호하지 않게 나타낼 수 있습니다. 확률을 수학적으로 정의하는 이유와 같다고 할 수 있습니다.


예를 들어, 동전을 하나 던지는 통계적 실험을 생각해봅시다. 여기서 { 앞면, 뒷면 } 이라는 표본공간에 { 앞면 }이 나오는 사건을 정의할 수 있습니다. 앞면이나 뒷면, 둘 중 하나이므로 앞면이 나오는 사건은 0.5라는 확률을 갖는다고 할 수 있습니다. 이 경우 앞면이 나오는 사건은 하나의 값만을 가지므로 일대일 대응이라고 부릅니다. 


또한 이 실험에서 사건은 { 앞면 }, { 뒷면 }으로 두 가지 결과만이 나올 수 있습니다. 사건의 경우의 수를 X라고 표현해봅시다. 이 X는 { 앞면 }이 될 수도 있고 { 뒷면 }이 될 수도 있지요. 그렇지만 각각의 확률이 모두 0.5이므로 해당 확률을 다음과 같이 표현할 수 있습니다.

P(X) = 0.5


이처럼 확률변수를 쓰면 실험의 결과를 굉장히 간단하게 표현할 수 있게 되었다. 여기서는 확률변수를 굳이 쓰지 않더라도 표현이 가능합니다.

P(동전을 하나 던져 나오는 경우) = 앞면이나 뒷면 둘 중에 하나


이런 식으로 말이지요. 조금 길지만 괜히 수식쓰는 것보다 이게 더 편하다고 생각하시는 분도 계실 것 같습니다. 그러나 나중에 동전을 던지는 실험보다 훨씬 더 복잡한 실험을 쉽게 이해하기 위해서는 확률변수가 아니면 설명하기가 굉장히 어렵습니다. 앞으로 확률변수를 통해서 명확하고 간단하게 확률을 표현할 필요가 꼭 생길 것입니다.


https://medium.com/@pankeshbamotra/probability-and-random-variables-32abd3425369



앞서 들었던 예를 다시 들어보겠습니다. 동전을 세 개를 던져서 앞면이 두 번 이상 나오는 경우를 생각해봅시다. 이 경우의 이름을 A라고 하면 다음과 같습니다. (H : 앞면, T : 뒷면)

A = { (H, H, H), (H, T, H), (H, H, T), (T, H, H) }


이를 수학적으로 다음과 같이 표현할 수 있습니다.

A → {ωₙ : X(ω) ≥ 2, ω는 앞면이 나오는 경우}


여기서 X가 확률변수입니다. 앞면이 나오는 경우(ω)를 들어가는 값으로 하고 나오는 값이 2 이상인 경우를 A라고 부르는 것입니다. 말로써 설명하니 긴데요. 두 번째 표현이 처음 A의 표현보다 더 한눈에 알아보기 쉽고 오해에 여지가 없지 않나요? 만약 A가 4가지가 아니라 400가지였다면 그것을 세느라 우리는 고생했을 것입니다.


확률변수의 종류

표본공간을 세 가지 종류로 나누어진다고 말씀드렸습니다. 여기서는 확률변수가 취할 수 있는 값에 따라 두 가지로 나눌 수 있습니다. 사실 표본공간이 나누어지기 때문에 확률변수도 나누어진다고 생각하면 됩니다. 


표본공간이 유한(finite) 혹은 셀 수 있는 무한(countably infinite)이면 이산형 확률변수라고 부릅니다. 반면 표본공간이 나눌 수 없는(non-demarcatible), 즉 완벽한 무한(absolutely continuous)이면 연속형 확률변수라고 부릅니다. 머리가 아프다면 이런 게 있구나 하고 넘어가면 되겠습니다. 앞으로 계속 두 종류를 비교하는 것이 계속 나올테니까요.




다섯 번째 단어, 확률분포(Probability Distribution)

: 어떤 형태로든지 확률변수가 가능한 값과 그 확률을 나타내 준 것.


확률분포의 예


이런 그림들 많이 보셨나요? 만약에 위 그림에서 X가 확률변수를 의미한다면 쌍봉 낙타의 등처럼 생긴 위 그래프는 X의 확률분포입니다.


확률변수는 항상 세트로 확률분포를 갖고 있습니다. 확률분포는 사실 별 게 아닙니다. 그저 확률변수와 그에 해당하는 확률을 나열한 모든 형태의 것을 말합니다. 예시를 통해서 설명하면 더 이해하기 쉬울 것입니다.



<표현 ①> 표 형식

또 앞서 이야기한 동전 세 개를 던져서 앞면이 두 개 이상 나오는 경우를 생각해봅시다. X라는 확률변수는 앞면이 나오는 경우입니다. 그런데 여기서 X는 0이 될 수도 있겠지요? X = 0 이라는 것은 앞면이 하나도 나오지 않았다는 뜻입니다. 또한 이는 8가지 모든 가능한 결과값(표본공간) 중에서 하나의 경우이므로 8분의 1의 확률을 가진다고 할 수 있습니다.


그렇다면 X = 3이라는 것은 무엇일까요?

전부 다 앞면이 나왔다는 것입니다.


그렇다면 전부 다 앞면이 나올 확률은 무엇일까요?

확률변수 X는 0, 1, 2, 3의 값을 가질 수 있습니다.
그리고 각각의 확률은 1/8, 3/8, 3/8, 1/8의 확률을 갖습니다.
생각해보세요. 


이를 표 형식으로 표현하면 다음과 같습니다.


확률변수 X의 확률분포

'~'라는 기호는 X라는 확률변수가 ~ 다음에 나오는 확률분포를 가진다는 의미입니다. 쉽게 말해 짝지어주는 기호입니다. 표에서 윗 칸에 나와있는 0, 1, 2, 3은 확률변수가 나타낼 수 있는 가능한 값들을 의미하고 아래 일대일로 대응하는 값들은 확률을 의미합니다.


<표현 ②> 그래프, 히스토그램

표 형식과 똑같은 확률분포입니다. 이처럼 같은 확률분포라도 다르게 표현할 수 있습니다. 여기서 X축은 X라는 확률변수를 의미하고 Y축은 P(X), 즉 확률변수의 값에 해당하는 확률을 의미합니다.


확률변수 X의 확률분포



<표현 ③> 확률질량함수(Probability Mass Function)

줄여서 pmf 라고 하며 한글로는 확률질량함수라고 합니다. 

이는 Probability Density Function, pdf  즉 확률밀도함수랑 같은 의미입니다. 

단지 차이는 확률변수가 이산형이면 pmf, 연속형이면 pdf 라는 점입니다. 

편한 이름으로 부르면 됩니다. 

어쨌거나 이는 확률변수와 확률분포를 함수 형태로 표현하는 것입니다. 두 개는 짝지이니까 함수로 표현이 가능하겠죠? 함수로 표현한 "동전을 세 개 던져서 앞면이 두 개 이상 나오는 경우의 확률"은 다음과 같이 표현할 수 있습니다.

P(X≥2) = ⅛ + ⅜ = 0.5


이를 조금 더 일반적인 형태로 표현하면 조합(Combination)을 통해서 할 수도 있습니다.

P(X) = ₃Cₓ(½)ˣ(½)³⁻ˣ


함수로 표현하는 것이 어렵게 느껴질 수도 있습니다. 괜찮습니다. 여기서는 함수를 이해하는 것보다 위의 세 가지 형태의 확률분포가 모두 같다는 것이 중요합니다. 그리고 본인이 이해하기 쉬운 형태로 확률변수와 확률분포를 이해하면 됩니다. 반복해서 말하지만, 확률변수는 사건을 명확히 표현하는 함수이고 확률분포는 확률변수와 확률을 표현하는 모든 것의 형태를 지칭하는 것이라는 사실을 명심합시다.





떠날 준비를 마쳤나요


지금까지 표본공간, 사상, 확률, 확률변수, 확률분포라는 총 다섯 가지의 용어를 설명했습니다. 이는 국어사전식 정의와 다르며 꼼꼼히 정의가 뜻하는 바를 이해하고 암기해야할 부분입니다. 이제는 이 다섯 가지의 용어로 베이즈 통계를 설명하고자 합니다. 앞으로 몇 가지 추가되는 용어가 나오긴 하지만 위의 다섯 가지 용어만 알고 있다면 충분히 이해할 수 있다고 생각합니다.


물론 이 다섯 가지 단어만으로는 통계를 전부 이해할 수 없을 것입니다. 아직까지 저도 공부하고 있지만 부족함만을 느끼게 됩니다. 괜찮습니다. 부족하면 부족한대로 챙길 거 챙겨서 출발하면 됩니다. 제가 말씀드린 단어들의 정의를 꼭꼭 외우시고 통계 공부를 시작하세요. 조금 더 이해하기가 쉬워질 것입니다.



데이터 세상으로의 준비를 마치고 한 걸음 나아가봅시다.
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari