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