asymptotics

Определите Цепь Маркова asymptotics

Синтаксис

xFix = asymptotics(mc)
[xFix,tMix] = asymptotics(mc)

Описание

пример

xFix = asymptotics(mc) возвращает стационарное распределение xFix дискретной цепи Маркова mc.

пример

[xFix,tMix] = asymptotics(mc) дополнительно возвращает оценку смесительного времени tMix.

Примеры

свернуть все

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

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

Определите стационарное распределение Цепи Маркова.

xFix = asymptotics(mc)
xFix = 1×7

    0.1300    0.2034    0.1328    0.0325    0.1681    0.1866    0.1468

Поскольку xFix является вектором - строкой, это - уникальное стационарное распределение mc.

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

m = 100; % Maximal count
rng(1); % For reproducibility
P = blkdiag(randi(100,2) + 1,randi(100,3) + 1)
P = 5×5

    43     2     0     0     0
    74    32     0     0     0
     0     0    16    36    43
     0     0    11    41    70
     0     0    20    55    22

Создайте и постройте диграф Цепи Маркова, которая характеризуется матрицей P перехода.

mc = dtmc(P);

figure;
graphplot(mc)

Определите стационарное распределение и смешивание времени Цепи Маркова.

[xFix,tMix] = asymptotics(mc)
xFix = 2×5

    0.9401    0.0599         0         0         0
         0         0    0.1497    0.4378    0.4125

tMix = 0.8558

Строки xFix соответствуют стационарным дистрибутивам двух независимых текущих классов mc.

Создайте отдельные Цепи Маркова, представляющие текущие подцепи mc.

mc1 = subchain(mc,1);
mc2 = subchain(mc,3);

mc1 и mc2 являются объектами dtmc. mc1 является текущим классом, содержащим 1 состояния, и mc2 является текущим классом, содержащим 3 состояния.

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

[x1,t1] = asymptotics(mc1)
x1 = 1×2

    0.9401    0.0599

t1 = 0.7369
[x2,t2] = asymptotics(mc2)
x2 = 1×3

    0.1497    0.4378    0.4125

t2 = 0.8558

mc1 приближается к своему стационарному распределению более быстро, чем mc2.

Создайте Цепь Маркова "гантели", содержащую 10 состояний в каждом "весе" и три состояния в "панели".

  • Задайте случайные вероятности перехода между состояниями в каждом весе.

  • Если Цепь Маркова достигает состояния в весе, который является самым близким к панели, то задайте высокую вероятность перехода к панели.

  • Задайте универсальные переходы между состояниями в панели.

rng(1); % For reproducibility
w = 10;                              % Dumbbell weights
DBar = [0 1 0; 1 0 1; 0 1 0];        % Dumbbell bar
DB = blkdiag(rand(w),DBar,rand(w));  % Transition matrix

% Connect dumbbell weights and bar
DB(w,w+1) = 1;                       
DB(w+1,w) = 1; 
DB(w+3,w+4) = 1; 
DB(w+4,w+3) = 1;

mc = dtmc(DB);

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

figure;
imagesc(mc.P);
colormap(jet);
axis square;
colorbar;

Постройте ориентированного графа Цепи Маркова. Подавите метки узла.

figure;
h = graphplot(mc);
h.NodeLabel = {};

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

figure;
eigplot(mc);

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

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

[~,tMix] = asymptotics(mc)
tMix = 85.3258
tf = isergodic(mc)
tf = logical
   1

В среднем время это берет для общего расстояния изменения между любым начальным распределением и стационарным распределением, чтобы затухнуть фактором e1 приблизительно 85 шагов.

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

свернуть все

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

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

свернуть все

Стационарное распределение, с xFix*P = xFix, возвратилось как неотрицательная числовая матрица со столбцами NumStates. Количество строк xFix является количеством независимых текущих классов в mc.

  • Для unichains распределение уникально, и xFix является 1-by-NumStates вектор.

  • В противном случае каждая строка xFix представляет отличное стационарное распределение в mc.

Смешивание времени, возвращенного в виде положительного числа.

Если μ, второй по величине модуль собственного значения (SLEM) P, существует и является ненулевым, то предполагаемое время смешивания 1/журнал(μ).

Примечание

  • Если P является неотрицательной стохастической матрицей, то Цепь Маркова mc, который это характеризует, имеет левый собственный вектор xFix с собственным значением 1. Теорема Крыльца-Frobenius [2] подразумевает что, если mc является unichain (цепочка с одним текущим классом передачи), то xFix уникален. Для приводимых цепочек с несколькими текущими классами собственное значение 1 имеет более высокую кратность, и xFix является групповым. Если цепочка является периодической, xFix является стационарным, но не ограничивает, потому что произвольные начальные дистрибутивы не сходятся к нему. xFix и уникален и ограничивает для эргодических цепочек только. Смотрите classify.

  • Для эргодических цепочек tMix является характеристическим временем для любого начального распределения, чтобы сходиться к xFix. А именно, это - время для общего расстояния изменения между начальным распределением и xFix, чтобы затухнуть фактором e = exp(1). Смесительные времена являются мерой относительной возможности соединения структур перехода в различных цепочках.

Ссылки

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

[2] Рог, R. и К. Р. Джонсон. Анализ матрицы. Кембридж, Великобритания: Издательство Кембриджского университета, 1985.

[3] Seneta, E. Неотрицательные матрицы и цепи Маркова. Нью-Йорк, Нью-Йорк: Springer-Verlag, 1981.

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

| | |

Введенный в R2017b