r / msm-пакет / как подогнать и получить дискретное время, однородные по времени вероятности перехода?

#r #markov-chains

#r #цепи Маркова

Вопрос:

У меня есть последовательность состояний и соответствующие месяцы.

 mcdata <- structure(list(state = structure(c(2L, 1L, 2L, 2L, 2L, 2L, 4L, 
4L, 2L, 4L, 2L, 3L, 1L, 3L, 2L, 2L, 2L, 4L, 2L, 3L, 4L, 2L, 3L, 
3L, 3L, 3L, 3L, 1L, 4L, 2L, 3L, 2L, 2L, 4L, 3L, 2L, 4L, 3L, 2L, 
2L, 3L), .Label = c("1", "2", "3", "4"), class = "factor"), month = c(1, 
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 
36, 37, 38, 39, 40, 41)), .Names = c("state", "month"), class = "data.frame",    
row.names = c(NA,-41L))
  

Переходы происходят в точное и дискретное время. Процесс может перейти в любое состояние в любое (дискретное) время. Я работаю с предположением, что вероятности перехода не зависят от времени.

Я заинтересован в получении вероятностей перехода на один шаг для ситуации, описанной выше, с msm-пакетом, который рассчитан на непрерывное время, но имеет несколько привлекательных функций, которые я хочу использовать позже.

Все переходы разрешены:

 transitions_allowed <- matrix(c( 
    1,1,1,1,
    1,1,1,1, 
    1,1,1,1,
    1,1,1,1), nrow=4, ncol=4, 
    byrow=TRUE, 
    dimnames=list(from=1:4,to=1:4)) 
  

чтобы получить грубые начальные значения и вероятности перехода с точным временем:

 library(msm)
crudein <-crudeinits.msm(state ~ month, data=mcdata, qmatrix=transitions_allowed)
mod <- msm(state ~ month, data = mcdata, qmatrix = crudein, exacttimes=TRUE)
pmatrix.msm(mod,t=1)
  

Я считаю, что результирующие вероятности перехода pmatrix.msm неверны для моей ситуации (например, в состоянии последовательности «1» не сразу следует состояние «1»): дискретное точное время и вероятности перехода, однородные по времени.

Я определил exacttimes=TRUE и вижу, что формула по-прежнему включает месяц в качестве объясняющей переменной. Замена «состояние ~ месяц» на «состояние ~». не помогает.

Начальные значения также могут быть проблематичными. Изменение их на вероятности перехода, вычисленные с помощью «цепочки маркова», не изменило ситуацию.

Могу ли я что-нибудь сделать, чтобы решить эту проблему с помощью msm-package? Спасибо.

Ответ №1:

В msm вы должны предположить, что в основе данных лежит некоторый непрерывный марковский процесс, поэтому все модели должны быть параметризованы матрицей интенсивности перехода, даже если вас интересуют только вероятности перехода. Я не думаю, что существует какая-либо модель Маркова с непрерывным временем, в которой существует нулевая вероятность остаться в том же состоянии в одну единицу времени позже, поскольку время пребывания в каждом состоянии имеет экспоненциальное распределение.

Комментарии:

1. Спасибо. Мне нужно использовать другие пакеты для случаев с дискретным временем.