1、12015 暨南大学珠海校区数学建模竞赛编 号 专 用 页我们参赛选择的题号是(从 A/B/C/D 中选择一项填写): A 姓 名 专业、班级 联系电话(长号)参赛队员 1 胡壁君 13 金融工程 13750069106参赛队员 2 殷佳飞 14 软件工程 15820577534参赛队员 3 何雪 13 包装工程 13570618836评阅记录:评阅人评分备注2医保欺诈行为的主动发现摘要本文所致力于解决的问题为“摘取可能的医保欺诈记录” ,而在解决问题的过程中最大的难点在于数据中有可能混杂着大量的虚假数据,对分析有着较大的影响。我们对问题进行了全面的分析,将问题化解为三个阶段,化繁为简进行分析
2、。首先,我们对研究对象进行了分类。我们查询了多份权威论文,对可选择影响因素进行了查找与筛选,并利用 SPSS,对数据进行了整理、选择、分析,得到了年龄与医保消费最为相关的结论。然后,我们以年龄为自变量,套用样本选择模型、二部模型,并利用 MATLAB 对数据进行拟合、求解未知系数,并得到了最接近于正常消费的“费用年龄关系”和“频率-年龄关系” 。以此为基础,我们初步筛选出了可能的医保欺诈数据。最后,我们参考了“接近死亡效应假说” ,进一步建立模型,对得出的结论进行修正,得到最准确的结论。【1】本文的亮点在于,一是利用统计学知识,对给出的数据进行了一定的整理与筛选,对一部分无效数据进行了舍弃;二
3、是在样本中可能充斥着大量虚假数据的情况下,选择样本选择模型来处理数据,使得结果最接近于真实【2】 ;三是加入了“接近死亡效应假说” ,对于现有的医保欺诈计算模型进行了一定的修正。3目录医保欺诈行为的主动发现 .1摘要 .1关键词 .2问题重述 .2问题分析 .3数据处理 .4一 影响医保消费因素研究 .5软件应用 .5模型假设与符号说明 .6模型求解 .7结果分析 .8二 “医保消费 年龄关系”的准确关系及初步结论 .8模型假设与符号说明 .9模型求解 .10模型的优缺点 .13结果分析 .13三模型结果的稳健性检验和模型修正 .14数据筛选 .14结果分析 .15结果分析 .15参考文献 .
4、18附录 .19附录一 .19附录二 .19附录三 .19附录四 .22关键词医保欺诈, “医保消费年龄模型” ,样本选择模型,接近死亡效应假说,SPSS, MATLAB。问题重述医疗保险欺诈,是指公民、法人或者其他组织在参加医疗保险、缴纳医疗保险费、享受医疗保险待遇过程中,故意捏造事实、弄虚作假、隐瞒真实情况等造成医疗保险基金损失的行为。骗保人进行医保欺诈时通常使用的手段,一是拿着别人的医保卡配药,二是在不同的医院和医生处重复配药。下面这些情况都有可能是医保欺诈:单张处方药费特别高,一张卡在一定时间内反复多次拿药等。请根据附件中的数据,找出可能的欺诈记录。4注:数据中病人姓名、身份证号、电话
5、号码、医保卡号为非真实数据。数据见 2.1 2.2 2.3 2.4 2.5 2.6问题分析问题的要求为:在给出的大量信息中,建立模型,对数据进行分析,通过对医保单张消费金额和医保消费的频率进行统计学计算,得到大致的医保欺诈数据,最后修改模型,确定可能的医保欺诈数据。因此,我们对问题进行了初步分解:第一步,大量查阅专业医学资料,尽力对正常状态下病人的消费情况进行了解。对相关的研究进行总结,总结出可能的影响因子,对影响因子进行筛选,对一些确定为欺诈的数据进行舍弃,利用 SPSS 对数据进行初步统计与处理,求得影响因子与正常的医保消费单张费用及频率的关系。第二步,参考“样本选择模型”建立模型,用 M
6、ATLAB 对数据进行处理,初步筛选出可能的医保欺诈数据。第三步,参考“接近死亡效应假说” ,将上一步得到的结果代入原数据中,查看其死亡时间,对已死亡的数据进行舍弃,对模型进行修正。进而,我们对各步骤进行了深入的思考。第一步,为了更好的对数据进行筛选,我们需要对研究主体进行分类。在查阅了大量相关文献之后,我们发现医学上认为,可能影响一个人的医疗消费单张费用及频率的因素有年龄、收入、性别、是否参加医疗保险、婚姻状况、当地医疗资源丰富程度、医学发达程度、教育程度等。阅读题目可以知道,在我们的分析中,不需要考虑当地医疗资源丰富程度、医学发达程度、是否参加医疗保险,因为这些是该医院中每个患者所共享的一
7、致因素,是非变量因素。在给出的信息中,并没有关于收入、婚姻状况教育程度的数据,因此我们不得不放弃了对这些影响因素的讨论。然后我们又阅读了大量论文,发现性别对于医保消费的费用及频率的影响非常小,并且是否有影响争议较大,因此在我们的数据拟合中可以忽略。在我们参考的大多数论文中,作者都认为年龄与医保消费费用及频率有极大的相关性,为了确定我们所持有的数据中年龄是否与医保消费的单张消费额和频率有关,我们抛弃了一部分明显欺诈的数据 ,然后利用 SPSS 专业数据统计软件对数据进行了分析拟合,得到了大概的对应关系,建立“医保消费年龄模型” 。第二步,在进行深入的模型建设的过程中,我们发现了一个问题,那就是数
8、据中可能存在一部分的虚假信息,我们不能够预知它的规模,对我们的分析结果会造成比较大的影响。因此,我们选择了样本选择模型,并反其道而用之,用现有的所有数据推测原有的可靠数据。我们又加入了二部模型,以追求数据的更加准确。与一般使用的筛选模型不同的是,样本选择模型不是先计算,再筛选出不符合的数据,而是先对数据进行筛选,得出不正确的数据,然后再进行计算,从而得到最终的结果。因为我们已经得知了医保消费单张费用及频率与年龄的相关性很好,并初步得知了两者之间的对应关系,所以,我们套用样本选择模型和二部模型的公式进行计算。又由于在第一步中我们已经初步求得了两者之间的数据关系,因此可以通过 MATLAB 进行拟
9、合,求解出准确的未知系数,得到准确的“单张费用年龄关系”和“消费频率年龄关系” 。在得到两个准确的公式组之后,我们对现有的全部数据进行筛选,然后初步确定了可能的欺诈数据。5第三步,在得到可能的欺诈数据之后,我们将其代回到原数据中,考察可能的异常因素,尤其参考“接近死亡效应假说” ,对已死亡的数据进行抛弃。综合考量,对原有的模型进行修正。数据处理在我们对问题进行分析的过程中,发现庞杂的数据是我们首先要解决的难点。在附件中给出的数据容量大,专业程度高,文件之间难以找到联系,存在一定的关键数据缺失情况。在这种原始数据情况复杂的条件下,想要进行下一步的数据分析筛选工作,无疑是困难重重的。因此,我们做出
10、了大量的工作,使得数据更加结构清晰,关系明确,并以此为基础来进行接下来的工作【3】 。首先,我们将 Excel 中的数据进行了一定的整合。我们将病人资料和费用明细表进行了一定的合并,以病人 ID 为关联项,将 ID 相同的病人的信息整合到同一行中,这样,病人各项指标,如我们所要求的年龄与单次消费总费用的联系就更加明确了,这也大大简化了我们接了下来的工作。其次,我们舍弃了出现在病人资料表而没有出现在费用明细表中的病人的信息,即有医保而未在本时间内看病的人的信息。这些人虽然是医保欺诈的研究对象,但并不是我们能够研究的对象。我们并没有任何关于这些人单张费用或消费频率的数据,因此我们依照统计学的知识,
11、对这些无用数据进行了舍弃。紧接着,我们又对重复的信息如住院 ID 和就诊 ID 等进行了合并。这些重复的数据,我们仅拥有一个就可以进行计算,不需要占用一列,使得数据分析更加复杂。再者,在我们对年龄的计算中,因为原题目中中仅仅有每个患者的出生年月日,因此,我们在考虑到实事背景后,决定以 2015 年为年龄的计算标准,每个人的年龄都是 2015 年的年龄。因为年龄是相对而言的,所以基准时间的确定并不会对最后医保欺诈者的筛选造成影响。同时,在频率的计算中,我们决定用频数来代替频率进行计算。频数,就是在我们所掌握的数据中,患者总共去往医院的次数。频率则指的是患者平均每天去医院的次数。相对于频率而言,频
12、数总是整数,更好计算,不易出现误差,而且数值大,不需要对数值进行约分,并且无论是使用频率还是频数,在我们最终对数据的筛选中,不会对筛选出的患者发生影响。因此,我们使用了频数来代替频率。接着,在单张费用的求值过程中,我们采用了一种想法,将每一次的就诊都当做是不同的人来就诊,以就诊 ID 作为每个患者的代号,而不是将每个患者的总就诊费用加和。也就是说,即使是 3 万人就诊了 10 万次,那么我们也要按照 10 万人在就诊来看待,求出每个年龄的平均单张费用。这种思想大大简化了我们的数据处理进程。然后,在数据分析中,我们发现有些人的医保消费金额是负的,即医院付给了患者药费,这显然是错误的数据。我们统计
13、了这些数据,发现一共有 400多例,而且每一例都存在一个价格相同的正值,因此有可能是抵消错账,我们对这一部分的数据也进行了处理。 【4】6最后,在我们将 Excel 中的数据导入到 SPSS 后,观察散点图,发现了几个异常数据,三个是医保消费频率极端高的,三个是单次医保消费金额极端高的,还有一位年龄为 140 岁,这显然是不可能存在的。因此我们将这七个数据从模型源数据中筛选了出去,在最终结果中加入这些明显诈骗的数据。(年龄超过人类可能)(出现次数过多)(单次消费过高)在进行完这些数据处理后,我们的数据已经比较清楚,数据之间的联系比较清晰,也更加的接近可靠数据,比较容易进行数据分析。详尽的数据分
14、析不仅锻炼了我们的思考能力和软件应用能力,更为我们研究的简便性和研究结果的可靠性提供了方便。一 影响医保消费因素研究在我们对问题的求解过程中,不能够简单地把价格最高的,或是频率最大的作为诈骗数据,进行筛选,从而得出结论。我们需要将被研究的数据单张消费金额、消费频率与某一患者特质联系起来,对每个人进行特定的分析,从而得到准确的结论【5】 。在我们参考了大量文献并深入的思考分析后,我们最终选择了年龄这一可能的印象因素进行分析。下面我们将对医保消费与年龄到底有没有关系进行分析。软件应用面对大量复杂的数据,显然,常用软件 Excel 已经不能满足我们的需求。Excel 的运行速度较为缓慢,而且,关键的
15、是它在处理大量数据时,容易出现较7大的误差。因此,我们接触并学习了专业统计软件 SPSS。在这一步,我们使用SPSS,对大量的数据进行了处理。SPSS 作为专业统计软件,它的特点是可以进行回归分析、拟合等专业统计。SPSS 虽然不如 MATLAB 在矩阵计算上的精确程度,却在大量数据需要统计的情况下有着很大的作用。与 MATLAB 需要编程的特性相比, SPSS 更加的视图清晰,简单易用。在本次的数据处理与结果求得中,我们将熟练地大量使用SPSS 来进行分析求解。模型假设与符号说明在我们不能明确医保消费与年龄的关系的情况下,我们首先利用软件 SPSS对数据的相关性进行综合比较,力图求得拟合效果
16、最好的模型,用来对数据之间的关系进行初步探索。我们首先将处理好的单张消费(消费频率)与患者年龄数据导入到 SPSS 中,在删除了明显诈骗的数据后,先进行了相关性分析,得到如下结果(第一个表格是“单张消费年龄”的相关性分析,第二张是“频率年龄”的相关性分析):8观察表格可知,我们得到的 R 平方数据都偏小,一方面是因为在我们的原始数据中,依旧存在很多虚假的数据,这些数据在这一步骤中难以排除,大量的虚假数据存在使得年龄与单张费用(消费频率)之间的联系被一定程度上抵消了,导致了很小的相关程度。另一方面而言也可能是患者的单张消费(消费频率)与外界因素的相关性不强的,医疗消费对于每个人而言都有一定的刚性
17、,受外界因素的影响较为微弱,这也一定程度上导致了相关程度比较低。可以看出,两张表格的数据都显示出,在所有的拟合方法中,三次曲线模型是 R 平方比较大的,且 F 比较小的,即拟合效果最好的。因此,利用年龄的三次方与医保消费的单张消费及消费频率相关程度最大的特点,我们对年龄与单张消费和消费频率进行模型建立,模型如下所示: 323*yaxbcxk符号说明为:医保消费的单张费用或消费频率:年龄:未知常数系数a、 、 c:误差项k模型求解在 SPSSS 中,我们按照以上模型对两个数据进行了大致的拟合,得到图形及拟合公式如下图所示(上图为单张消费与年龄的关系,下图为消费频率与单张消费之间的频率):9因此,
18、模型分别为:单张消费: 1.420.73*.125.7E*x3yEx消费频率: 0496-x结果分析从拟合的图形中可以看出, “医保消费年龄模型”拟合效果还是比较好的,10说明年龄与医保消费之间的相关关系是比较强的,可以用年龄来对医保消费进行计算。在 SPSS 中,通过对数值的统计,我们初步得知了年龄与单张费用(消费频率)之间的关系式,但是,SPSS 毕竟只是一个统计学软件,它求出来的值可能并不准确。因此,我们只将这一公式作为关系表示式,并不以此为最终的消费与年龄关系公式。具体的公式我们会在下一步中,运用 MATLAB 进行精确的求解。二 “医保消费年龄关系”的准确关系及初步结论再上一步中,我
19、们得出了简单的年龄与医保消费之间的数据关系。因此,我们在这一步骤中选择使用 MATLAB,对其编程然后对数据进行处理。在选择模型时,我们发现了一个重大问题:显然,在我们获得的数据中,有着非常多的虚假数据,然而,我们不知道到底存在多少虚假数据,更不能知道那些虚假数据在哪里。这就导致我们如果简单地对数据进行拟合,然后求解未知变量,求得的数据必定有非常大的误差。为了解决这一问题,我们选择了“样本选择模型”来进行求解。在本题目中,它的优势是先对数据的真实性进行判断,然后才会对数据进行计算,这大大减少了虚假数据对结果的影响,大大提高了结果的可信性。该模型的原本使用方向是,当我们所获得的样本数据在某一方面
20、有缺失,如难以获得某类人群的调查数据时,用已经获得的数据求得未知的数据。在本题目中,我们反其道而用之,用我们现有的掺杂着虚假信息的数据,融入二部模型的判断结构,求解出真实的数据,即用多的有虚假的总体去求解少的真实的部分数据。模型假设与符号说明在样本选择模型中,基础的公式及其符号意义是这样的:*iiiyx1,.in (1)iiidzv 21*ii(c)0iid(c) (3)iiy 4(1)是研究所需的结果等式 ,(2)是潜变量为受限形式的选择等式。 和 *iy*id分别是与因变量 和指示变量 相联系的潜变量。 和 是自变量向量, iyidixiz和 是未知参数向量,而 和 是可观测到的因变量。(3)和(4)分别反映了ii和 以及 和 的对应关系, 为界值。当 时,因变量 是可以观测id*iiy*i c*idciy