подцепь

Извлеките подцепь Маркова

Синтаксис

sc = subchain(mc,states)

Описание

пример

sc = subchain(mc,states) возвращает подцепь sc, извлеченный от дискретной цепи Маркова mc. Подцепь содержит состояния states и все состояния, которые достижимы от states.

Примеры

свернуть все

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

P=[01000.500.50000.50.5000.50.5].

Создайте Цепь Маркова, которая характеризуется матрицей P перехода.

P = [0 1 0 0; 0.5 0 0.5 0; 0 0 0.5 0.5; 0 0 0.5 0.5];
mc = dtmc(P);

Постройте ориентированного графа Цепи Маркова. Визуально идентифицируйте связывающийся класс, которому каждое состояние принадлежит при помощи цветов узла.

figure;
graphplot(mc,'ColorNodes',true);

Определите стационарное распределение Цепи Маркова.

x = asymptotics(mc)
x = 1×4

    0.0000    0.0000    0.5000    0.5000

Цепь Маркова в конечном счете поглощена в состояния 3 и 4, и последующие переходы являются стохастическими.

Извлеките текущую подцепь Цепи Маркова путем передачи mc subchain и определения одного из состояний в текущем, апериодическом классе передачи.

sc = subchain(mc,3);

sc является объектом dtmc.

Постройте ориентированного графа подцепи.

figure;
graphplot(sc,'ColorNodes',true)

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

P=[0.50.50000.50.50000.50.5000.50.5].

Создайте Цепь Маркова, которая характеризуется матрицей P перехода. Назовите Режим состояний 1 через Режим 4.

P = [0.5 0.5 0 0; 0 0.5 0.5 0; 0 0 0.5 0.5; 0 0 0.5 0.5];
mc = dtmc(P,'StateNames',["Regime 1" "Regime 2" "Regime 3" "Regime 4"]);

Постройте диграф цепочки. Визуально идентифицируйте связывающийся класс, которому каждое состояние принадлежит при помощи цветов узла.

figure;
graphplot(mc,'ColorNodes',true);

Режимы 1 и 2 находятся в их собственном классе передачи, потому что Режим 2 не переходит к Режиму 1.

Извлеките подцепь, содержащую Режим 2, переходное состояние. Отобразите матрицу перехода подцепи.

sc = subchain(mc,"Regime 2");
sc.P
ans = 3×3

    0.5000    0.5000         0
         0    0.5000    0.5000
         0    0.5000    0.5000

Режим 1 не находится в подцепи.

Постройте диграф подцепи.

figure;
graphplot(sc,'ColorNodes',true);

График показывает unichain: Цепь Маркова, содержащая один текущий класс передачи и выбранный переходный класс.

Входные параметры

свернуть все

Дискретная цепь Маркова с состояниями NumStates и матрицей перехода P, заданный как объект dtmc.

Состояния, чтобы включать в подцепь, заданную как числовой вектор положительных целых чисел, представляют в виде строки вектор или вектор ячейки векторов символов.

  • Для числового вектора элементы states соответствуют строкам матрицы перехода mc.P.

  • Для вектора строки или вектора ячейки векторов символов, элементы states должны быть именами состояния в mc.StateNames.

Пример: ["Regime 1" "Regime 2"]

Типы данных: double | string | cell

Выходные аргументы

свернуть все

Дискретная цепь Маркова, возвращенная как объект dtmc. sc является подцепью mc, содержащего состояния states и все состояния, достижимые от states. Имена состояния подцепи sc.StateNames наследованы от mc.

Алгоритмы

  • j состояния является reachable от i состояния, если существует ненулевая вероятность перемещения от i до j в конечном числе шагов. subchain определяет достижимость путем формирования переходного закрытия связанного диграфа, затем перечисления переходов с одним шагом.

  • Подцепи закрываются под достижимостью, чтобы гарантировать, что матрица перехода sc остается стохастической (то есть, сумма строк к 1), с вероятностями перехода, идентичными вероятностям перехода в mc.P.

  • Если вы задаете состояние в текущем классе передачи, то subchain извлекает целый класс передачи. Если вы задаете состояние в переходном классе передачи, то subchain извлекает переходный класс и все классы, достижимые от переходного класса. Чтобы извлечь unichain, задайте состояние в каждом переходном классе компонента. Смотрите classify.

Ссылки

[1] Gallager, R.G. Стохастические процессы: теория для приложений. Кембридж, Великобритания: Издательство Кембриджского университета, 2013.

[2] Рог, R. и К. Р. Джонсон. Анализ матрицы. Кембридж, Великобритания: Издательство Кембриджского университета, 1985.

Смотрите также

Введенный в R2017b