APP下载

Markov模型的R实现及在卫生经济学评价中的应用*

2018-11-05中国疾病预防控制中心妇幼保健中心100081

中国卫生统计 2018年5期
关键词:效用经济学概率

中国疾病预防控制中心妇幼保健中心(100081)

屈水令 潘晓平 王爱玲 张 彤△

【提 要】 目的 应用R软件heemod包开展Markov模型在卫生经济学评价中的应用研究。方法 Markov模型的数学基础是随机过程理论,可用于模拟疾病发生发展状态。应用R软件heemod包,通过函数实现Markov模型在卫生经济学评价。结果 Markov模型的数学基础是随机过程理论,可用于模拟疾病发生发展状态,以HIV感染者进行抗病毒治疗作为示例,运用heemod包中define_transition()、define_state()、define_strategy()、run_model()等函数定义模拟疾病的转移状态、对各个状态的成本及健康效用赋值、运行模型,开展卫生经济学评价并用实例演示了实现过程,对敏感性、确定性等评价进行了介绍。结论 应用R软件heemod包可实现Markov模型卫生经济学评价,R软件heemod包易于学习掌握、展示功能强,在此推荐给卫生经济学评价学习者及研究者。

Markov模型在卫生经济学评价中应用的基本原理是利用Markov模型将疾病根据专业知识划分为几个疾病状态(也称Markov状态),分别统计每个状态中消耗的资源(成本)与产出(卫生活动效果、健康效用、经济效益),根据疾病状态(如艾滋病临床I、II、III期)间的转移概率和转移周期,在设定的一定期限内,通过多次转移(循环)计算总成本和产出[1]。Markov模型解决了疾病状态转移的不确定性(转移概率)问题,并将成本、产出等有效结合起来,是卫生经济学评价常用的模型之一。

利用Markov模型进行卫生经济学评价计算复杂,常用的方法一是借助专业统计软件,如商用的TreeAge;二是基于excel编辑公式实现。但是可操作性、结果展示等问题不利于该方法的实现和推广。免费的R软件有一套完整的数据处理、计算和制图软件系统,且通过其模块(package,包)可实现大量的功能。2017年5月9日,R官方网站发布了heemod(models for health economic evaluation)包[2],该包为Markov模型在卫生经济评价中的应用,包括确定性、敏感性、异质性分析,还可对非齐性Markov模型(半Markov模型,状态转移概率随时间改变)、转移概率不确定模型进行分析。

