Марковский анализ цепи и стационарное распределение

Этот пример показывает, как вывести символическое стационарное распределение тривиальной марковской цепи путем вычисления ее собственного разложения.

Стационарное распределение представляет ограничение, независимое от времени, распределение состояний для марковского процесса, когда количество шагов или переходов увеличивается.

Задайте (положительные) вероятности перехода между состояниями 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. Обратите внимание на значения в каждой строке до единицы.

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)[a, 1-a, sym (0), sym (0), sym (0), sym (0); 1 - b, b, sym (0), sym (0), sym (0), sym (0); cCA, cCB, c, 1-cCA-cCB-c, sym (0), sym (0); sym (0), sym (0), sym (0), d, sym (0), sym (0); sym (0), sym (0), sym (0), sym (0), e, 1-e; sym (0), sym (0), sym (0), sym (0), 1-f, f]

Вычислите все возможные аналитические стационарные распределения состояний марковской цепи. Это задача извлечения собственных векторов с соответствующими собственными значениями, которые могут быть равны 1 для некоторого значения вероятностей перехода.

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

Аналитические собственные векторы

V
V = 

(b-1a-10-c-dcCB-bcCA-bcCB+ccCAσ10-1010-c-dcCA-acCA-acCB+ccCBσ101000-c-dc+cCA+cCB-10000011000f-1e-1000-1010001)where  σ1=c+cCA+cCB-1a+b-ac-bc+c2-1[(b - 1 )/( a - 1), sym (0), - (c - d) * (cCB - b * cCA - b * cCB + c * cCA) )/( (c + cCA + cCB - 1) * (a + b - a * c - b * c + c sym (1), sym (0), - (c-d) * (cCA - a * cCA - a * cCB + cCB) )/( (c + cCA + cCB - 1) * (a + b - a * c - b * c + c ^ 2 - 1)). sym (0), sym (0), - (c-d )/( c + cCA + cCB-1), sym (0), sym (0), sym (0); sym (0), sym (0), sym (1), sym (1), sym (0), sym (0); sym (0), (f-1 )/( e-1), sym (0), sym (0), sym (0), -sym (1); sym (0), sym (1), sym (0), sym (0), sym (0), sym (1)]

Аналитические собственные значения

diag(D)
ans = 

(11cda+b-1e+f-1)[sym (1); sym (1); c; d; a + b - 1; e + f - 1]

Найдите собственные значения, которые в точности равны 1. Если есть какая-либо неоднозначность в определении этого условия для любого собственного значения, остановитесь с ошибкой - так мы уверены, что ниже список индексов надежен, когда этот шаг успешен.

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

(11d)[sym (1); sym (1); d]

Извлеките аналитические стационарные распределения. Собственные векторы нормированы 1-нормой или sum(abs(X)) перед отображением .

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

(b-1a-1σ2001σ2000000010f-1σ1e-1001σ10)where  σ1=f-12e-12+1  σ2=b-12a-12+1[(b - 1 )/( (a - 1) * sqrt ((b - 1) ^ 2/( a - 1) ^ 2 + 1)), sym (0), sym (0); 1/sqrt ((b - 1) ^ 2/( a - 1) ^ 2 + 1), sym (0), sym (0); sym (0), sym (0), sym (0); sym (0), sym (0), sym (1); sym (0), (f - 1 )/( sqrt ((f - 1) ^ 2/( e - 1) ^ 2 + 1) * (e - 1)), sym (0); sym (0), 1/sqrt ((f - 1) ^ 2/( e - 1) ^ 2 + 1), sym (0)]

Вероятность того, что установившееся состояние A или B в первом собственном векторном случае является функцией вероятностей перехода a и b. Визуализируйте эту зависимость.

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

Figure contains an axes. The axes with title Probability of A 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. The axes with title Probability of B contains an object of type functionsurface.

Стационарные распределения подтверждают следующее (Состояния отзыва A через F соответствуют индексам строк 1 через 6 ):

  • Конечные C не достигается и поэтому является переходной, т.е. третья строка полностью равна нулю.

  • Остальные состояния образуют три группы, {A , B }, {D } и {E , F }, которые не взаимодействуют друг с другом и являются повторяющимися.