В этом примере показано, как вычислить стационарное распределение цепи Маркова, оценить время ее смешивания и определить, является ли цепь эргодичной и редуцируемой. Пример также показывает, как удалить периодичность из цепи без нарушения асимптотического поведения.
Рассмотрим эту теоретическую, правостохастическую матрицу перехода стохастического процесса.
Создайте цепочку Маркова, которая характеризуется матрицей перехода P. Постройте график цепочки и укажите вероятности перехода с помощью краевых цветов.
P = [ 0 0 1/2 1/4 1/4 0 0 ;
0 0 1/3 0 2/3 0 0 ;
0 0 0 0 0 1/3 2/3;
0 0 0 0 0 1/2 1/2;
0 0 0 0 0 3/4 1/4;
1/2 1/2 0 0 0 0 0 ;
1/4 3/4 0 0 0 0 0 ];
mc = dtmc(P);
figure;
graphplot(mc,'ColorEdges',true);
Поскольку матрица перехода является правильной стохастической, цепочка Маркова имеет стационарное распределение такое, что .
Определите, является ли цепь Маркова неприводимой.
tfRed = isreducible(mc)
tfRed = logical
0
tfRed = 0 указывает, что цепь неприводима. Это означает, что уникальна.
Определите, эргодична ли цепочка Маркова.
tfErg = isergodic(mc)
tfErg = logical
0
tfErg = 0 указывает, что цепь не эргодична. Этот результат подразумевает, что не является ограничивающим распределением для произвольного начального распределения.
Определить, является ли цепь Маркова периодической, можно двумя способами.
Цепи, которые неприводимы и не эргодны, являются периодическими. Результаты предыдущего раздела подразумевают, что цепочка Маркова является периодической.
Проверьте график собственных значений на комплексной плоскости. График собственных значений указывает, является ли цепочка Маркова периодической, и график раскрывает период цепочки.
Постройте график собственных значений цепи Маркова на комплексной плоскости.
figure; eigplot(mc);

К заметным особенностям сюжета собственных значений относятся:
Жирная звездочка - собственное значение Перрона-Фробениуса. Он имеет величину 1 и гарантирован для неотрицательных матриц перехода.
Все собственные значения у корней единства указывают на периодичность. Поскольку три собственных значения находятся на единичной окружности, цепочка имеет период 3.
Спектральный зазор - это область между окружностью единичной окружности и окружностью окружности с радиусом второй наибольшей величины собственного значения (SLEM). Размер спектрального промежутка определяет скорость смешения цепи Маркова.
В общем, спектр определяет структурные свойства цепи.
Вычислить стационарное распределение марковской цепи.
xFix = asymptotics(mc)
xFix = 1×7
0.1300 0.2034 0.1328 0.0325 0.1681 0.1866 0.1468
xFix является уникальным стационарным распределением цепи, но не является ограничивающим распределением для произвольного начального распределения.
Визуализация двух эволюций распределения состояний марковской цепи с помощью двух 20-ступенчатых перераспределений. Для первого перераспределения используйте равномерное начальное распределение по умолчанию. Для второго перераспределения укажите начальное распределение, которое придает весь вес первому состоянию.
X1 = redistribute(mc,20); figure; distplot(mc,X1);

X2 = redistribute(mc,20,'X0',[1 0 0 0 0 0 0]);
figure;
distplot(mc,X2);
На чертежах периодичность очевидна и предотвращает оседание распределения состояний. Кроме того, различные исходные значения дают различные эволюции.
Удалить периодичность из цепи Маркова путём трансформации цепи в «ленивую» цепь. Постройте график ленивой цепи. Определите, является ли ленивая цепь неприводимой и эргодной.
lc = lazy(mc); figure; graphplot(lc);

tfRedLC = isreducible(lc)
tfRedLC = logical
0
tfErgLC = isergodic(lc)
tfErgLC = logical
1
Наблюдайте за самокольцами на диграфе. Для удаления периодичности ленивая цепочка обеспечивает сохранение состояния. Ленивая цепь неприводимая и эргодная.
Постройте график собственных значений ленивой цепи на комплексной плоскости.
figure; eigplot(lc);

Ленивая цепь не имеет каких-либо собственных значений у корней единства, кроме собственного значения Перрона - Фробениуса. Поэтому ленивая цепь имеет период 1. Поскольку спектральный зазор ленивой цепи тоньше, чем спектральный зазор нетрансформированной цепи, то ленивая цепь смешивается медленнее, чем нетрансформированная цепь.
Вычислите стационарное распределение ленивой цепи.
xFixLC = asymptotics(lc)
xFixLC = 1×7
0.1300 0.2034 0.1328 0.0325 0.1681 0.1866 0.1468
xFixLC - уникальное стационарное распределение цепи, и это предельное распределение, данное произвольному начальному распределению. Также, xFixLC и xFix идентичны.
Визуализация эволюции распределения состояний ленивой цепи с помощью 10-ступенчатого перераспределения.
XLC = redistribute(lc,10); figure; distplot(lc,XLC)

Распределение состояний развивается от равномерного распределения к стационарному распределению менее чем за 10 временных шагов. Обратите внимание, что цвета на последнем шаге соответствуют значениям в xFixLC.