В этом примере показано, как сгенерировать и визуализировать случайные прогулки по марковской цепи.
Рассмотрим эту теоретическую, правостохастическую переходную матрицу стохастического процесса.
Создайте марковскую цепь, которая характеризуется переходной матрицей 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 шагов по цепи. Начните в случайном начальном состоянии.
rng(1); % For reproducibility
numSteps = 20;
X = simulate(mc,numSteps);
X
вектор 21 на 1, содержащий индексы состояний, посещаемых во время случайной прогулки. Первая строка содержит реализованное начальное состояние.
Постройте тепловую карту случайной прогулки.
figure; simplot(mc,X);
Время возврата в любое состояние кратно трем.
Показать случайную прогулку по цепи Маркова как анимацию через диграф. Задайте скорость системы координат 1 секунду.
figure; simplot(mc,X,'FrameRate',1,'Type','graph');
Симулируйте 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);
X1
является матрицей 20 на 100 случайных ходов. Первые 50 столбцов соответствуют ходам, начиная с состояния 1, следующие 49 столбцов соответствуют ходам, начиная с состояния 2, и последний столбец соответствует ходам, начиная с состояния 6.
Три периодических подкласса очевидны.
Просмотрите реализованную матрицу переходов 100 случайных прогулок как тепловую карту.
figure; simplot(mc,X1,'Type','transitions');
Визуально сравните реализованные и теоретические матрицы перехода.
figure; imagesc(mc.P); colormap('jet'); axis square; colorbar; title('Theoretical Transition Matrix')
Матрицы переходов аналогичны.