asymptotics

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

Описание

пример

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

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

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

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)

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

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

[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 contains an axes object. The axes object contains an object of type image.

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

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

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

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

figure;
eigplot(mc);

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

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

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

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

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

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

свернуть все

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

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

свернуть все

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

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

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

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

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

Примечание

  • Если 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