题目:疾病确诊问题的实证研究
【摘要】
人们到医院就诊时,其是否患肾炎一般要通过化验人体内各种元素的含量来协助医生的诊断。为了更好地解决实际问题,我们建立了logistic回归模型、决策树模型以及判别分析。
logistic回归又称logistic回归分析,主要在流行病学中应用较多,比较常用的情形是探索某疾病的危险因素,根据危险因素预测某疾病发生的概率等。本文中通过题设给出的两组人体内各种元素的含量,一组是有肾炎组,一组是非肾炎组,这里的因变量就是是否有肾炎,即“是”或“否”,为两分类变量,自变量包括a
,
C
Zn,,通过logistic回归分析,就可以大致了解到Fe,
K,
u N
Mg,
Ca,
底哪些因素是判定肾炎的关键因子。决策树是一种倒立的树结构,它由内部节点、叶子节点和边组成。构造决策树的目的是找出属性和类别间的关系,一旦这种关系找出,就能用它来预测将来未知类别的记录的类别。判别分析又称“分辨法”,是在分类确定的条件下,根据某一研究对象的各种特征值判别其类型归属问题的一种多变量统计分析方法。
【关键字】Logistic回归、决策树、多元统计分析、判别分析
1、问题重述
人们到医院就诊时,通常要化验一些指标来协助医生的诊断。诊断就诊人员是否患肾炎时通常要化验人体内各种元素含量。表1是确诊病例的化验结果,其中1-30号病例是已经确诊为肾炎病人的化验结果;31-60号病例是已经确定为非肾炎病人的结果。表2是就诊人员的化验结果。
需要解决的问题:
(1)、根据表1中的数据,给出一种或多种简便的判别方法,判别是否属于肾炎患者的方法,并检验你的方法的正确性;
(2)、按照(1) 中给出的方法,对表2中的30名就诊人员的化验结果进行判别,判定他们是否肾炎病人;
(3)、能否根据表1的数据特征,确定哪些指标是关系到人们患肾炎的主要或关键因素,以便减少化验的指标;
(4)、根据(3) 中的结果,重复(2) 的工作;
(5)、对(2) 和(4) 的结果作进一步的分析。
们到医院就诊时,通常要化验一些指标来协助医生的诊断。本文借助肾炎这一病例以及相关数据对通常化验指标作出相关分析,帮助判断人们是否得肺炎,以助医生能更好地判断病情并作出相应的解释。
2、问题分析
2.1、模型定义
1到30号为有病,定义有病为Y=1,30到60号为没得肺炎,定义为Y=0.
2.2、模型构建
2.2.1、Logistic模型
变形为()=+
其中x为解释变量,Y为被解释变量,p为Y为1的条件概率。
2.2.2、决策树模型
决策树是一种倒立的树结构,它由内部节点、叶子节点和边组成。其中最上面的一个节点叫根节点。构造一棵决策树需要一个训练集,一些例子组成,每个例子用一些属性(或特征)和一个类别标记来描述。构造决策树的目的是找出属性和类别间的关系,一旦这种关系找出,就能用它来预测将来未知类别的记录的类别。构造一个决策树分类器通常分为两步:树的生成和剪枝。其中树的生成是采用自上而下的递归方法。以多叉树为例,它的构造思路是,如果训练例子集合中的所有例子是同类的,则将之作为叶子节点,节点内容即是该类别标记。否则,根据某种策略选择一个属性,按照属性的各个取值,把例子集合划分为若干子集合,使得每个子集上的所有例子在该属性上具有同样的属性值。然后再依次递归处理各个子集。
2.2.3、判别分析
判别分析的基本假设有三个
1、每一个解释变量不能是其他解释变量的线性组合,即每个解释变量都是独立的
2、各组变量的协方差矩阵相等。判别分析最简单和最常用的形式是采用线性判别函数,他们是判别变量的简单线性组合。在各组协方差矩阵相等的假设下,可以使用很简单的公式计算判别函数和进行显著性检验。
3、各判别变量之间具有正态分布,即每个变量对于其他变量的固定值有正态分布。
判别分析主要有距离判别、贝叶斯判别和Fisher判别。本文使用距离判别和Fisher判别来进行分析。距离判别的基本含义就是判断样品到总体Y1,Y2的距离d1,d2,若d1 ,,其中,,,分别为总体Y1,Y2的均值和协方差矩阵。Fisher判别的思想是投影,将k 组p维数据投影到某一方向,使得他们的投影组与组之间尽可能的分开,这种方法借助了一元方差的思想。 2.3、模型解释 2.3.1、对于Logistic模型、决策树模型,主要利用SAS的enterprise、miner模块 进行数据处理,变量的选择,模型的构建,模型的评价以及对样本的诊断。 建立如下的数据分析流程图: 数据挖掘流程图 第一个数据集(即第一个节点work.yaowu1)导入的是1-60号的样本,其中加入变量result,当id为1-30时,result=1,其他的为0。第二个数据集(work.yaowu2)导入的是61-90号样本,作为需要诊断的样本。第二个节点采用分层抽样的方法把样本分为两部分,即training集和validation集,两部分分别所占样本的比例为70%,30%。第三个节点对自变量进行筛选,选择标准为去掉在5%的显著水平下与目标变量(result)的相关系数不显著的自变量。经过筛选后结果如下图:知7个变量与result均显著相关,故全部保留。 相关数图 第四个节点对特殊值进行过滤。第五节点为并列的三个节点,依次为regression,tree,network,表示对数据的拟合采取logistic模型,树形图和神经网络 模型(只做为比较)。第六节点assessment对三个模型进行评价。第七个节点score,与第二数据集和assessment相连,即运用assessment认为最优的模型对第二数据集进行测评。第八九个节点,对诊断的结果予以展示。各个模型的运行结果如下: (1)Logistic模型 回归系数t值图 回归效果图 回归结果表 由回归系数t值表知,Ca,Fe ,Zn,K对结果的影响最大,Cu,Mg,Na对结果影响最小。由回归效果图知,根据回归的预测与实际比较,100%的预测是准确的,故回归模拟效果较好。由回归结果表知模型如下: , ()=12.45-0.0338ca+0.25cu-0.59fe+0.1022k+0.02mg+0.0045na+0.171 zn (2)树形图 对于树形图的运行结果如下:训练集和校验集1,0百分比均为50%,经过第一个节点(ca用量是否大于1232.5)后,左支为有病,训练集和校验集的准确率分别为95.25和90%,右支为无病,训练集的准确率为95.2%,校验集为100%。由节点图可看出,只能产生两层树状图,由于数据量较小无法进行进一步的分支,故树形图的模拟结果可能比较差一些。 节点图 树状图 2.3.2、logistic和树状图 由响应率图知回归的响应曲线5分线之前均在树形图响应曲线之上,可知回归模型对数据拟合效果较好,对结果的诊断正确率高,而通过比较二者的效果图,进一步说明,回归的拟合效果更好。所以采用回归的方法。 非积累响应率图 Logistic 效果图 树形图效果图 对于61-90号样本的预测结果如下: id 即为样本编号,1表示预测有病 即61,62,63,64,65,66,67,68,69,71,72,73,76,79,83,84,87号样本确认患病。当只选择对结果影响较大的几个变量(Ca ,Fe ,Zn ,K )时,预测结果如下: 由图知,预测患病的样本编号为61,62,63,64,65,66,67,68,69,71,72,73,76,83,85,87共16个比第一次少了79号,本着宁可信其有不可信其无的原则,这次效果不好,可能误判。当变量再分别加上Cu,Mg,Na时,回归结果如下: 加铜加镁加钠 可知在加上镁时,回归结果与第一次一致,故应该化验的微量元素为Ca、Fe,Zn,K,Mg五种元素 2.4、判别分析模型 2.4.1判别分析中全模型 由此检验可得出在0.01的显著性水平下我们拒绝zn,ca,mg的均值相等假设,即认为这三个变量在不同的组里均值是不相等的,而其余四个变量则在不同的组里有99%的把握认为是相等的。 表示为:Y=-1.647+0.01zn-0.7cu+0.007fe+0.01ca+0.04mg+0.00k-0.01na 根据这个判别式计算每个观测值的Y值 该表表明判别函数Y=0这一组的重心为1.429,在Y=1这一组的重心为-1.429,由于大小相同,可得出临界点为0.这样我们就可以用距离判别法来将每个观测值分组。 Fisher判别法: 得出两个方程: Y(0)=0.101zn-1.31cu+0.18fe+0.03ca+0.01mg+0.02k+0.07na-14.965 Y(1)=0.097zn+0.69cu-0.01e+0.00ca-0.01mg+0.01k+0.11na-10.259 然后将各观测值分别代入两个函数比较得出结果,比较两个结果的大小,大的就为该样品的属性。 结果检验: 2.4.1.2.全模型分析小结 该表分为两个部分:上面一半(Original)是用全部数据的道德判别函数来判断每一个点的结果。下面一半表示交叉验证(Cross-validated)是对每一个观测值,都用缺少该观测的全部数据得到的判别函数来判断结果。原始判别的准确率为93.3%,交叉判别的准确率为91.7%。 预测如下: 2.4.2、判别分析中逐步分析 逐步判别的原则是在解释变量中先选一个变量使得Willks统计量达到最小。然后在未选的变量中计算它们与已选变量的值最小的变量,如此循环。注意的是引入新变量一定要提供附加信息,如不能则要剔除,剔除原理同上,计算出与之前每个值得值进行显著性检验,如不显著则要剔除。当不能引进也不能 剔除的时候则将已选中的变量建立判别函数。 如上表,先选取ca作为第一个解释变量。 由此可得出最终选取的变量为ca,cu,fe。 判别函数Y=-0.67cu+0.08fe+0.02ca-1.185 得出临界点为0,计算出观测值的Y值,再进行判别。 Fisher判别法同全模型中的Fisher判别法。得出结果如下: 检验: 由上述可知,原始判别和交叉判别的准确率都为91.7%。 3、效果评价及解答 由上分析可得,logistic模型检验准确率高达100%,超过其他各种模型。所以解决此类问题我们采用logistic模型,解答如下: 1、对问题一: 根据logistic模型得出目标函数: , ()=12.45-0.0338ca+0.25cu-0.59fe+0.1022k+0.02mg+0.0045na+0.171 zn 2、对问题二: 第一次实验的检验结果: 由上表可得61、62、63、64、65、66、67、68、69、71、72、73、76、79、83、84、87号样本确认患有肾炎 3、根据回归系数图可知 钙、铁、锌、钾确定是关系到人们患肾炎的主要或关键因素,所以我们考虑到对于肾炎的患病情况检测可以直接检测这四种元素的含量,以便于减轻工作量。 4、当只检测钙、铁、锌、钾四微量元素的含量时,得出的结果如下所示: 与第一次检验结果对比分析得:只有79号患者未被确定为有病,其他的样本与第一次实验分析结果一致。 4、经过对结果的二次分析可以得到结论如下:当只检测钙、铁、锌、钾四种元 素时,预测的结果可能出现偏差将肾炎的患者判定为非肾炎患者按照“宁可信其有不可信其无”的原则之第二次实验结果并不准确,故进行一下实验,在第二次试验的基础上分别加入钠、镁、铜的检测,结果如下: 加铜加镁加钠 可知在加上镁时,回归结果与第一次一致,故应该再加入化验的微量元素为Mg,故只需检测的元素为钙、铁、锌、钾、镁。 【参考文献】 【1】何晓群编著. 《多元统计分析》,北京:中国人民大学出版社, 2004 【2】张立军,任英华编著. 《多元统计分析实验》,北京:中国统计出版社,2009 【3】姚志勇编著. 《SAS编程与数据挖掘商业案例》,北京:机械工业出版社,2010 【4】朱星宇,陈勇强编著. 《SPSS多元统计分析方法及应用》,北京:清华大学出版社,2011