第 51 个主题,共 91 个· 卫生技术评估框架与预防经济学
马尔可夫队列模拟 (Markov Cohort Simulation)
马尔可夫队列模型是 HTA 中的标准建模技术,适用于其效果不是一次性出现、而是跨多个时期(周期)展开的干预。一个假想的队列全部从某一健康状态开始,每个周期由一组固定的转移概率在状态之间移动队列的各部分;成本和 QALY 在每个周期按占据各状态的队列比例累积,然后折现到现值。任何为多年期数字健康商业论证建模的软件工程师——用户或患者随时间在“已参与”“已流失”“已取消”等状态之间移动——构建的都是同样的结构。
为什么重要
大多数真实的卫生技术决策并不是单个时期的成本与结果的比较。慢性病会在多年中进展、复发、对治疗产生反应或致命,而单时期的成本效果分析无法表示这一点。通过卫生技术评估评估的慢性病干预,其向 NICE、ICER 和 CADTH 提交的材料几乎总是构建成具有终身时间范围的马尔可夫队列模型,因为替代方案——对每一条可能的个体患者路径建模——在大规模下无法求解。队列层面的马尔可夫模型用一部分个体层面的真实性(它难以表示对先前状态的记忆,这就是“马尔可夫”的由来:未来只取决于当前状态)换取一个透明、可审计、且快到足以在概率敏感性分析中运行数千次的模型。
计算方法
一个周期内的队列更新(行向量 × 转移矩阵):
新状态[j] = 求和_i 状态[i] * 转移矩阵[i][j]
一个周期的成本:
周期成本 = 求和_s 状态[s] * 每周期成本[s]
一个周期的 QALY:
周期_qaly = 求和_s 状态[s] * 效用[s] * 周期长度_年
在 `周期数` 个周期上、以 `折现率` 折现的完整模拟:
折现成本合计 = 求和_{t=0}^{周期数-1} 周期成本(状态_t) / (1 + 折现率)^t
折现_qaly合计 = 求和_{t=0}^{周期数-1} 周期_qaly(状态_t) / (1 + 折现率)^t
其中 状态_0 = 初始分布,状态_{t+1} = 推进队列(状态_t, 转移矩阵)
把每个周期折现到现值,用的正是贴现与时间偏好的公式,只是逐周期而非逐年应用。
算例
临床:一个 2 状态模型——健康 和 死亡——每个周期有 10% 的队列死亡,死亡 是吸收状态(停留在自身的概率为 1.0;没有这个自环,队列的质量在 死亡 中一个周期后就会消失)。队列全部从 健康 开始,处于 健康 时每周期成本 £1,000(死亡 时为 £0),处于 健康 时每年获得 0.8 QALY。按 NICE 的 3.5% 折现率模拟 3 个年度周期:
周期 0:状态 = [1.00, 0.00](100% 健康)
成本 = £1,000.00,qaly = 0.800,折现因子 = 1.000000
折现后:成本 = £1,000.00,qaly = 0.8000
周期 1:状态 = [0.90, 0.10](90% 健康,10% 死亡)
成本 = £900.00,qaly = 0.720,折现因子 = 0.966184
折现后:成本 = £869.57,qaly = 0.6957
周期 2:状态 = [0.81, 0.19](81% 健康,19% 死亡)
成本 = £810.00,qaly = 0.648,折现因子 = 0.933511
折现后:成本 = £756.14,qaly = 0.6049
折现成本合计 ≈ £2,625.71
折现 QALY 合计 ≈ 2.1006
每个周期的状态都是上一周期的状态经过转移矩阵的结果——周期 1 中仍为 健康 的 90% 里有 90% 在周期 2 仍为 健康(0.9 × 0.9 = 0.81),其余 19% 已经死亡(0.9 × 0.1 + 0.1 × 1.0 = 0.19)。注意队列永远不会把 健康 状态完全清空:在每周期恒定 10% 死亡率且无返回的情况下,健康 比例呈几何衰减,在任何有限周期数内都不会降到零。
与软件工程的关联
关于多周期 HTA 模型在实际评估中如何使用,见卫生技术评估——基础案例规定了所提交的马尔可夫模型必须使用的折现率、效用来源和时间范围。
马尔可夫队列模型在结构上是一个带概率转移的状态机,运行固定数量的时钟节拍,每一拍对价值折现。同样的形状可模拟用户队列的留存/状态转移随时间的变化——可靠性版本见 DORA 指标:“在这一时期,系统有多大比例处于降级状态,成本是多少”。具体而言:
- 留存/流失建模就是带有“活跃”“有风险”“已流失”等状态的马尔可夫队列模型:一个固定的月度转移矩阵,运行 12 或 24 个月度周期,即可给出未来任一月份的期望活跃用户数(及收入),就像
健康/死亡给出期望存活者一样。 - 可靠性与事故经济学:系统状态(健康、降级、宕机)可以同样建模,用“每周期成本”表示系统处于降级/宕机状态期间累积的停机损失——把事故频率的论证变成折现成本的论证,可与会改变转移概率的可靠性工作的成本相比较。
- 吸收状态作为终止状态:临床模型中的
死亡就是软件模型中的“已取消订阅”或“永久离线”——两者都需要明确的、停留在自身的概率 1.0,否则模拟会悄悄丢失质量。
陷阱
- 转移概率按行之和不为 1。 行之和大于或小于 1,会使队列质量在每个周期悄悄“泄漏”或“增生”——在信任模型输出之前,务必检查各行之和,因为模型结构本身不会提示这个错误。
- 周期长度对疾病的真实动态来说太粗。 对几周内就会变化的状态使用年度周期,会低估周期内部的转移;应选择相对于所建模过程实际变化速度而言较短的周期长度。
- 忘记吸收状态的自环。 吸收状态(死亡、永久取消)需要恰好为 1.0 的停留自身概率。若省略,队列质量在一个周期后就会从该状态蒸发,累计成本或 QALY 损失被低估。
- 因为模型能运行就认为它已通过验证。 转移概率看似合理的马尔可夫队列模型仍可能在结构上错误(缺少状态、吸收行为不对);在信任输出之前,应对照已知的流行病学基准进行验证(例如模拟的 5 年生存率是否与已发表的生存曲线吻合)。
参考来源
- Sonnenberg FA, Beck JR. "Markov models in medical decision making: a practical guide." Medical Decision Making. 1993;13(4):322-38. https://pubmed.ncbi.nlm.nih.gov/8246705/
- Briggs A, Sculpher M. "An introduction to Markov modelling for economic evaluation." PharmacoEconomics. 1998;13(4):397-409. https://pubmed.ncbi.nlm.nih.gov/10178664/