Beginner Web Infographic

Markov Chains
“지금 상태”만 보고
다음 상태를 예측하는 법

마르코프 체인은 복잡한 미래를 한 번에 맞히려는 도구가 아닙니다. 현재 상태에서 다음 상태로 이동할 확률을 정하고, 그 이동을 반복해서 “앞으로 어떤 상태가 얼마나 자주 나타날지” 보는 확률 모델입니다.

Core intuition

한 문장 정의

마르코프 체인 = 상태들의 지도 + 상태 사이를 이동할 확률표
단, 다음 상태의 확률은 “현재 상태”에만 의존한다고 가정합니다.
1
상태맑음, 흐림, 비처럼 가능한 경우를 나눕니다.
2
전이현재 상태에서 다음 상태로 넘어가는 움직임입니다.
3
확률각 이동 경로에 가능성을 숫자로 붙입니다.
과거 어제·그제 현재 오늘의 상태 미래 내일 반복하면 1일 후, 2일 후, 100일 후 확률
Visual model

날씨 예제로 보는 상태 지도

아래 그림에서 원은 상태, 화살표는 전이, 숫자는 전이확률입니다. 예를 들어 오늘이 맑음이면 내일도 맑을 확률이 70%, 흐릴 확률이 20%, 비가 올 확률이 10%라고 둡니다.

상태 = 맑음 / 흐림 / 비 전이 = 오늘 → 내일 확률 = 각 행의 합 100%
맑음 Sunny 흐림 Cloudy Rainy 20% 30% 20% 10% 50% 30% 70% 40% 30%
Transition matrix

그림을 표로 바꾸면 전이행렬

행은 오늘 상태, 열은 내일 상태입니다. 행 하나는 “오늘이 이 상태라면 내일은 어디로 갈까?”를 나타내므로 각 행의 합은 1이 됩니다.

오늘 \ 내일맑음흐림
맑음0.700.200.10
흐림0.300.400.30
0.200.500.30

체크포인트: 0.70 + 0.20 + 0.10 = 1.00

Math in one line

계산은 행렬 곱셈

내일확률 = 오늘확률 × 전이행렬
v1 = v0P

n일 후 확률 = v0Pn

예: 오늘이 100% 맑음이면 v0 = [1, 0, 0]. 내일은 [1, 0, 0]P = [0.70, 0.20, 0.10]입니다.

P = 전이행렬 = 두 번 이동 Pⁿ = n번 이동
Interactive 1

직접 눌러보기: 다음 날 시뮬레이션

시작 상태를 고른 뒤 “하루 진행”을 눌러보세요. 매번 같은 결과가 나오지는 않지만, 여러 번 반복하면 전이확률에 가까운 패턴이 나타납니다.

맑음

오늘이 맑음이면 내일은 맑음 70%, 흐림 20%, 비 10%

Interactive 2

n일 후 확률 계산

오늘이 맑음이라고 할 때, n일 뒤 각각의 날씨가 될 확률을 계산합니다. 무작위 시뮬레이션이 아니라 행렬 곱셈으로 계산한 값입니다.

n이 커질수록 시작 상태의 영향이 줄고 일정한 비율에 접근할 수 있습니다. 단, 모든 마르코프 체인이 반드시 그렇게 되는 것은 아닙니다.

Long-run behavior

장기분포: 오래 보면 어디에 머무는가?

일부 마르코프 체인은 충분히 오래 반복하면 시작 상태와 거의 무관한 안정 비율에 가까워집니다. 이 예제에서는 장기적으로 대략 아래 비율에 접근합니다.

이 값은 위 전이행렬을 반복 곱해서 근사한 것입니다. 엄밀하게는 πP = π, π의 원소 합 = 1을 만족하는 분포를 구합니다.

Mental model

초보자가 기억할 비유

1

도시 지도

상태는 도시의 정류장입니다.

2

갈림길 확률

각 정류장에서 다음 정류장으로 갈 확률이 정해져 있습니다.

3

기억 짧은 여행자

여행자는 “지금 어느 정류장에 있는지”만 보고 다음 이동을 정합니다.

4

많이 걸으면 패턴

하루만 보면 우연이 크지만, 오래 보면 머무는 비율이 보입니다.

Application map

어디에 쓰이나?

설비 상태 예측

정상 → 경고 → 고장 → 수리 같은 상태 전이를 모델링할 수 있습니다.

대기열·교통

혼잡도, 고객 수, 부품 대기 상태가 시간에 따라 어떻게 변하는지 볼 수 있습니다.

금융·리스크

시장 국면을 상승/횡보/하락 등으로 나누어 상태 전이를 분석할 수 있습니다.

검색·추천

사용자 이동, 페이지 이동, 클릭 패턴을 확률 전이로 표현할 수 있습니다.

언어 모델의 역사적 기초

이전 단어 또는 상태가 다음 단어 확률에 영향을 주는 모델의 단순한 출발점입니다.

생명과학·물리

분자 상태, 유전자 상태, 확산 과정의 단순 모델로 쓰입니다.

장점

  • 직관적입니다. 상태와 확률표만 있으면 설명 가능합니다.
  • 계산이 명확합니다. n단계 뒤 확률은 행렬 곱으로 계산합니다.
  • 데이터에서 추정하기 쉽습니다. 관찰된 전이 횟수를 세어 확률표를 만들 수 있습니다.
  • 현장 모델링에 좋습니다. 설비 상태, 작업 흐름, 품질 등급처럼 상태가 명확한 문제에 적합합니다.

한계

  • 현재만 본다는 가정이 강합니다. 실제로는 긴 과거 이력이 중요할 수 있습니다.
  • 확률이 고정된다고 가정할 수 있습니다. 계절, 정책, 노후화, 운영 조건이 바뀌면 전이확률도 바뀝니다.
  • 상태 설계가 부정확하면 모델도 부정확합니다. 상태를 너무 거칠게 나누면 중요한 차이를 잃습니다.
  • 숨은 원인을 직접 설명하지 않습니다. “왜 이동했는가”보다 “얼마나 자주 이동하는가”에 강합니다.
How to build one

실제로 만드는 순서

01상태 정의

서로 겹치지 않고 관찰 가능한 상태로 나눕니다.

02전이 기록

시간 t에서 t+1로 이동한 횟수를 셉니다.

03확률화

각 행을 합이 1이 되도록 나눕니다.

04검증

예측 분포와 실제 관측 분포가 맞는지 비교합니다.

현장 팁: 설비 데이터라면 “정상/주의/경고/정지/수리중”처럼 너무 많은 센서값을 바로 쓰기보다, 운영자가 의사결정할 수 있는 상태로 먼저 압축하는 것이 좋습니다.