exponenta event banner

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

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

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

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

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

figure;
eigplot(mc);

Figure contains an axes. The axes 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

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

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

свернуть все

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

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

свернуть все

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

  • Для уничайнов дистрибутив уникален, и xFix является 1около-NumStates вектор.

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

Время смешения, возвращаемое как положительный числовой скаляр.

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

Примечание

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

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

Ссылки

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

[2] Рог, R. и К. Р. Джонсон. Матричный анализ. Кембридж, Великобритания: Cambridge University Press, 1985.

[3] Сенета, Е. неотрицательные матрицы и цепи Маркова. Нью-Йорк, Нью-Йорк: Спрингер-Верлаг, 1981.

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