lazy

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

Описание

пример

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 объект. P должен быть полностью задан (никакой NaN записи).

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

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

    Plazy=(1w)P+wI.

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

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

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

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

свернуть все

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

Больше о

свернуть все

Ленивая цепь

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

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

Ссылки

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

Введенный в R2017b
Для просмотра документации необходимо авторизоваться на сайте