基于FP-Growth算法的精神障碍用药ADR关联挖掘与预警
2017-11-23叶明全童九翠杭荣华
叶明全,童九翠,胡 骅,盛 鑫,杭荣华
1.皖南医学院医学信息学院,芜湖 241002; 2.皖南医学院第一附属医院弋矶山医院临床药学部,芜湖 241001; 3.皖南医学院心理学教研室,芜湖 241002;4.安徽省药物临床评价中心,芜湖 241001
基于FP-Growth算法的精神障碍用药ADR关联挖掘与预警
叶明全1,童九翠2,4,胡 骅2,4,盛 鑫3,杭荣华3
1.皖南医学院医学信息学院,芜湖 241002; 2.皖南医学院第一附属医院弋矶山医院临床药学部,芜湖 241001; 3.皖南医学院心理学教研室,芜湖 241002;4.安徽省药物临床评价中心,芜湖 241001
针对目前国内精神障碍用药ADR信号挖掘与自动预警存在的问题,将基于FP-Growth算法的关联规则挖掘方法引入ADR检测和预警领域,提出基于关联规则的精神障碍用药ADR预警系统框架。该系统针对精神障碍用药ADR数据进行预处理,并利用FP-Growth算法较快地挖掘出隐含在ADR数据间的频繁项集,生成一些合理、可靠的强关联规则,从而为精神障碍用药ADR关联规则挖掘与预警系统提供一种新方法,为精神障碍用药安全提供临床决策依据。
药品不良反应;ADR预警系统;数据挖掘;关联规则;FP-Growth算法
1 相关研究与问题提出
精神障碍(mental disorders)是指大脑机能活动发生紊乱而导致精神活动(认知、情感、行为和意志等)存在不同程度的障碍。其中,抑郁症是一种常见的情感障碍,发病率呈现出逐年上升的发展趋势[1-3]。据世界卫生组织(WHO)统计,抑郁症已成为全世界第四大疾患,预计到2020年抑郁症发病率可能成为仅次于冠心病的第二大疾病[1]。随着医药卫生科技的迅猛发展,抗精神障碍类药品安全性研究日益受到国内外药物研究领域的重视[1-2]。近年来,因药品不良反应(Adverse Drug Reaction,ADR)而引起的药品安全性事件频频见诸报端[4-6]。据WHO统计,因ADR住院的病人占住院总人数的5%~10%,而住院病人中发生ADR的比例为10%~20%,致死率达 0.24%~2.9%。ADR已经严重威胁着人类的健康,成为一个严重的公共卫生问题[4-13]。
药品不良反应(ADR)检测是药品上市后再评价、药品风险管理和药物警戒的重要内容,对其进行监测的重要手段是自发呈报系统(Spontaneous Reporting System,SRS)[4-6]。从海量的ADR自发呈报数据中,快速准确地发现ADR信号,需要数据挖掘(Data Mining,DM)方法[5-13]。由于医院电子病历(Electronic Medical Records,EMR)和居民电子健康档案(Electronic Health Records,EHR)中包含大量患者的临床症状、生理生化指标、电子处方等信息[14],一些研究者融合ADR自发报告和电子病历[7](或电子健康档案[8-10]),开展ADR信号检测与挖掘研究,发现一些潜在的药品导致不良反应。自Agawal于1993年提出经典的关联规则挖掘Apriori算法以来,关联规则挖掘在DM研究领域引起广泛的关注[15-18]。Apriori算法可以从大量数据中挖掘出有价值的数据项间潜在的内在联系,发现满足给定支持度和可信度阈值的多个数据项之间蕴涵的依赖关系。针对Apriori 算法生成候选项目集过大的问题,Han等提出一种基于频繁模式树(Frequent Pattern Tree,FP-Tree)生成频繁项目集的FP-Growth算法,极大地提升生成频繁项目集的效率[16]。一些研究者将多维关联规则挖掘、因果关联挖掘等应用于ADR信号检测与预警领域[11-13],但针对精神障碍用药ADR关联挖掘与自动预警研究较少。
本文将基于FP-Growth算法的关联规则挖掘方法引入精神障碍用药ADR预测预警领域,提出基于关联规则的ADR预警系统框架。该系统能够通过ADR数据预处理、ADR预警规则生成和ADR预警信息发布等三大模块,针对精神障碍用药ADR数据进行预处理,并利用FP-Growth算法较快地挖掘出隐含在ADR数据间的频繁项集,生成一些合理、可靠的强关联规则,从而为精神障碍用药ADR关联挖掘与预警系统提供一种新方法,为精神障碍临床用药安全提供决策依据。
2 关联规则挖掘FP-Growth算法
定义1设项集I={I1,I2,…,Im}是由m个不同项所构成的集合,其中Ik(1≤k≤m)称为一个项。
定义2设事务数据集D={T1,T2,…,Tn}是由n个不同事务(或交易)所构成的集合,其中事务Ti(1≤i≤n)是项集I的一个子集,且Ti中存在一个唯一事务标识号,记作TID。
定义3关联规则R是形如A→B的蕴涵式,其中AI称为关联规则A→B的前提,BI称为关联规则A→B的结论,且A∩B=。
定义4关联规则A→B的支持度Support (A→B)和置信度Confidence(A→B)分别定义为:
(1)
(2)
其中,Count(A)表示事务数据集D中包含A的事务数,|D|表示事务数据集D中事务总数。
定义5设关联规则最小支持度和最小可信度分别为minS、minC,若关联规则A→B同时满足Support(A→B)≥minS和Confidence(A→B)≥ minC,则称关联规则A→B为强关联规则。
关联规则挖掘过程就是根据人为设定的两个阈值minS和minC,首先找出事务数据集D中所有满足最小支持度(minS)的频繁项集;然后根据频繁项集生成所有关联规则,并筛选出所有满足最小可信度(minC)的强关联规则。
FP-Growth算法是针对Apriori算法需要生成大量候选短频繁项集缺点而提出的一种关联规则挖掘改进算法,其主要步骤:(1)根据事务数据集构建频繁模式树(FP-Tree);(2)根据FP-Tree递归挖掘频繁项集。
构建FP-Tree是通过两次扫描事务数据集,将事务压缩生成一个FP-Tree数据结构。FP-Tree是一种特殊的前缀树,由频繁项头表和项前缀树构成。其中,树分支标识项名,树节点存储后缀项,树路径表示项集。不同项集可以共用相同前缀的路径,从而达到压缩数据的目的。
构建FP-Tree的主要步骤如下:
Step1第一遍扫描事务数据集,找出频繁1-项集L1,按按支持度降序排序。
Step2第二遍扫描事务数据集,以“Null”为根节点,构建FP-Tree:
(1)对每个事务,过滤不频繁集,剩下的频繁项集按L1顺序排序;
(2)将每个事务中频繁1-项集插入到FP-Tree中,并共用相同前缀;
(3)增加一个频繁项头表,连接FP-Tree中相同事务项,并按照其支持度降序排序。
FP-Tree递归挖掘频繁项集主要过程是通过通过FP-Tree构建每个事务项的条件模式基(Conditional Pattern Base,CPB)、条件频繁模式树(conditional FP-Tree),递归挖掘条件FP-Tree获取所有的频繁项集,其主要步骤为:
Step1从频繁项头表最下面的事务项开始构造每个事务项的CPB:顺着频繁项头表中事务项的链表,寻找所有包含该事务项的前缀路径,构造该事务项的CPB,并将CPB的频繁度(计数)设为该路径上事务项的频繁度(计数)。
Step2构建条件FP-Tree:累加每个CPB上事务项的频繁度(计数),过滤低于给定阈值的事务项,构造条件FP-Tree。
Step3获取所有的频繁项集:递归挖掘每个条件FP-Tree,累加后缀频繁项集,直到FP-Tree为空或FP-Tree只含一条路径。
3 基于FP-Growth算法的精神障碍用药ADR预警系统
基于FP-Growth关联规则挖掘算法的ADR预警工作可分为两个核心过程:(1)根据ADR历史数据生成ADR预警规则;(2)根据ADR预测数据发布预警信息。
图1所示为本文提出的基于FP-Growth算法的精神障碍用药ADR预警系统框架,主要包括ADR数据预处理、ADR预警规则生成和ADR预警信息发布三大模块。
(1)ADR数据预处理模块:通过数据清理、数据集成、数据变换和数据归约等技术对精神障碍用药ADR原始数据进行预处理,改善ADR数据质量,便于后续数据挖掘工作。
图1 基于FP-Growth算法的ADR预警系统框架
(2)ADR预警规则生成模块:由FP-Growth算法对ADR预处理数据进行挖掘,根据预警系统设置最小支持度阈值minS和最小可信度阈值minC,自动生成ADR预警关联规则。同时,根据更新的历史数据动态生成ADR预警关联规则库。
(3)ADR预警信息发布模块:根据ADR预警关联规则对用户输入的精神障碍用药信息进行预测判断,发布相应的预警信息。
4 实验结果及分析
本实验研究所采用的数据来源于某医院2012~2016年精神障碍患者用药后发生的药品不良反应(ADR)报告进行预处理,剔除无效和错误数据,最后保留1 916份报告,得到1 916个事务组成的事务数据集,用于关联规则挖掘,其中每份报告(事务)涉及的信息包括患者性别、患者年龄、原患疾病、精神障碍用药名称、药品不良反应(ADR)名称、药品不良反应(ADR)程度、药品不良反应(ADR)结果等数据项,如表1所示。
表1 精神障碍用药ADR预处理数据集
为了探索精神障碍用药中药品不良反应(ADR) 与用药人群(性别、年龄、原患疾病等)、药品之间的关联性,通过多次试验来合理设置FP-Growth 算法中两个阈值:最小支持度minS和最小可信度minC,可获取合理且有价值的强关联规则,生成预警规则库:(1)当minS=0.01和minC=0.81时可以获取12条强关联规则,如表2 所示;(2)当minS=0.02和minC=0.81时可以获取5 条强关联规则,如表3 所示。
表2 精神障碍用药ADR的关联规则表(minS=0.01,minC=0.81)
根据表2和表3的预警规则库,可构建满足不同最小支持度(minS)和最小可信度(minC)阈值下的精神障碍患者用药ADR预警系统。该系统可从用药人群(涉及患者性别、患者年龄、原患疾病)和用药药品名等四个维度进行预警。当输入用药人群、用药药品名等信息时,可与预警规则库进行匹配,输出预警信息,为临床医生或药师提供临床用药决策支持,从而实现针对不同用药人群应谨慎用药。
表3 精神障碍用药ADR的关联规则表(minS=0.02,minC=0.81)
预警系统可以根据最小支持度(minS)和最小置信度(minC)阈值的设置,提供不同级别的预警信息。例如,当系统输入“精神分裂症”女性患者用药时,ADR预警结果分别如下。
(1)根据表2提供的预警规则库,可输出2条预警信息:一是(性别=“女”,原患疾病=“精神分裂症”,年龄=“40~50”,用药名=“利培酮片”→ADR=“锥体外系反应”,33,0.83),表示性别=“女”、年龄=“40~50”且原患疾病=“精神分裂症”的患者服用“利培酮片”有83%的可能性发生“锥体外系反应”,预警支持度是1.7%,预警准确度是83%;二是(性别=“女”,原患疾病=“精神分裂症”,用药名=“阿立哌唑片”→ADR=“锥体外系反应”,48,0.81),表示性别=“女”且原患疾病=“精神分裂症”的患者服用“阿立哌唑片”有81%的可能性发生“锥体外系反应”,预警支持度是2.5%,预警准确度是81%。
(2)根据表3提供的预警规则库,仅仅输出1条预警信息,即(性别=“女”,原患疾病=“精神分裂症”,用药名=“阿立哌唑片”→ADR=“锥体外系反应”,48,0.81)。
5 结束语
本文通过基于FP-Growth算法的ADR关联规则挖掘,构建基于关联规则的精神障碍用药ADR预警系统,应用某医院精神障碍用药真实数据进行实证研究,通过设置两个合理阈值(最小支持度minS和最小置信度minC)进行精神障碍用药相关性的关联规则挖掘,可以快速生成精神障碍用药ADR关联规则库:(1)minS=0.01和minC=0.81时可得12条强关联规则;(2)minS=0.02和minC=0.81时可得5条强关联规则。通过获取的强关联规则可实现精神障碍用药ADR主动检测和自动预警,对临床合理用药、安全用药能起到重要指导及预警作用。另外,由于医院电子病历和居民电子健康档案是ADR 信号挖掘和预警的重要数据来源,因此,利用数据挖掘技术在线实时分析上述数据,实现ADR风险评价与预警是药事管理及临床用药决策的重要基础,也是下一步研究的重点。
[1]蒋平,刘红梅,任娟娟,等.联合用药精神障碍患者氯氮平血药浓度监测[J].第二军医大学学报,2013,34(7):759-763
[2]杭荣华,李业平,吴明飞,等.门诊精神分裂症患者药物治疗的依从性与不良反应、社会支持的关系[J].中国临床药理学与治疗学,2014,19(8):912-915
[3]金家飞,徐姗,王艳霞.角色压力、工作家庭冲突和心理抑郁的中美比较:社会支持的调节作用[J].心理学报,2014,46(8):1144-1160
[4]胡骅,谢海棠,徐喆,等.药品不良反应综合分析系统ADRCAS的开发应用[J].中国临床药理学与治疗学,2014,19(6):712-716
[5]冯变玲,杨世民,贺小红,等.药品不良反应多维关联规则挖掘及预警模型构建[J].中国药事,2012,26(10):1076-1082
[6]Sakaeda T,Tamon A,Kadoyama K,et al.Data mining of the public version of the FDA adverse event reporting system [J].International Journal of Medical Sciences,2013,10(7):796-803
[7]Eriksson R,Werge T,Jensen LJ,et al.Dose-specific adverse drug reaction identification in electronic patient records:temporal data mining in an inpatient psychiatric population[J].Drug Safety,2014,37(5):237-247
[8]RaveHarpaz,SantiagoVilar,WilliamDuMouchel,et al.Combing signals from spontaneous reports and electronic health records for detection of adverse drug reactions[J].Journal of the American Medical Informatics Association,2013,20(3):413-419
[9]Pacurariu AC,Straus SM,Trifirò G,et al.Useful interplay between spontaneous ADR reports and electronic healthcare records in signal detection[J].Drug Safety,2015,38(12):1201-1210
[10]Jin H,Chen J,He H,et al.Signaling potential adverse drug reactions from administrative health databases[J].IEEE Transactions on Knowledge and Data Engineering,2009,22(6):839-853
[11]Chazard E,Ficheur G,Bernonville S,et al.Data mining to generate adverse drug events detection rules[J].IEEE Transactions on Information Technology in Biomedicine,2011,15(6):823-830
[12]Ji Y,Ying H,Dews P,et al.A potential causal association mining algorithm for screening adverse drug reactions in postmarketing surveillance[J].IEEE Transactions on Information Technology in Biomedicine,2011,15(3):428-437
[13]Ji Y,Ying H,Tran J,et al.A method for mining infrequent causal associations and its application in finding adverse drug reaction signal pairs[J].IEEE Transactions on Knowledge and Data Engineering,2012,99(4):721-733
[14]吴信东,叶明全,胡东辉,等.普适医疗信息管理与服务的关键技术与挑战.计算机学报,2012,35(5):827-845
[15]金洲,王儒敬.基于信息熵的兴趣度规则挖掘算法[J].模式识别与人工智能,2014,27(6):524-532
[16]Han J,Pei J,Yin Y,et al.Mining frequent patterns without candidate generation:A frequent-pattern tree approach[J].Data Mining and Knowledge Discovery,2004,8(1):53-87
[17]张启徽.关联规则挖掘中查找频繁项集的改进算法[J].统计与决策,2015(4):32-35
[18]申彦,宋顺林,朱玉全.基于磁盘表存储FP-TREE的关联规则挖掘算法[J].计算机研究与发展,2012,49(6):1313-1322
(责任编辑:汪材印)
10.3969/j.issn.1673-2006.2017.10.026
2017-07-25
国家自然科学基金“基于粒计算的脑核磁共振图像分割研究”(61672386);教育部人文社会科学研究规划基金“健康大数据下药品不良反应风险评价与预警研究”(16YJAZH071);安徽省自然科学基金“基于MR图像的脑肿瘤计算机辅助诊断关键技术研究”(1708085MF142);皖南医学院中青年科研基金“药物不良反应综合分析系统的应用推广”(WK2016F19)。
叶明全(1973-),安徽当涂人,博士,教授,硕士生导师,研究方向:数据挖掘与机器学习、医学决策支持系统、健康医疗与心理大数据处理。
TP311
A
1673-2006(2017)10-0099-04