마르코프 연쇄는 맑음과 비처럼 여러 상태 사이를 한 단계씩 이동하는 시스템을 나타내는 모델입니다. 핵심 규칙은, 모델링하려는 시스템에 대해 그 가정이 타당하다면 다음 단계가 오직 현재 상태에만 의존한다는 점입니다.
이 한 단계 전이확률들을 모아 놓은 것이 전이행렬입니다. 과정이 지금 상태 에 있고 다음에 상태 로 확률 로 이동한다면,
유한한 마르코프 연쇄에서는 과정이 허용된 다음 상태들 중 하나로 반드시 이동해야 하므로 의 각 행의 합은 입니다.
마르코프 성질의 의미
형식적으로는 다음과 같습니다.
이 식은 현재 상태 를 알고 나면, 그보다 이전의 이력이 모델에서 다음 단계 확률을 바꾸지 않는다는 뜻입니다.
이 조건은 중요합니다. 실제 시스템 중에는 기억 효과, 추세, 지연된 영향이 있는 경우도 있으므로, “현재 상태만으로 충분하다”는 것이 타당한 근사일 때만 마르코프 연쇄가 잘 맞는 모델이 됩니다.
전이행렬 읽는 법
간단한 날씨 모델에 두 개의 상태가 있다고 합시다.
- 맑음
- 비
다음 전이행렬을 사용합니다.
각 행은 현재 상태, 각 열은 다음 상태로 읽습니다.
따라서 오늘이 맑음이면, 모델은 내일이 맑을 확률이 , 비일 확률이 라고 말합니다. 오늘이 비라면, 내일이 맑을 확률은 , 비일 확률은 입니다.
예제: 이틀 동안의 날씨
오늘의 분포가 다음과 같다고 합시다.
이것은 모델이 확률 로 맑음 상태에서 시작한다는 뜻입니다.
내일의 분포는
따라서 한 단계 뒤에는 맑을 확률이 , 비일 확률이 입니다.
한 단계 더 가면,
이제 맑을 확률은 , 비일 확률은 입니다.
핵심은 단순한 계산 자체만이 아닙니다. 이 행렬은 전체 확률분포를 한 단계씩 갱신해 주며, 그래서 마르코프 연쇄가 반복되는 과정을 다루는 데 유용합니다.
마르코프 연쇄는 어디에 쓰일까
마르코프 연쇄는 시스템이 단계적으로 변하고, 다음에 무엇이 일어날지의 확률을 알고 싶을 때 유용합니다.
대표적인 예로는 날씨 모델, 보드게임에서의 말 이동, 대기행렬 모델, 단순화한 웹 탐색이 있습니다. 각각의 경우에서 상태를 잘 정하고 전이확률이 현실적일 때에만 이 모델이 도움이 됩니다.
마르코프 연쇄에서 흔한 실수
임의의 확률과정을 모두 마르코프라고 보는 경우
확률적이라고 해서 자동으로 마르코프 연쇄가 되는 것은 아닙니다. 상태를 어떻게 정의했는지에 따라, 다음 단계의 거동이 현재 상태로 결정되어야 합니다.
행의 의미를 잊는 경우
행과 열을 자주 혼동합니다. 일관된 규칙이 필요합니다. 이 페이지에서는 행이 현재 상태이고 열이 다음 상태입니다.
올바르지 않은 확률 사용
각 원소는 과 사이여야 하고, 유한한 마르코프 연쇄의 표준 전이행렬에서는 각 행의 합이 이어야 합니다.
모델이 하나의 확정된 미래를 예측한다고 생각하는 경우
마르코프 연쇄는 보통 확률을 주지, 확실한 결과를 주지는 않습니다. 어떤 상태가 더 가능성이 크더라도 여러 다음 상태가 여전히 가능할 수 있습니다.
장기 거동은 연쇄의 성질에 달려 있다
어떤 마르코프 연쇄는 안정된 장기 분포로 수렴하는데, 이를 정상분포라고 부르는 경우가 많습니다. 하지만 모든 연쇄가 그런 것은 아니며, 상태들이 어떻게 서로 이어지는지, 이동 패턴이 주기적인지 같은 연쇄의 성질에 따라 달라집니다.
따라서 를 반복해서 곱하는 것을 장기 거동을 살피는 방법으로 생각하는 것은 괜찮지만, 조건을 확인하지 않고 수렴을 가정해서는 안 됩니다.
마르코프 연쇄가 좋은 모델이 되는 경우
다음 조건들이 대체로 맞을 때 마르코프 연쇄를 사용합니다.
- 과정을 적당한 수의 상태들로 설명할 수 있다.
- 시간이 이산적인 단계로 진행되거나, 그렇게 모델링하기로 정했다.
- 다음 단계의 확률이 현재 상태에 의해 의미 있게 결정된다.
이 조건들이 성립하지 않으면 모델은 거친 근사에 그칠 수 있으며, 그 점을 분명히 밝혀야 합니다.
직접 만들어 보기
수요가 낮음, 보통, 높음인 세 상태 모델을 만들어 보세요. 각 행의 합이 이 되도록 확률을 정하고, 초기 분포를 선택한 뒤, 로 다음 단계를 계산해 보세요. 더 나아가고 싶다면 한 번 더 갱신해서 분포가 어떤 패턴으로 안정되기 시작하는지 살펴보세요.