本研究利用R软件(https://www.r-project.org/),通过对Markov模型基本原理、heemod包及有关函数的介绍,并通过示例展示其编写计算程序实现Markov模型在卫生经济学评价中的应用,以期为卫生经济学评价的研究者提供更易操作、简便的方法。

模型介绍

1.Markov模型基本原理

2.Markov模型在卫生经济学评价中的基本应用

卫生经济学研究的中心问题是解决资源稀缺性和需求无限性的矛盾,评价的基本方法有成本效果分析、成本效益分析、成本效用分析、成本最小化分析,常用的模型有决策树模型和Markov模型。

Markov模型用于评价卫生活动或项目长期的效果、效益和效用分析,其基本步骤:第一,根据研究目的,依据疾病的严重程度、诊疗标准等因素,估计患者的平均病程期限或存活时间,将疾病划分为几个疾病状态(如艾滋病临床I、II、III期)(这里称Markov状态,Xn);第二,通过调查或查阅文献确定疾病状态(Xn)间的转移周期(如1年)和转移概率(Pij);第三,通过调查或查阅文献确定各个状态的成本和产出(效果、效益、效用);第四,运用软件进行模拟计算整个病程或存活时间的成本和产出;第五,根据研究目的,进行成本效果、成本效益或成本效用分析。通过对卫生经济活动中投入(成本)和产出(效果、效用、效益)的测量,利用统计模型进行分析与研究。

3.R软件heemod包用法简介和示例

在安装R软件的基础上,heemod包可以通过install.packages(“heemod”)命令来实现。利用heemod进行卫生经济学评价前,先根据专业知识将疾病分为几个状态,确定疾病发生发展总时长、各状态的转移概率和周期(循环周期),从而获得各状态每周期消耗的资源产出。其实现过程需以下几个步骤及程序。

(1)定义状态间转移概率

各个状态间转移概率用define_transition()来定义,括号内输入转移概率矩阵,mat_trans <- define_transition()。

(2)给各状态赋值

各状态成本或效用值使用函数define_state(cost=**,untility=**),通过变量名称给不同状态赋值,如 state_A <- define_state(cost=***,untility=**)。

(3)联合状态转移概率及赋值

将状态转移概率及各个状态赋值后,用define_strategy()函数将二者结合起来,model<- define_strategy(transition = mat_trans, state_A,state_B)

通过重复(1)~(3)过程,可设置不同卫生干预策略,定义不同model,进而开展不同策略下成本-产出分析研究。

(4)模型运行

模型运行用run_model()函数,函数语法为run_model(model,cycles =n,cost = cost,effect = utility)

model表示步骤(3)定义的模型,可用model1、model2设置模型,n为疾病发展总时长,cost、effect分别表示成本和效果。

实例分析

1.示例数据模拟

本研究模拟现有10000例HIV感染者接受抗病毒治疗的情景。设定HIV(感染而不发病状态)者、AIDS(发病状态)、死亡等三种状态(见图1),HIV感染者存活年限设定为10年,循环周期为1年,三种状态每年消耗的资源(成本)、健康效用值QALY(产出)及年转移概率见表1。

图1 HIV感染者Markov状态转移图

状态每年成本(元)健康效用值状态间年转移概率矩阵HIVAIDSDeathHIV160000.8889%6%5%AIDS360000.700%93%7%Death00.000%0%100%

卫生经济学评价常用对不同卫生政策(策略)进行比较分析。现假设第二种策略,HIV感染者不进行抗病毒治疗,自然状态下存活10年,仍用1年为一个循环周期,模拟HIV感染人数仍为10000人,模拟数据基本情况见表2。

表2 HIV感染者未抗病毒治疗的模拟数据

2.R软件实现过程

#1 define_transition函数定义HIV,AIDS,Death间转移概率Pij。

mat_trans <- define_transition(

0.89,0.06,0.05,

0,0.93,0.07,

0,0,1.00

)

#2 define_state函数给不同疾病状态下成本(每年)及健康效应赋值。

state_HIV <- define_state(

cost=16000,

utility=0.88

)

参照以上语句,给AIDS、Death两个状态赋值。

state_AIDS <- define_state(

cost=36000,

utility=0.70

)

state_Death <- define_state(

cost=0,

utility=0

)

#3 define_strategy函数设定模型:联合疾病状态转移概率及赋值。

Model1<- define_strategy(

transition = mat_trans1,

state_HIV1,

state_AIDS1,

state_Death1

)

可参照以上语句定义model2。

#4 run_model函数构建模型运行。

res_mod <- run_model(

model1,model2,

init = c(10000,0,0),

cycles = 10,

cost = cost,

effect = utility

)

res_mod

init代表模型开始时HIV、AIDS、Death的初始人群分别为10000、0、0人,cycles=10,代表10个循环。

model2是以未进行抗病毒治疗作为对照组设定的治疗模式,其基本参数见表2。

#5 运行模型,展示结果。

res_mod

3.结果输出及解释

#第一部分结果显示,计算方法使用的寿命表法。

Counting method:‘life-table’。

#第二部分结果显示,两个模型的总成本、总效用。

#第三部分结果显示,有效投资组合理论显示第一种模型优于第二种模型。

Efficiency frontier:II -> I

#第四部分结果显示,相对于第一种模型,第二种模型的成本-效用比更高,ICER(增量成本效果比)为28756.38。

图2 结果输出

图3 Markov模型用寿命表法模拟队列生存分析图

图3形象展示了model1的效果明显好于model2,model1的死亡率远低于model2。

4.敏感性等其他分析

在R软件heemod包中可分别用define_dsa()函数和define_psa()函数对确定性和灵敏性进行分析。确定性是指变量参考变化是确定的,而define_psa()函数的敏感性分析可对符合某概率的变量参数进行分析研究。

非齐性Markov模型(半Markov模型)是指状态转移时间间隔随机,每个状态转移时间间隔不恒定。非齐性Markov模型可用define_parameters()、define_state()、define_transition()等函数来定义[4]

转移概率不确定Markov模型使用define_parameters()函数在定义状态前定义参数[5]。

讨 论

卫生经济学中常用的评价方法有成本-效果分析、成本-效益分析、成本-效用分析和成本最小化分析[4,6],由于疾病状态发生发展的随机性及相应发病概率和转移概率问题,Markov模型在卫生经济学评价上有广泛的实用性和不可替代的作用,Markov模型应用范围包括发病率预测[5,7]、胃癌卫生经济学评价[6,8]、艾滋病抗病毒的成本效果分析[7,9]等。

王倩等介绍了Markov模型[1],但是计算过程使用了列表计算。刘美娟等则重点介绍了Markov模型的构建过程[8,10],但没有介绍实现的软件或计算的具体方法。卫生经济学评价中有用Treeage Pro软件进行[9-12],也有部分过程借助SAS软件实现[6,8]。R软件作为一种免费软件,应用越来越广泛。Markov模型本身在R中已有markovchai,mcmc,msm,MSwM等多个包可以实现,但是专门用于卫生经济学中的Markov模型应用包heemod于2017年5月才发布在官网,在R官网均可查阅heemod的介绍和应用,但是还没有查到有人在我国进行介绍推广。R软件heemod包可实现成本-效果、成本-效用和成本-效益等评价,还可实现确定性、敏感性、异质性分析,R软件本身易于操作、展示功能强,即使没有计算机编程语言的基础,也可通过学习掌握基本的语句实现卫生经济学评价的功能。本研究介绍了heemod包,并用示实例演示了基本用法,可供卫生经济学评价学习者及研究者参考。

猜你喜欢

效用经济学概率
移民与健康经济学
第6讲 “统计与概率”复习精讲
第6讲 “统计与概率”复习精讲
概率与统计(一)
概率与统计(二)
呼和浩特市中心城区低效用地潜力分析
简明经济学
小学美术课堂板书的四种效用
送餐的巫术经济学 精读
高等院校对我国残疾人冰雪运动发展的效用研究