exponenta event banner

Определение асимптотического поведения цепи Маркова

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

Рассмотрим эту теоретическую, правостохастическую матрицу перехода стохастического процесса.

P = [001/21/41/400001/302/300000001/32/3000001/21/2000003/41/41/21/2000001/43/400000].

Создайте цепочку Маркова, которая характеризуется матрицей перехода 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);

Figure contains an axes. The axes contains an object of type graphplot.

Поскольку матрица перехода является правильной стохастической, цепочка Маркова имеет стационарное распределение π∗ такое, что π∗=π∗P.

Определите, является ли цепь Маркова неприводимой.

tfRed = isreducible(mc)
tfRed = logical
   0

tfRed = 0 указывает, что цепь неприводима. Это означает, что π∗ уникальна.

Определите, эргодична ли цепочка Маркова.

tfErg = isergodic(mc)
tfErg = logical
   0

tfErg = 0 указывает, что цепь не эргодична. Этот результат подразумевает, что π∗ не является ограничивающим распределением для произвольного начального распределения.

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

  • Цепи, которые неприводимы и не эргодны, являются периодическими. Результаты предыдущего раздела подразумевают, что цепочка Маркова является периодической.

  • Проверьте график собственных значений на комплексной плоскости. График собственных значений указывает, является ли цепочка Маркова периодической, и график раскрывает период цепочки.

Постройте график собственных значений цепи Маркова на комплексной плоскости.

figure;
eigplot(mc);

Figure contains an axes. The axes contains 5 objects of type line, patch. These objects represent Eigenvalues, Spectral Gap.

К заметным особенностям сюжета собственных значений относятся:

  • Жирная звездочка - собственное значение Перрона-Фробениуса. Он имеет величину 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);

Figure contains an axes. The axes with title Distribution of States contains an object of type image.

X2 = redistribute(mc,20,'X0',[1 0 0 0 0 0 0]);
figure;
distplot(mc,X2);

Figure contains an axes. The axes with title Distribution of States contains an object of type image.

На чертежах периодичность очевидна и предотвращает оседание распределения состояний. Кроме того, различные исходные значения дают различные эволюции.

Удалить периодичность из цепи Маркова путём трансформации цепи в «ленивую» цепь. Постройте график ленивой цепи. Определите, является ли ленивая цепь неприводимой и эргодной.

lc = lazy(mc);

figure;
graphplot(lc);

Figure contains an axes. The axes contains an object of type graphplot.

tfRedLC = isreducible(lc)
tfRedLC = logical
   0

tfErgLC = isergodic(lc)
tfErgLC = logical
   1

Наблюдайте за самокольцами на диграфе. Для удаления периодичности ленивая цепочка обеспечивает сохранение состояния. Ленивая цепь неприводимая и эргодная.

Постройте график собственных значений ленивой цепи на комплексной плоскости.

figure;
eigplot(lc);

Figure contains an axes. The axes contains 5 objects of type line, patch. These objects represent Eigenvalues, Spectral Gap.

Ленивая цепь не имеет каких-либо собственных значений у корней единства, кроме собственного значения Перрона - Фробениуса. Поэтому ленивая цепь имеет период 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)

Figure contains an axes. The axes with title Distribution of States contains an object of type image.

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

См. также

Объекты

Функции

Связанные темы