ленивый

Настройте инерцию состояния Цепи Маркова

Синтаксис

lc = lazy(mc)
lc = lazy(mc,w)

Описание

пример

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')

Три собственных значения имеют модуль один, который указывает, что период 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;
eigplot(lc2);
title('More Active Chain');

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

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

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

Входные параметры

свернуть все

Дискретная цепь Маркова с состояниями NumStates и матрицей перехода P, заданный как объект dtmc.

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

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

    Pленивый=(1w)P+wI.

    P является mc.P, и I является NumStates-by-NumStates единичная матрица.

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

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

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

свернуть все

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

Больше о

свернуть все

Ленивая цепочка

Версия lazy Цепи Маркова имеет, для каждого состояния, вероятности пребывания в том же состоянии, равном по крайней мере 0,5.

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

Ссылки

[1] Gallager, R.G. Стохастические процессы: теория для приложений. Кембридж, Великобритания: Издательство Кембриджского университета, 2013.

Смотрите также

|

Введенный в R2017b