Настройте инерцию состояния марковской цепи
Рассмотрим эту матрицу перехода с тремя состояниями.
Создайте неснижаемую и периодическую цепь Маркова, который характеризуется матрицей переходов 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.