마르코프 연쇄 정상분포 계산기 쉽게 이해하기 — 개념과 원리
마르코프 연쇄는 다음 상태로 갈 확률이 현재 상태에만 달려 있는 확률 모형입니다. 전이행렬 P의 i행은 상태 i에서 각 상태로 옮겨 갈 확률이므로 행의 합은 1입니다. 정상분포 π는 오랜 시간이 지난 뒤 각 상태에 머무는 비율을 뜻하며, 고객 이탈·브랜드 전환 분석, 날씨 모형, 설비의 가동·고장 주기, 웹 페이지 순위 계산 등에 쓰입니다. 계산기는 상태 1에서 출발해 n단계 뒤의 분포도 함께 보여 줍니다.
계산 방법
- 정상분포: πP = π와 π₁ + π₂ + … + πₙ = 1을 함께 풉니다. 계산기는 πP = π를 (Pᵀ − I)πᵀ = 0으로 바꾸고, 항상 하나가 중복되는 균형식 중 마지막 식을 Σπ = 1로 바꿔 연립방정식을 풉니다. 이 연립방정식의 해가 하나로 정해지지 않으면 "정상분포가 유일하지 않음"으로 표시합니다.
- n단계 후 분포: (1, 0, …, 0)에서 시작해 P를 n번 곱합니다. 이는 Pⁿ의 1행과 같습니다.
원리
오늘의 분포가 행벡터 x라면 내일의 분포는 xP입니다. πP = π를 만족하는 분포는 한 번 도달하면 더 이상 변하지 않는 고정점이며, 행렬로 보면 고윳값 1에 대한 P의 왼쪽 고유벡터입니다. 상태 수가 유한하고, 모든 상태가 서로 오갈 수 있으며(기약), 주기성이 없으면 이 고정점은 유일하고 어떤 분포에서 출발하든 그곳으로 수렴합니다. 수렴 속도는 두 번째 고윳값이 정하며 차이가 |λ₂|ⁿ처럼 줄어듭니다.
예제 풀이
- 기본 입력: P = [0.9 0.1; 0.5 0.5], n = 10
- 상태 2의 들어오는 흐름과 나가는 흐름이 같아야 하므로 0.1π₁ = 0.5π₂, 즉 π₁ = 5π₂입니다.
- π₁ + π₂ = 1에서 6π₂ = 1이므로 π = (5/6, 1/6) = (0.833333, 0.166667)입니다.
- 상태가 2개이면 λ₂ = 1 − 0.1 − 0.5 = 0.4이고, 상태 1에서 출발해 n단계 뒤 상태 1에 있을 확률은 5/6 + (1/6)×0.4ⁿ입니다(n = 1이면 0.9, n = 2이면 0.86).
- n = 10이면 0.4¹⁰ ≈ 0.000105이므로 결과는 (0.833351, 0.166649)로 정상분포에 거의 도달했습니다.
결과 해석
πᵢ는 장기적으로 상태 i에 있는 단계의 비율이고, 1/πᵢ는 상태 i로 다시 돌아오기까지 걸리는 평균 단계 수입니다(예제에서 상태 1은 1.2단계, 상태 2는 6단계). n단계 분포와 π를 비교하면 출발 상태의 영향이 얼마나 빨리 사라지는지 알 수 있습니다.
흔한 실수
- 행이 아니라 열의 합이 1이 되도록 입력하는 경우
- πP = π 대신 Pπ = π를 푸는 경우
- [0 1; 1 0]처럼 주기가 있는 연쇄도 수렴한다고 생각하는 경우. π = (0.5, 0.5)는 있지만 분포는 계속 번갈아 바뀝니다.
자주 묻는 질문
행의 합이 1이 아니면 어떻게 되나요?
올바른 전이행렬이 아니므로 결과에 확률적 의미가 없습니다. 먼저 자료를 고치십시오.
정상분포가 하나로 정해지지 않는 경우는 언제인가요?
단위행렬처럼 서로 오갈 수 없는 닫힌 상태 묶음이 둘 이상일 때입니다.
출처: John G. Kemeny, J. Laurie Snell, Finite Markov Chains, Springer · Sheldon M. Ross, Introduction to Probability Models, Academic Press