exponenta event banner

ленивый

Регулировка инерции состояния цепи Маркова

Описание

пример

lc = lazy(mc) преобразует дискретно-временную марковскую цепочку mc в ленивую цепь lc с регулируемой инерцией состояния.

пример

lc = lazy(mc,w) применяет инерционные веса w для преобразования.

Примеры

свернуть все

Рассмотрим эту матрицу перехода с тремя состояниями.

P = [010001100].

Создайте неприводимую и периодическую цепь Маркова, которая характеризуется матрицей перехода P.

P = [0 1 0; 0 0 1; 1 0 0];
mc = dtmc(P);

В момент времени t = 1,..., T, mc вынужден детерминированно перейти в другое состояние.

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

xFix = asymptotics(mc)
xFix = 1×3

    0.3333    0.3333    0.3333

isergodic(mc)
ans = logical
   0

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

Показать, почему xFix не является ограничивающим распределением для всех начальных распределений.

x0 = [1 0 0];
x1 = x0*P
x1 = 1×3

     0     1     0

x2 = x1*P
x2 = 1×3

     0     0     1

x3 = x2*P
x3 = 1×3

     1     0     0

sum(x3 == x0) == mc.NumStates
ans = logical
   1

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

Создать ленивый вариант марковской цепочки mc.

lc = lazy(mc)
lc = 
  dtmc with properties:

             P: [3x3 double]
    StateNames: ["1"    "2"    "3"]
     NumStates: 3

lc.P
ans = 3×3

    0.5000    0.5000         0
         0    0.5000    0.5000
    0.5000         0    0.5000

lc является dtmc объект. В момент времени t = 1,..., T, lc «переворачивает справедливую монету.» Он остается в текущем состоянии, если «монета показывает головы» и переходит в другое состояние, если «монета показывает хвосты».

Определите стационарное распределение ленивой цепи и ее эргодичность.

lcxFix = asymptotics(lc)
lcxFix = 1×3

    0.3333    0.3333    0.3333

isergodic(lc)
ans = logical
   1

lc и mc имеют те же стационарные распределения, но только lc эргодична. Следовательно, предельное распределение lc существует и равна его стационарному распределению.

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

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;
eigplot(mc);
title('Original Markov Chain')

Figure contains an axes. The axes with title Original Markov Chain contains 5 objects of type line, patch. These objects represent Eigenvalues, Spectral Gap.

Три собственных значения имеют модуль 1, который указывает, что период mc три.

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

w2 = 0.1;                                 % More active Markov chain
w3 = 0.9;                                 % Lazier Markov chain
w4 = [0.9 0.1 0.25 0.5 0.25 0.001 0.999]; % Laziness differs between states

lc1 = lazy(mc);
lc2 = lazy(mc,w2);
lc3 = lazy(mc,w3);
lc4 = lazy(mc,w4);

figure;
eigplot(lc1);
title('Default Laziness');

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

figure;
eigplot(lc2);
title('More Active Chain');

Figure contains an axes. The axes with title More Active Chain contains 5 objects of type line, patch. These objects represent Eigenvalues, Spectral Gap.

figure;
eigplot(lc3);
title('Lazier Chain');

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

figure;
eigplot(lc4);
title('Differing Laziness Levels');

Figure contains an axes. The axes with title Differing Laziness Levels contains 5 objects of type line, patch. These objects represent Eigenvalues, Spectral Gap.

Все ленивые цепи имеют только одно собственное значение с модулем 1. Поэтому они апериодичны. Спектральный промежуток (расстояние между внутренней и внешней окружностями) определяет время смешения. Обратите внимание, что для смешивания всех ленивых цепей требуется больше времени, чем для исходной цепи Маркова. Для смешивания цепей с разными инерционными весами, чем по умолчанию, требуется больше времени, чем для ленивой цепи по умолчанию.

Входные аргументы

свернуть все

Дискретно-временная марковская цепь с NumStates состояния и матрица перехода P, указано как dtmc объект. P должен быть полностью указан (нет NaN записи).

Инерционные веса, заданные как числовой скаляр или вектор длины NumStates. Значения должны быть между 0 и 1.

  • Если w является скаляром, lazy применяет его ко всем штатам. То есть матрица перехода ленивой цепи (lc.P) - результат линейного преобразования

    Plazy = (1 w) P + wI.

    P - это mc.P а я - NumStatesоколо-NumStates единичная матрица.

  • Если w является вектором, lazy применяет состояние весов по состоянию (строка за строкой).

Типы данных: double

Выходные аргументы

свернуть все

Дискретно-временная марковская цепочка, возвращенная как dtmc объект. lc является ленивой версией mc.

Подробнее

свернуть все

Ленивая цепь

Ленивый вариант цепи Маркова имеет для каждого состояния вероятность пребывания в одном и том же состоянии, равную, по меньшей мере, 0,5.

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

Ссылки

[1] Галлагер, Р. Г. Стохастические процессы: теория для применения. Кембридж, Великобритания: Cambridge University Press, 2013.

Представлен в R2017b