Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

마르코프 연쇄 분석 및 정상 분포

이 예제에서는 고유값 분해를 계산하여 간단한 마르코프 연쇄의 기호 정상 분포를 도출하는 방법을 보여줍니다.

정상 분포는 단계나 전이의 수가 증가함에 따른 마르코프 과정에 대한 상태의 제한적이고 시간 독립적인 분포를 나타냅니다.

위의 이미지에 표시된 대로 상태 A에서 F 사이의 (양의) 전이 확률을 정의합니다.

syms a b c d e f cCA cCB positive;

전이 확률을 제한하는 가정을 추가합니다. 이것은 나중에 바람직한 정상 분포를 선택하는 데 도움이 됩니다.

assumeAlso([a, b, c, e, f, cCA, cCB] < 1 & d == 1);

전이 행렬을 정의합니다. A에서 F까지의 상태는 1에서 6까지의 열과 행에 매핑됩니다. 참고로, 각 행의 값의 합계는 1입니다.

P = sym(zeros(6,6));
P(1,1:2) = [a 1-a];
P(2,1:2) = [1-b b];
P(3,1:4) = [cCA cCB c (1-cCA-cCB-c)];
P(4,4) = d;
P(5,5:6) = [e 1-e];
P(6,5:6) = [1-f f];
P
P = 

(a1-a00001-bb0000cCAcCBc1-cCA-cCB-c00000d000000e1-e00001-ff)

마르코프 연쇄의 상태에 대해 가능한 모든 해석적 정상 분포를 계산합니다. 이는 전이 확률의 일부 값에 대해 1과 같을 수 있는 고유값을 갖는 eig를 추출하는 문제입니다.

[V,D] = eig(P');

해석적 고유벡터

V
V = 

(b-1a-100-c-dcCB-bcCA-bcCB+ccCAσ1b-1a-d00-10100-c-dcCA-acCA-acCB+ccCBσ110010000-c-dc+cCA+cCB-10000001010100000f-1e-1000-f-1d-e0-101-d1000101)where  σ1=c+cCA+cCB-1a+b-ac-bc+c2-1

해석적 고유값

diag(D)
ans = 

(11cda+b-1e+f-1)

정확히 1과 같은 고유값을 구합니다. 고유값에 대해 이 조건을 결정하는 데 모호한 부분이 있는 경우 오류를 발생시키고 중지합니다. 이렇게 하면 이 단계가 성공할 때 아래의 인덱스 목록을 신뢰할 수 있습니다.

ix = find(isAlways(diag(D) == 1,'Unknown','error'));
diag(D(ix,ix))
ans = 

(11d)

해석적 정상 분포를 추출합니다. 고유벡터는 표시되기 전에 1-노름 또는 sum(abs(X))로 정규화됩니다.

for k = ix'
    V(:,k) = simplify(V(:,k)/norm(V(:,k)),1);
end
Probability = V(:,ix)
Probability = 

(b-1a-1σ10σ5σ21σ10σ6σ200-c-1σ3c+cCA+cCB-1011σ3000000)where  σ1=b-12a-12+1  σ2=σ3c+cCA+cCB-1a+b-c-1  σ3=c-12c+cCA+cCB-12+σ62σ4+σ52σ4+1  σ4=c+cCA+cCB-12a+b-c-12  σ5=cCB-bcCA-bcCB+ccCA  σ6=cCA-acCA-acCB+ccCB

첫 번째 고유벡터에서 정상 상태가 A 또는 B일 확률은 각각 전이 확률 ab의 함수입니다. 이 종속 관계를 시각화합니다.

fsurf(Probability(1), [0 1 0 1]);
xlabel a
ylabel b
title('Probability of A');

Figure contains an axes object. The axes object with title Probability of A, xlabel a, ylabel b contains an object of type functionsurface.

figure(2);
fsurf(Probability(2), [0 1 0 1]);
xlabel a
ylabel b
title('Probability of B');

Figure contains an axes object. The axes object with title Probability of B, xlabel a, ylabel b contains an object of type functionsurface.

정상 분포는 다음 내용을 확인해 줍니다(참고로, A에서 F까지의 상태는 1에서 6까지의 행 인덱스에 해당함).

  • 상태 C에는 도달하지 않으므로 과도 상태입니다. 즉, 세 번째 행이 전부 0입니다.

  • 나머지 상태는 서로 통신하지 않고 순환하는 세 그룹 { A , B }, { D } 및 { E , F }를 형성합니다.