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