从面板或时间序列数据计算马尔可夫模型的转移矩阵

问题描述

我有一个以下结构的患者数据集,这些患者在几天内受到监控,我可以得出他们在特定日期处于何种“健康状态”的结果。

df <- data.frame(PatientID = c(1,1,2,3,4,5,5),Day = c(1,6,7,8,9,10,11,12,13,14,15,10),HealthState = c("HS1",NA,"HS2","DEATH","HS3","disCHARGE","HS1","DEATH"))

我想创建一个转换概率矩阵,其中包含从一种健康状态转换到另一种健康状态的患者数量(例如,N 个患者从 HS1 移动到 HS2)。需要注意的是,处于“死亡”或“出院”健康状态的患者不能再回到“HS1”、“HS2”或“HS3”,因为“死亡”和“出院”发生在最后一个“DAY” .

我试过了

library(markovchain)
MC1 <- markovchainFit(df$HealthState)

但是,这不考虑日期或患者 ID,因此概率是错误的,因为这允许处于出院或死亡健康状态的患者再次过渡到 HS1、HS2 或 HS3。例如,这里是 MC1 的输出图像:

OUTPUT OF MC1

如您所见,出院的患者不应成为 HS1、HS2 或 HS3。这里也是模型的概念图。任何帮助将不胜感激。

MARKOV STATE DIAGRAM

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)