1医保欺诈行为的主动发现长春理工大学贾而穑陈俊叶秀玲指导老师:周林华摘要随着医疗保障制度的普及,医保欺诈案件呈逐年递增趋势,不仅损害了医保经营的诚信原则,也威胁到了医保基金的安全。为此,如何对医保欺诈行为实现及时自主地发现尤为重要。本文通过:①利用可信度较高的欺诈指示因子实现数据初步筛选;②基于BP神经网络和蒙特卡洛方法挖掘各类数据之间的隐匿关系,实现数据精细筛选;③对医保欺诈数据进行信息挖掘,得出三类不同医保欺诈的特征信息。最终,形成了一套完整的医保欺诈数据挖掘方案。(1)数据初步筛选:基于病人ID号等信息将所有数据建立联系;根据病人单张处方总价、就医次数等因素,确定4个欺诈指示因子,将总体样本划分为医保欺诈数据(Y类数据)及疑似医保欺诈数据(N类数据)。(2)数据精细筛选:根据医嘱项、买药总数量、就医次数等9个BP神经网络输入因子,利用MATLAB软件建立BP神经网络;在初步筛选的基础上,随机抽取1组数据作为BP神经网络的训练样本;利用样本进行神经网络训练与检测;进一步利用训练好的神经网络对总体进行识别;重复以上步骤n次(建立BP神经网络除外),实现蒙特卡洛随机试验;若每次试验最终确定的医保欺诈者类的个数与n次随机试验所得结果并集的个数之比都大于90%,则认为该方法可行,最终可以识别出医保欺诈者类。(3)医保欺诈数据信息挖掘:通过统计所有医保欺诈者ID出现的频数,可以将医保欺诈数据分为重大嫌疑,次要嫌疑及嫌疑较小三类;进一步通过绘制相关信息盒图以及人员分布直方图等,实现三类ID号不同信息的特征识别,并确定了可将ID号进行分类的原因;最后,利用SPSS进行聚类分析,证实了我们的划分方法是可行的。(4)利用Logistic回归分析对神经网络模型进行改进:对确定的9个输入2因子进行二元回归分析,根据回归系数,找出其中的弱因子并将其剔除,在一定程度上可降低对BP神经网络识别的干扰,提高BP神经网络的准确度。关键词:医保欺诈数据挖掘BP神经网络蒙特卡洛模拟一.问题重述我国当前医疗保险欺诈呈现蔓延态势。医疗保险欺诈,是指公民、法人或者其他组织在参加医疗保险、缴纳医疗保险费、享受医疗保险待遇过程中,故意捏造事实、弄虚作假、隐瞒真实情况等造成医疗保险基金损失的行为。骗保人进行医保欺诈时通常使用的手段,一是拿着别人的医保卡配药,二是在不同的医院和医生处重复配药。下面这些情况都有可能涉嫌医保欺诈:单张处方药费特别高,一张卡在一定时间内反复多次拿药等。我们要根据题目附件中的数据,找出可能的欺诈记录。二.问题分析医疗保险欺诈的识别问题事实上就是索赔分类问题,即区分是欺诈索赔还是合法索赔[]。通过分析索赔人信息、索赔信息、治疗情况,例如身份证号、医疗手册号、性别、购药单价、总价、医嘱类及医嘱子类,选择合适的欺诈指示因子,用统计学的方法建立识别模型。由于题给医疗保险欺诈数据量庞大且含有较多的噪声数据,特征变量较多,而BP神经网络具有较强的处理含噪声数据的能力以及处理不严密的知识和定性特征变故的能力[],故我们初步采用BP神经网络这种先进的人工智能技术。首先根据附表2.1和附表2.2中病人ID,身份证及医嘱项等相关信息,初步选择a个欺诈指示因子,将总体数据进行分类,完成对总体样本的初步筛选。对初步筛选的结果赋予相应的期望,为BP神经网络提供必要的输入数据。随机抽取初步筛选的结果,得到n组BP神经网络的训练样本。通过分析附表所给的相关信息,如:病人ID,身份证号,医嘱项,核算分类等,我们初步确定了b个模糊因子作为BP神经网络的输入因子,建立BP神经网络并对随机抽3取的n组样本数据进行训练,检测。最后我们用所训练好的的n组BP神经网络对总体进行识别,输出结果R,𝑅…𝑅𝑛。并通过设定频数阈值,将输出的结果分为重大嫌疑,次要嫌疑,嫌疑较小三类。至此精细筛选部分完成。为了验证我们对总体识别结果的划分是可行的,我们采用SPSS进行了Ward聚类,并将聚类结果与我们划分的结果相比较,以证实我们的分类方式是合理的。由于我们不知道b个模糊因子对医保欺诈识别的影响,故我们考虑到用Logistics回归分析对BP神经网络模型进行改进。利用Logistic回归分析对神经网输入因子进行筛选,输出每一个模糊因子对应的权重,剔除弱因子,提高BP神经网络识别的准确率。三.模型假设1.ID号为692316的年龄数据不详,ID号为669432的年龄为140(严重与事实不符),故剔除不予以考虑;2.ID号为687972,31551,580015的购买频率为0,故不计入欺诈索赔的范围内;3.若BP神经网络检测准确率大于90%,则可认为所建立的BP神经网络合理;4.假设数据预处理的a个欺诈指示因子相互之间没有联系;5.所有的医疗数据均来自同一家医院。四.符号说明欺诈指示因子A情况下,对总体样本数据筛选出的集合欺诈指示因子B情况下,对总体样本数据筛选出的集合欺诈指示因子C情况下,对总体样本数据筛选出的集合欺诈指示因子D情况下,对总体样本数据筛选出的集合n从总体随机抽取样本的个数𝑅𝑖将样本𝑋𝑖进行BP神经网络训练,检测,然后对总体进行识别后输出的结果𝑅𝑖N(𝑅𝑖)表示输出数据𝑅𝑖集合中的个数。4五.模型建立本文以数据挖掘为主线,建立了三重数据挖掘的数学模型,以实现对总体数据的初步筛选,精细筛选和信息挖掘,具体的步骤如下(如图-1所示):第一步:初步筛选。确立若干个欺诈指示因子,将总体数据划分为欺诈类和疑似欺诈类。认定欺诈类是已经确定有问题的数据。第二步:精细筛选。通过BP神经网络以及蒙特卡洛方法,实现对总体数据的更进一步挖掘;第三步:信息挖掘。对前两步所确定的问题数据进行第三次数据挖掘,以确定所有问题数据其背后的信息特征。下图-1为三次数据挖掘数学模型的流程图。随机抽取原始数据欺诈类疑似欺诈类训练样本训练BP神经网络识别总体识别结果信息挖掘BP神经网络和蒙特卡洛方法进行精细筛选欺诈指示因子进行初步筛选第一次数据挖掘第二次数据挖掘5图-15.1初步筛选的模型建立(1)欺诈因子确定通过对附表2-1的身份证和ID号及统计买药次数等信息,我们初步确定了4个欺诈指示因子。因子A:不满足医疗保险号与身份证的唯一识别因子B:单张处方费用特别高因子C:同个病人的ID买药频率过高因子D:在不同的医院和医生处重复配药将总体样本划分为欺诈样本数据(Y类)和疑似欺诈数据(N类),分别赋予期望值0和1。①因子A:不满足医疗保险号与身份证的唯一识别由我国医疗保险相关政策可知,医疗保险号与身份证具有唯一识别性,即一张身份证只能有一个医疗保险号,一个医疗保险号也只能对应一张身份证,如果我们从题给表2-1病人资料中找出满足因子A的数据,那么此类数据可以归为欺诈行为。②因子B:处方费用特别高通过Excel对附表2-2.费用明细表总价一栏进行数据排序,我们发现有些账单费用特别高,而通过附表2-5.核算分类表,我们发现账单费用均用来购买药品,故排除因手术等高收费项目导致的处方费用特别高。通过统计概率密度,对概率密度进行有限元积分,求出概率并且设定概率阈值,并找出对应的处方费用。则超过该处方费用的的数据归为医疗欺诈数据。③因子C:同个病人的ID买药频率过高通过分析附表2-2.费用明细表,同一个病人ID号在一个月的时间频繁买药,4个欺诈指示因子对嫌疑ID号背后的信息特征进行挖掘第三次数据挖掘6最高的次数达到128次,远远超过正常次数。因此,我们认为频率过高的数据有可能是医疗欺诈。同样的,我们通过统计概率密度,对概率密度进行有限元积分,求出概率并且设定概率阈值,找出相对应的频数,则超过该处方费用的数据归为医疗欺诈数据。④因子D:在不同的医院和医生处重复配药通过分析表2-2费用明细表,我们发现存在一个病人ID买相同数量的同种药物的情况,极有可能是在不同的医院或者不同的医生处开的药,但由于此类数据较少,我们选取频率较高的前两组数据归为医疗欺诈数据。(2)对样本进行分类按照以上四个欺诈指示因子,我们将总体样本选出,,,四个集合。Y类样本数据应全部包含4个欺诈指示因子所确定的集合,故需要对四个集合进行并运算:Y=所求结果为总体样本Y类样本数据。样本中剩下的数据归为N类样本数据。5.2精细筛选的模型建立根据医嘱项、买药总数量、就医次数等9个BP神经网络输入因子,利用MATLAB软件建立BP神经网络;在初步筛选的基础上,随机抽取1组数据作为BP神经网络的训练样本;利用样本进行神经网络训练与检测;进一步利用训练好的神经网络对总体进行识别;重复以上步骤n次(建立BP神经网络除外),实现蒙特卡洛随机试验;若每次试验最终确定的医保欺诈者类的个数与n次随机试验所得结果并集的个数之比都大于90%,则认为该方法可行,最终可以识别医保欺诈者类。具体步骤如下:第一步,基于蒙特卡洛思想,从初步筛选阶段所划分的两类ID号中分别随机抽取n组样本,赋予期望0和1后组合成n组BP神经网络的训练样本X,𝑋…𝑋𝑛;第二步,确定模糊因子作为BP神经网络的输入因子,并确定隐含层和输出层,建立BP神经网络;7第三步,对样本𝑋𝑖(i=1,2……n)进行训练和检测,并对输出的准确率进行分析,检测神经网络的参数及模糊因子设置是否合理;第四步,若模糊因子设置合理,则用训练好的BP神经网络对总体进行识别;第五步,对样本X,𝑋…𝑋𝑛重复上述第二步到第四步,实现蒙特卡洛模拟,并输出结果R,𝑅…𝑅𝑛;第六步,若𝑁(𝑅𝑖)𝑁(𝑅1𝑅2…𝑅𝑛)90%以上,则认为欺诈指示因子可信,建立的BP神经网络具备识别医保欺诈的功能;第七步,统计输出结果R,𝑅…𝑅𝑛的病人ID号在n组输出数据中出现的频数,通过设定频率阈值,确定出重大嫌疑,次要嫌疑及嫌疑较小的ID号。精细筛选的流程图如图-2所示:(1)BP神经网络的结构设计①输入层的输入因子确定在数据预处理的部分,利用附表2.1病人资料及附表2.1费用明细表的相关数据,初步确定了4个欺诈指示因子,并将随机抽取的样本划分为Y类和N类。然而实际上,确定一个ID号是否存在欺诈行为的判断依据远不止4个,对于一些模糊的,不能确定是否和欺诈有关联的影响因素,我们并不能很好的去鉴别。因此我们根据附表,所给的性别,年龄,医嘱项,下属科室等相关信息,又设定了9个模糊因子作为BP神经网络的输入因子,并通过BP神经网络来进行判定其设定的合理性,9个神经网络输入因子如下表-1所示:性别年龄买药频率买药总花费买药总数量下嘱科室执行科室病人科室医嘱重复因子表-1根据BP神经网络的相关特性,训练样本与输入因子的要求。上表所确定的性别,年龄,买药频率等前8项均可在题给数据或经过相应的统计后可以获得。对于医嘱项来说,我们经过数据处理找出一个病人ID号对应多个医嘱项,8故医嘱项不能直接作为输入因子。但是,可以求得某一因子∅,即医嘱重复因子其表达式为:∅=Kind/num,当∅越小时,表示该ID的相对重复率越大,越可能涉嫌医保欺诈。所以我们最后将输入医嘱重复因子作为输入因子。Num:相同ID号医嘱的总数;kind:相同ID号医嘱的种数。否:调整模糊因子及欺诈指示因子疑似欺诈类样本X样本X样本X𝑛赋予期望值神经网络训练与检测输出结果𝑅𝑁(𝑅𝑖)𝑁(𝑅𝑅…𝑅𝑛)≥90%,(𝑖=1,2,…,𝑛)…………对总体识别对总体识别输出结果𝑅𝑁……………………蒙特卡洛抽样神经网络训练与检测赋予期望值初步筛选欺诈类9图-2②隐含层节点数的确定对于医保诈骗识别的BP神经网络,我们设定其隐含层层数为3,并依据经验公式:M=√𝑛+m+a[5](M:隐含层节点个数,n:输入层神经元个数,m:输出层神经元个数,a:[0,10]之间的常数)确定隐含层节点个数如下:隐含层节点个数Layer19Layer210Layer32表-2③输出层的确定根据先前数据预处理的模型建立部分,我们已经对Y类和N类赋予相应的期望:数据类别期望Y类数据0N类数据1表-3因此,输出层的节点个数设定为1,输出的值为0或者1。输出结果是10(2)神经网络