Этот пример показывает, как вычислить стационарное распределение Цепи Маркова, оценить ее смешивание времени и определить, является ли цепочка эргодической и приводимой. Пример также показывает, как удалить периодичность из цепочки, не ставя под угрозу асимптотическое поведение.
Рассмотрите эту теоретическую, правильно-стохастическую матрицу перехода стохастического процесса.
Создайте Цепь Маркова, которая характеризуется матрицей 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);
Достойные внимания особенности графика собственного значения включают:
Полужирная звездочка является собственным значением Крыльца-Frobenius. Это имеет значение 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);
Ленивая цепочка не имеет никаких собственных значений в корнях из единицы, за исключением собственного значения Крыльца-Frobenius. Поэтому ленивая цепочка имеет период 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
.