基于FP-Growth算法的精神障碍患者用药不良反应预警App研究
2022-06-11孙敏琦潘媛媛
孙敏琦 潘媛媛
摘要:随着移动医疗技术的发展,人们热衷于通过手机查询疾病信息。为了防患精神障碍疾病患者在常规用药过程中发生药品不良反应(Adverse Drug Reaction,ADR),采用FP-Growth算法对ADR风险因素进行挖掘,设计一种基于Android平台的精神障碍患者用药不良反应预警的App。算法根据精神障碍患者ADR报告的最新数据,挖掘频繁出现的ADR-药品-用药人群组合,提取满足最小支持度和最小置信度阈值的强关联规则。根据强关联规则对用户输入的一系列用药信息进行预测判断,以移动可视化界面的形式反馈给用户,保障患者全过程安全用药。
关键词:药品不良反应预警;精神障碍;FP-Growth算法;关联规则;移动医疗
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2022)13-0132-03
1 引言
根据中国疾控中心精神卫生中心公示的一系列数据显示,在中国总数超过1亿数量的各类精神疾病患者中,有约640万人患精神分裂症,110万人有双相情感障碍。最新的一项涵盖5万多人的调查显示,新冠肺炎疫情期间约有35%的公众存在不同程度的情绪反应。其中,居家的社区严重精神障碍患者的心理问题加重[1],老年人和一线工作人员等特殊人群的心理健康状况受到多方关注。目前,全球范围内受精神健康问题困扰的人群逐年增加。据统计,截至今年,已有超十亿人受到不同程度精神健康疾病的困扰,平均每40秒就有一人因受到精神疾病困扰而导致自杀。患病率日益上升的精神障碍疾病在我国存在着巨大的“治疗缺口”,由于抗精神病药品的药理作用比较广泛,不仅单纯作用于神经系统发挥作用,对泌尿、消化、心血管系统和皮肤及附属器官也会产生影响[2],从而引起一系列药品不良反应,对下一步的疾病治疗造成阻碍。
药品不良反应是指在正常用法、用量下使用合格药品时出现的与用药目的无关或意外的有害反应。由于医护人员在常规给患者使用药品进行诊疗时,引起理想治疗效果以外的不良反应现象非常常见,为防止药品不良反应事件频频发生,部分学者展开了预警研究。叶明全[3]等人提出结合概念层次树和多层关联规则的挖掘方法,自顶向下或自底向上找出不同概念层次上ADR临床症状与用药人群、用药情况等组合之间的强关联规则,生成ADR预警规则库,准确度达到89%。贺小红[4]等人基于多维表达式(multi-dimensional expressions,MDX)对数据进行切片、切块、钻取等联机分析处理,并用filter函数挑选出频繁项集进而提取关联规则。熊代琴[5]等人先对可能产生ADR的单因素进行筛查和共线性检验,再对影响因素使用多因素二元logistic回归分析生成LR模型,基于该模型预测ADR发生风险。王艳[6]等人采用非条件最小二乘法进行参数估计,发现ARIMA为较优模型,只需内生变量即可进行建模而不需要考虑其他变量,可操作性好。张成[7]等人用贝叶斯置信传播神经网络(BCPNN)挖掘舒金健药丸ADR/AE风险预警信号,采用倾向评分法控制平衡混杂因素,可以很好地克服在获取数据较少情况下因估计误差大而致假阳性率高这一问题。
尽管引起精神类疾病的因素日益增多,较高的发病率伴随的却是只有不到20%的治疗率。得到治疗的患者又因为精神疾病间容易共患,治疗期间可能因为发生共患反过来影响药物治疗的选择,这就需要及时调整用药情况,规避再次产生药品不良反应的风险。因此,本研究提出一种基于移动平台的用药不良反应预警App,帮助精神障碍患者在用药前期避免不良反应的发生。
2 基于FP-Growth的关联规则挖掘算法
2.1 支持度和置信度
设I={i1,i2,…,im}是一个总项集,其中包含m个不同项目,D={r1,r2,…,rm}为事务数据库,每个事务ri(i=1,2,…,n)均对应I上的一个子集,满足ri?I,记为R。设X,Y为I中不同的项集,当X?Y,称其为一条关联规则,项集X为先决条件,项集Y为关联结果[8]。衡量关联规则是否标准常用以下两个指标:支持度(support)和置信度(confidence)。支持度是事务数据集D中同时出现项集X、Y的概率,置信度是指在出现项集X的事务数据集D中,项集B是同时出现的概率。式(1)、(2)分别为支持度和置信度的公式概念。
Support(X?Y)=P(X,Y)=[|{R|X?Y?R,R?D}|D] (1)
Confidence(X?Y)=P(Y|X)=[PX,YPX]=[SupportX?YSupportX] (2)
支持度从“数量”角度筛选普遍存在的关联规则,如果X和Y同时出现得非常频繁,说明X和Y总是相关的。置信度是反映关联规则可靠性的评价指标,Confidence(X?Y)越接近1说明两者关联性越强。当关联规则同时满足最小支持度和最小置信度时,称其为“强关联规则”。
2.2 FP-Growth算法流程
關联规则算法用来挖掘数据集内部的相关联性,考虑到Apriori算法需要对候选项集里的每一项各扫描一次,在数据集量很大时,算法存在效率低、运行时间长的缺点,本研究采用更加高效的FP-Growth算法,将数据集化为FP-tree这一数据结构,寻找频繁项集的过程便是对这棵树进行操作的过程。
采用FP-Growth算法挖掘关联规则的流程如图1所示,其具体步骤如下:
1)遍历事务数据集D,统计每个项目的出现次数,设定最小支持度MinS,剔除小于MinS的项目,对剩余的频繁项降序排序。
2)再次遍历事务数据库,对排序后的频繁项建立频繁项头表,同时建立FP-tree,根节点记为NULL,读入频繁项集并将其添加到一条已存在的路径中,若该路径不存在则新建一条路径。
3)对于每个频繁项,按照频繁项表自下而上的顺序访问FP-tree,找寻该频繁项的前缀路径和路径计数值,生成条件模式基。
4)利用条件模式基构建相应频繁项的条件FP-tree,递归调用树结构,若是单路径结构,跳至步骤5);若是多路径结构则不断迭代调用树的过程,直到形成单路径为止。
5)每一次递归都要对前缀路径中的支持度计数减1和删除小于最小支持度的项目,把条件频繁项集和该频繁项取并集生成最终的频繁模式。
2.3 FP-Growth算法应用案例
以芜湖市某三甲医院精神科室2016~2020年统计的药品不良反应记录为例。对初始的1916条记录进行数据预处理,先清除异常和重复的数据,由于FP-Growth算法只能处理布尔型数据,为保证数据格式标准化,将字符型数据二值化处理,得到可用于实验的1800条记录,即1800个事务组成的事务数据集,主要包括:序列号、性别、年龄、所患疾病名称、用药名称、ADR名称、ADR结果。表1为精神障碍患者用药不良反应二值化前的事务数据集。
通过FP-Growth算法挖掘预处理后的频繁项集,性别、年龄、所患疾病名称、用药名称作为先决条件,ADR名称作为关联结果,寻找ADR、药品和用药人群之间的关联关系。设最小支持度为0.02,最小置信度为0.75,提取所有置信度达0.5以上的关联规则组成预警规则集,表2为置信度较高的10条关联规则。当患者是女性且患有精神分裂症时,由数据挖掘的分析结果可知,预警规则集给出4条预警信息,分别是精神分裂症女性服用利培酮片有81%的可能发生自主神经功能紊乱,精神分裂症女性服用氯氮平片有81%的可能发生心律异常;精神分裂症女性服用阿立哌唑片有80%的可能发生锥体外系反应;精神分裂症女性服用利培酮片有76%的可能发生锥体外系反应。
3 基于FP-Growth的精神障碍患者ADR预警App设计
本App以Android Studio作为开发平台,采集服务和服务端采用Intellij IDEA集成开发环境并使用同一个MySQL数据库系统。开发过程先后经过对软件功能分析与设计、数据库设计、客户端设计和后台管理功能设计。软件提供健康档案、用药记录、药品不良反应预警和健康报告功能,图2为软件总体功能模块设计图。
3.1 健康档案模块
用户首次登录时需先注册账号,软件推送“我的资料”界面,在其中填写姓名、年龄、性别、身高、体重和手机号。图3为App首页界面,“健康档案”模块可从首页进入,如图4所示,每一条档案信息包括姓名、性别、年龄、疾病,可对其进行添加、删除、修改操作。考虑到软件的使用人群不全是精神障碍患者和医护人员,有替他人预测用药不良反应风险的可能,所以这里再次记录性别、年龄信息。
3.2 用药记录模块
用户输入药名,用药时间一栏同步手机当前时间,也可以自行调整。对于一天多次用药的情况,以天为单位合并数据,最终形成每日的用药记录。图5为录入药名和用药时间的页面设计。
3.3 精神障碍用药ADR预警模块
收集从医院获取到精神障碍患者药品不良反应数据预处理,采用基于FP-Growth算法的数据挖掘关联规则的方法,構建抗精神障碍药品不良反应早期预警模型,将此模型数据导入到MySQL数据库中。用户使用软件时,只需输入疾病和患者的年龄、性别、用药名称,系统在预警模型数据库中搜索对应的不良反应,结合置信度大小分析不良反应的风险程度并反馈给用户。系统规定置信度达0.80以上的不良反应属于高风险,置信度在0.65~0.80内的不良反应属于较高风险,置信度在0.50~0.65内为中风险不良反应。预警界面如图6所示。
3.4 健康报告模块
考虑到部分抗精神障碍药品具有单一性和不可调整性,患者短期内找不到可替代现成的、会导致不良反应的药品,不得不服用现有药物,这将导致预警系统推送不良反应的发生风险和情况描述。软件整理预警系统分析出的药品不良反应情况,形成日报和周报。日报通过选择日期,显示某天是否有不良反应的发生,周报收集一周的预警信息,没有发生不良反应给出“优”等级,发生1或2次不良反应给出“良”等级,不良反应发生2次以上则是“差”等级。图7、图8分别为健康周报、健康日报的设计界面。
4 结束语
本文在研究国内外药品不良反应预警相关算法的基础上,针对目前精神障碍患者人群扩张、疾病种类和药品数量增多的现状和实际需求设计开发了一款基于FP-Growth算法的精神障碍患者用药不良反应预警App。算法根据精神障碍患者用药不良反应的呈报数据,挖掘频繁出现的ADR-药品-用药人群组合,提取满足最小支持度和最小置信度的强关联规则。软件根据关联规则智能预警不良反应的发生风险,为用户提供健康档案、健康报告和智能预警功能,以达到令患者在用药前期防控到位、提高疾病治疗效果的目的,若将其利用到精神障碍疾病临床治疗上,其应用前景和作用是巨大的。
参考文献:
[1] 李世明,杨雀屏,冯为,等.常态化疫情防控下社区严重精神障碍患者管理服务现状与建议[J].中国公共卫生管理,2021,37(6):764-766.
[2] 庄红艳,刘珊珊,果伟,等.某精神专科医院115例新的药品不良反应的回顾性分析[J].中国药房,2018,29(23):3259-3263.
[3] 叶明全,苏洋,童九翠.基于多层关联规则挖掘的ADR风险检测与预警研究[J].池州学院学报,2020,34(3):23-26.
[4] 冯秀珍,贺小红,冯变玲.基于关联规则的ADR预警系统及实证研究[J].科技管理研究,2012,32(9):194-197.
[5] 熊代琴,马雪英,滕亮,等.利用全面触发工具建立住院患儿头孢菌素类药品不良反应主动监测预警模型[J].中国药物警戒,2021,18(7):663-668.
[6] 王艳,张丽.自回归移动平均模型在药品不良反应监测预警中的应用[J].临床医学研究与实践,2018,3(21):7-8,14.
[7] 张成,李盼盼,王连心,等.基于自发呈报系统舒筋健腰丸不良反应/事件预警分析[J].中国中药杂志,2020,45(15):3533-3538.
[8] 陈玲萍.基于FP-Growth的高校学业预警系统设计与实现[J].无线互联科技,2018,15(24):39-40,45.
【通联编辑:谢媛媛】