Симулируйте случайные прогулки по марковской цепи

В этом примере показано, как сгенерировать и визуализировать случайные прогулки по марковской цепи.

Рассмотрим эту теоретическую, правостохастическую переходную матрицу стохастического процесса.

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,'ColorNodes',true);

Figure contains an axes. The axes contains 2 objects of type graphplot, line. This object represents Period = 3.

mc представляет один рекуррентный класс с периодом 3.

Симулируйте одну случайную прогулку на 20 шагов по цепи. Начните в случайном начальном состоянии.

rng(1); % For reproducibility
numSteps = 20;
X = simulate(mc,numSteps);

X вектор 21 на 1, содержащий индексы состояний, посещаемых во время случайной прогулки. Первая строка содержит реализованное начальное состояние.

Постройте тепловую карту случайной прогулки.

figure;
simplot(mc,X);

Figure contains an axes. The axes with title States Reached By Simulations contains an object of type image.

Время возврата в любое состояние кратно трем.

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

figure;
simplot(mc,X,'FrameRate',1,'Type','graph');

Figure contains an axes. The axes contains 8 objects of type graphplot, line. This object represents Step 20.

Симулируйте 100 случайных ходов: 50 от состояния 1, 49 от состояния 2 и 1 от состояния 6. Постройте график тепловой карты симуляции.

x0 = [50 49 0 0 0 1 0];
X1 = simulate(mc,numSteps,'X0',x0);

figure;
simplot(mc,X1);

Figure contains an axes. The axes with title States Reached By Simulations contains an object of type image.

X1 является матрицей 20 на 100 случайных ходов. Первые 50 столбцов соответствуют ходам, начиная с состояния 1, следующие 49 столбцов соответствуют ходам, начиная с состояния 2, и последний столбец соответствует ходам, начиная с состояния 6.

Три периодических подкласса очевидны.

Просмотрите реализованную матрицу переходов 100 случайных прогулок как тепловую карту.

figure;
simplot(mc,X1,'Type','transitions');

Figure contains an axes. The axes with title Transitions Realized By Simulations contains an object of type image.

Визуально сравните реализованные и теоретические матрицы перехода.

figure;
imagesc(mc.P);
colormap('jet');
axis square;
colorbar;
title('Theoretical Transition Matrix')

Figure contains an axes. The axes with title Theoretical Transition Matrix contains an object of type image.

Матрицы переходов аналогичны.

См. также

Объекты

Функции

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте