Этот пример показывает, как вычислить стационарное распределение марковской цепи, оценить время ее смешения и определить, является ли цепь эргодичной и редуцируемой. Пример также показывает, как удалить периодичность из цепи, не нарушая асимптотического поведения.
Рассмотрим эту теоретическую, правостохастическую переходную матрицу стохастического процесса.
Создайте марковскую цепочку, которая характеризуется переходной матрицей 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
.