Регулировка инерции состояния цепи Маркова
Рассмотрим эту матрицу перехода с тремя состояниями.
].
Создайте неприводимую и периодическую цепь Маркова, которая характеризуется матрицей перехода 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.
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')
Три собственных значения имеют модуль 1, который указывает, что период 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');
Все ленивые цепи имеют только одно собственное значение с модулем 1. Поэтому они апериодичны. Спектральный промежуток (расстояние между внутренней и внешней окружностями) определяет время смешения. Обратите внимание, что для смешивания всех ленивых цепей требуется больше времени, чем для исходной цепи Маркова. Для смешивания цепей с разными инерционными весами, чем по умолчанию, требуется больше времени, чем для ленивой цепи по умолчанию.
mc - Дискретно-временная марковская цепочкаdtmc объектДискретно-временная марковская цепь с NumStates состояния и матрица перехода P, указано как dtmc объект. P должен быть полностью указан (нет NaN записи).
w - Инерционные веса0.5 (по умолчанию) | числовой скаляр | числовой векторИнерционные веса, заданные как числовой скаляр или вектор длины NumStates. Значения должны быть между 0 и 1.
Если w является скаляром, lazy применяет его ко всем штатам. То есть матрица перехода ленивой цепи (lc.P) - результат линейного преобразования
P + wI.
P - это mc.P а я - NumStatesоколо-NumStates единичная матрица.
Если w является вектором, lazy применяет состояние весов по состоянию (строка за строкой).
Типы данных: double
Ленивый вариант цепи Маркова имеет для каждого состояния вероятность пребывания в одном и том же состоянии, равную, по меньшей мере, 0,5.
В направленном графе цепи Маркова преобразование лени по умолчанию обеспечивает самокольцевание по всем состояниям, исключая периодичность. Если цепь Маркова неприводима, то её ленивый вариант эргодичен. Посмотрите graphplot.
[1] Галлагер, Р. Г. Стохастические процессы: теория для применения. Кембридж, Великобритания: Cambridge University Press, 2013.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.