李赵兴,崔巧云
(1.榆林学院信息工程学院,陕西榆林 719000;2.榆阳区电视台,陕西榆林 719000)
随着交通的便利和人民生活的提高,患者倾向于去三甲医院看病,导致三甲医院看病拥堵、看病难等问题一直没有得到很好的解决,然而基层医疗公共卫生所和基层医疗机构的患者相对较少,伴随着老龄化、城镇化等社会转型,城镇居民大量的增长,给大医院带来了很大的挑战。随着城市的发展,老龄化的人越来越多,慢病患者越来越多,慢病患者基本上每周或者两周就要去医院开药,导致大医院、好大夫被慢病患者消耗了很多的资源和精力。另外,随着人民生活水平的提高,人民基本健康需求增长迅速,出现了多样化的特征,给基本医疗体系带来了挑战[1],主要原因是现有的医疗卫生服务体系配置不完善、优质医疗资源不足和配置不合理,不能有效配置优质医疗资源,不能有效地满足治理、护理等需求服务。另外,基本医疗卫生服务体系面临分配不均衡的问题,以大医院和三甲医院为例,常见病、多发病不仅占用了大量的优质医疗资源,还造成了优质医疗资源的负担,同时还引起了患者就医不方便,不利于从根本上解决“看病难,看病贵”的问题[2-3]。
目前国内对分级诊疗制度的研究主要聚焦在制度层面的评价,对医疗资源配置的分类较少,包括对病种分类的具体方法研究较少,在具体实施时,缺少有效的分类方法(哪些病应该分配到哪一级医院),造成了我国目前的分级诊疗只是停留在制度层面。该文以医疗资源有效资源配置为研究目标,采用决策树算法对患者进行有效分类[4],从而降低医院、患者的成本。
C4.5 算法是在ID3 算法[5]基础上的改进,由于ID3 算法无法对连续属性进行分类,针对此问题,Ross Quinlan 提出了C4.5 算法。C4.5 算法[6-8]用 信 息增益率来选择属性,提高了衡量属性划分数据的广度和均匀性,对连续型属性进行了增强,同时对属性值空缺方面进行了很好的处理,和ID3 算法相比,不仅分类准确率高而且速度快,生成的决策树分支也较少。C4.5 算法在选择连续性测试属性方面做了如下处理,将训练数据集S中的样本按连续描述属性A的值进行递增排序,一般采用快速排序法。假设S中属性A有m个不同的取值,则排好序的取值序列为a1,a2,…,am。按该顺序逐一将两个相邻的平均值a′作为分割点,分割点将S划分为两个子集,分别对应属性A小于a′和大于a′的两个子集。这样共有m-1 个分割点,分别计算每个分割点的信息增益比率,选择具有最大信息增益比率的分割点。按照上述方法求出当前候选属性集中所有属性的信息增益比率,找出其中信息增益比率最高的属性作为测试属性[9]。
把区间[ai,ai+1)的中位点作为分割点t,然后同离散值一样计算切分点的信息增益,即可以得到处理连续值的信息增益率的计算公式为:
其中,Gain(D,a,t)是样本集D基本划分点t二分后的信息增益。划分时,选择最大的划分点Gain(D,a,t)
分裂信息熵在训练样本集D中,特征a的分裂信息熵计算公式如下:
其中,S为特征值a的取值个数,Dj为数据集D中a特征值第j个值的子集。
通过式(1)和式(2)或者式(3)可得到特征a信息增益率的数学公式为:
基于改进的C4.5 算法[10-14]的最后阶段成绩预测,根据各特征在分级诊疗中所占的权重大小,引入权重后特征av的信息增益公式如下:
改进的C4.5 算法[15-16]伪代码如下:
输入:训练数据集
其中,xi的特征集合为A={a1,a2,…,ad},xi各个特征对应的权重数组为v=[v1,v2,…vd]。
输出:根节点为N的决策树
执行流程:创建对应的S的节点Node(初始化决策树的根节点)
If(S中的样本属于同一类别c)
将Ai作为Node 的测试属性;
根据最佳划分点t将数据集划分为两部分;
if(Ai为连续属性)找该属性的分割阈值
For(Ai的每个可能取值aij)
递归执行
递归执行
其中,A/{ai}代表从A中除去的特征ai,选择改进的最佳分裂函数,执行过程如下:
Input:训练数据集
其中xi的特征集合为A={a1,a2,…,ad}
xi的各个特征对应的权重数组v=[v1,v2,…vd]
输出:最好分裂特征bestFeature 和最好的分裂点bestSplitPoint
初始化:
根据式(1)计算特征ai的候选划分点集合T,T={t1,t2,…tn}
设最大信息增益为0
FortiinT
分裂信息熵为零
根据划分点ti将数据集划分为两部分
根据式(2)计算划分点ti的信息增益
If GainRatio>max GainRatio
根据式(3)计算分裂属性
If GainRatio=max GainRatio
根据式(4)划分点ti的信息
该文以孕妇历史就医数据集为实验数据,根据孕妇到医院的距离、孕妇的家庭人均年收入、产检次数、有无流产史作为属性,采用改进的C4.5 算法对属性进行决策树划分和预测。研究对象为20 岁到45 岁的孕妇,数据分别来源于榆林市一级医院、二级医院、三级医院,研究对象的属性设置是和相关医院和医疗管理中心一起研究确定的主要影响孕妇去不同等级医院的因素。
表1 不同基本资料的孕产妇选择医疗机构级别比
对已经获得的孕妇就诊数据进行分类,从图1~3 可以得出孕妇就诊的决策树分类模型,然后对榆林市一级、二级、三级医院就诊的孕妇进行分类调查,结果显示,不同等级医院就孕妇在年龄、距离、等候时间、家庭年人均收入、产检次数等方面做统计,通过图1~图3 可以得出,孕妇去一级和二级医院的特征不是很明显,主要区别还是与医院距离的远近和医院花销,孕妇选择二级医院和三级医院相对较为明显,如果产检次数正常,大部分选择三级医院,如果产检次数不正常,去二级医院的孕妇比较多,但是由于去一级医院的孕妇普遍收入比较低、学历比较低、产检次数也比较少,所以在分类时,在二级医院和三级医院之间有一定的误差。整体分析显示,收入高的人群去三甲医院的比较多,收入低的人群去一二级医院的比较多,这也符合人们正常的推理,通过改进的决策树分析显示,一级医院和二级医院、二级医院和三级医院、一级和三级医院的预测正确率分别为56.9%、71.2%、66.8%。
图1 一级和二级医院分类模型
图2 二级和三级医院分类模型
图3 一级和三级医院分类模型
表2 孕产妇选择医疗机构级别的决策树分析赋值表
该文以孕妇就医为例,采用改进C4.5 算法对孕妇合理选择医疗机构进行分类诊疗,通过对影响孕妇去不同级别医院的因素分析,可以提高孕妇去不同级别医院的分类效率、降低错误的预测分析指数、提高分类的准确性,从而提高医疗资源的配置效率,建立合理的卫生服务体制架构,推进建立分级诊疗制度,改变目前存在的不合理的医疗资源配置问题,可以解决医疗卫生资源配置不均衡的问题,有效盘活现有的医疗资源、提高医疗资源配置使用效率,还可以到达降低看病贵看病难的问题。以前普遍分级诊疗都是当地的医保办根据病情来分类,但是这样有一定的不足之处,因为不同的孕妇有不同的情况,经常有一些孕妇因为生产而失去小孩甚至自身的生命,该文在和医院合作的基础上统计了孕妇来医院就诊的数据,在数据里面分析出影响孕妇就诊的一些主要的因素,采用改进的决策树算法进行孕妇就诊分类,可以提高分类的效率和精确度。该文研究的不足之处就是统计的影响孕妇就诊的因素还不够全面,包括孕妇的年龄、孕妇的整体身体素质等,需要做进一步研究。