Этот пример показывает, как вычислить и визуализировать перераспределения состояний, которые показывают эволюцию детерминированных распределений состояний с течением времени от начального распределения.
Рассмотрим эту теоретическую, правостохастическую переходную матрицу стохастического процесса.
Создайте марковскую цепь, которая характеризуется переходной матрицей 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,'ColorNodes',true);
mc
представляет один рекуррентный класс с периодом 3.
Предположим, что начальное распределение состояний равномерно. Вычислите эволюцию распределения для 20 временных шагов.
numSteps = 20; X = redistribute(mc,numSteps);
X
является матрицей 21 на 7. Строка t содержит развитое распределение состояний на временном шаге t.
Визуализируйте перераспределения в тепловой карте.
figure; distplot(mc,X);
Периодичность цепи очевидна.
Удалите периодичность из цепи Маркова, преобразовав ее в ленивую цепь. Постройте график переходной матрицы ленивой цепи как тепловой карты.
lc = lazy(mc); figure; imagesc(lc.P); colormap('jet'); axis square; colorbar; title('Theoretical Lazy Chain Transition Matrix')
lc
является dtmc
объект. lazy
создает ленивую цепь путем добавления веса к вероятности стойкости, то есть lazy
принудительно применяет самоциклы.
Вычислите эволюцию распределения в ленивой цепи на 20 временных шагов. Постройте график перераспределений в тепловой карте.
X1 = redistribute(lc,numSteps); figure; distplot(lc,X1);
Рассматривайте эволюцию распределения состояний как анимированную гистограмму. Задайте скорость системы координат 1 секунду.
figure; distplot(lc,X1,'Type','histogram','FrameRate',1)
Вычислите стационарное распределение ленивой цепи. Сравните его с конечным перераспределением в анимированной гистограмме.
xFix = asymptotics(lc)
xFix = 1×7
0.1300 0.2034 0.1328 0.0325 0.1681 0.1866 0.1468
Стационарное распределение и окончательное перераспределение практически идентичны.