콘텐츠로 건너뛰기

은닉 마르코프 모델(Hidden Markov Model)

이전 글에서 알아본 로지스틱 회귀는 특정 시점의 데이터를 다뤘다. 만약 연속적인 시점의, 시계열 데이터를 다루고 싶다면 마르코프 모델(Markov Model)을 적용하면 된다. 마케팅에서 마르코프 모델은 시간이 지남에 따라 고객의 행동이 어떻게 변하는지 분석할 때 사용한다.

■ 마르코프 체인 모델(Markov Chain Model)

마르코프 체인 모델은 고객의 선택, 기업의 판매에 관한 시계열 데이터를 모델링할 때 사용한다. 마르코프 체인의 기본 아이디어는

1) 관측된 고객 특성(ex. 물건 구매의 여부 등)
2) 추정된 전환값(ex. A 브랜드를 구매한 고객이 다음 번 구매에서 B 브랜드를 구매할 확률 등)
3) 이에 따른 이득/손실

를 기반으로 고객의 상태를 정의하려고 한다. 이때 어떤 상태에서 다른 상태로 넘어가거나 유지하는 것을 그래프로 표현하는데 이를 상태 다이어그램(State Diagram)이라고 한다.

위의 그림에서 상태 E에서 다시 E로 가는 확률은 0.3이고, 상태 E에서 상태 A로 가는 확률을 0.7이다.

우리의 목적은 시간이 지나감에 따른 고객의 행동 변화를 포착하는 것이다. 예를 들어, 기업의 프로모션과 같은 이벤트가 고객의 행동에 어떠한 변화를 가져왔는지 등을 확인할 수 있다.

마르코프 모델은 여러 마케팅 문제에서와 마찬가지로 관측할 수 있는 요소와 관측할 수 없는 요소로 이뤄져있다. 관측 가능한 요소는 고객이 A 브랜드를 구매했는지 B 브랜드를 구매했는지의 여부이고, 관측 불가능한 요소는 고객의 브랜드 선호도이다.

전이 확률(Transition Probability)이란, 상태에서 다른 상태로 넘어갈 때의 확률을 말한다. 위의 그림에서 브랜드 A를 선호하는 사람의 다음 번에도 브랜드 A를 선호할 확률은 0.8이고, 이를 전이 확률이라고 부른다. 이 때 ‘다음 번’이라고 부르는 시간의 상태를 머신러닝에서는 흔히 은닉층(hidden state)이라고 부르는 녀석이라고 생각하면 된다. 즉, 전이 확률은 하나의 은닉층에서 또 다른 은닉층으로 넘어갈 때의 확률이라고 생각하면 된다.

출력 확률(Emission Probability)이란, 은닉층에서 나와 관측 가능해지는 확률을 말한다. 위의 예시에서 브랜드 A를 선호하는 사람이 브랜드 A를 구매할 확률은 0.8이고, 이를 출력 확률이라고 부른다.

여러 개의 개념이 나와서 다소 헷갈릴 수 있으니 다시 한 번 우리의 목적을 정리하자면, “구매 결과를 바탕으로 소비자의 브랜드 선호도를 추정”하는 것이다.

이를 위해서는 먼저 사전 확률(Prior Probability)을 구해야 한다. 사전 확률이란 임의의 고객이 어떤 브랜드를 선호하는지에 대한 가능도(likelihood)를 말한다. 사전 확률은 연구자가 임의로 설정할 수도 있고 과거 데이터나 전이 확률을 통해 계산할 수 있다.

먼저 A 브랜드의 선호도를 A, B 브랜드의 선호도를 B라고 할 때, A 브랜드 선호도의 확률은 A가 받는 파란색 화살표 두 개를 합한 값이다. 즉, 수식으로는 다음과 같이 표현할 수 있다.

P(A) = 0.8A + 0.4B

마찬가지로 P(B) 역시 다음과 같이 나타낼 수 있다.

P(B) = 0.2A + 0.6B

또한, 이 문제에서 소비자의 선호도는 A 브랜드 아니면 B 브랜드이므로,

A + B = 1 \\ A = 1 - B

위의 식을 정리하면,

0.8(1-B) + 0.4B = 1 - B  \\ 0.6B = 0.2 \\ B = \frac{1}{3}

즉, 사전 확률 A = 2/3, B = 1/3이다.

사후 확률(Posterior Probability)은 이미 문제에서 주어져있다. 이 문제에서 사후 확률이란 브랜드 A를 구매하였을 때 소비자가 A 브랜드(또는 B 브랜드)를 선호할 조건부 확률을 말한다. 다시 말해 출력 확률이다. 조건부확률과 베이즈 이론에 대한 설명은 다음 글의 나이브 베이즈 분류기를 참고하길 바란다. 출력 확률을 조건부 확률 표현식으로 나타내면 다음과 같다.

P(Preference A | Purchase A) = 0.8 \\ P(Preference A | Purchase B) = 0.4  \\  P(Preference B | Purchase A) = 0.2 \\ P(Preference B | Purchase B) = 0.6

■ 예제로 알아보는 마르코프 체인 모델

위의 확률들을 확장시켜 문제에 적용해보자.

만약 홍길동이라는 고객이 처음에는 첫 달에는 스타벅스 커피 캡슐을 구매하고, 두 번째 달에는 네스프레소 커피 캡슐을, 세 번째 달에는 다시 스타벅스 커피 캡슐을 구매했다고 한다. 이 고객은 어느 브랜드의 커피 캡슐을 선호할까?

이런 문제에서는 일단 매달 ‘홍길동의 선호도’의 모든 경우의 수를 나열해본다. 각 구매하는 달마다 선호도는 스타벅스 아니면 네스프레소로 2개 뿐이므로 경우의 수는 23 = 8가지이다. 편의상 스타벅스를 A, 네스프레소를 B로 표기하겠다. {A, A, A}, {A, A, B}, {A, B, A}, {A, B, B}, {B, A, A}…이런식으로 나열하면 총 8개의 경우의 수가 나온다.

이제 각 경우의 수마다의 확률을 구하면 된다. 먼저 A를 모두 선호할 때의 확률을 다음과 같이 구할 수 있다.

사전 확률, 전이 확률, 출력 확률을 이용한 A-A-A 조합의 확률은 0.0546이다. 이런식으로 모든 확률값을 구한다. 직접 해보고 테이블의 답과 맞는지 확인해볼 것을 추천한다.

8가지 경우의 수 중에서 확률이 가장 높은 것은 0.0546으로 A-A-A 조합이다. 이로써 우리는 스타벅스 – 네스프레소 – 스타벅스를 구매한 고객의 선호도가 스타벅스 – 스타벅스 – 스타벅스임을 추론할 수 있다.

예제에서는 구매 기록이 3번뿐이지만 구매 기록이 늘어날수록, 브랜드의 갯수가 늘어날수록 경우의 수가 어마무시하게 늘어나는 것을 알 수 있다. 모든 경우의 수에 대응하는 확률을 하나씩 구해야하는 문제를 해결하기 위한 알고리즘은 다음 글에서 다루도록 하겠다.