引入动量因子,使本次权值的更新方向和幅度不仅与本次计算的梯度有关还与更新有关,使权值更新有一定的惯性。研究中动量因子设定为0.9。
模型经过94次训练误差精度达到0.009935小于目标0.01,训练结束,训练过程如下:
图-4模拟训练过程图
训练后模型的拟合优度达到0.97984,较为理想。在合理的容错限度内可以较为准确地进行数据拟合和预测。运用上述已经成型的神经网络模型,将数据导入其中得到了结果图:
15
图-5模型求解结果图
在10%的容错限度内判定准确率达到85.17%,在20%容错限度内准确率达到96.65%,可以认为准确率很高。运用MATLAB语句选取概率在0.9以上的账单记录视为存在医疗保险欺诈的行为结果给出了797条,部分数据如下表所示:
表-10 利用SOFM神经网络模型得到存在医疗欺诈的账单记录
.
六、模型的评价与改进
16
6.1模型的优点
1.利用logistic模型能够对初步确定的欺诈识别因子进行显著性水平检验,从而筛选出显著性高的识别因子;
2.以logit回归分析得到的显著有效地欺诈识别因子作为输出变量建立BP神经网络模型,从样本中选取一部分样本作为训练样本,用训练样本来训练神经网络,使神经网络更加合理,更加成熟;
3.模型能适用于其他各种医疗保险欺诈的识别,整个模型有很好的通用性。 6.2模型的缺点:
(1)在处理2.1病人资料,2.2 费用明细表数据时,对于不完整数据和主观认为不相关数据源进行了主观性忽略,可能会导致一些重要指标的丢失以及各个因素间的影响。
(2)医疗诈骗的行为很多,所以表现也多。本模型分析的医疗诈骗行为可能不完善,所以有的诈骗行为可能难以区分。
七、 参考文献
[1] 刘长骞,《K均值算法改进及在网络入侵检测中的应用》,《计算机仿真》,28(3): 190-193,2011年 [2] 向继 高能 荆继武,《聚类算法在网络入侵检测中的应用》,《计算机工程》,29(16): 48-50,2003年
[3] 姜启源 谢金星 叶俊,《数学模型》,北京:高等教育出版社,2010年 [4] 李德宜 李明,《数学建模》,北京:科学出版社,2009年 [5] 丁国盛 李涛,《SPSS统计教程》,北京:机械工业出版社,2006年 [6] 薛薇,《统计分析与SPSS的应用》,北京:中国人民大学出版社,2008 [6] 姜启源.数学模型(第三版)[M].北京:高等教育出版社,1999. [7] 韩中庚.数学建模方法及其应用(第二版)[M].北京:高等教育出版社,2009.
17
[8] 王沫然.MATLAB与科学计算.北京:电子工业出版社,2003年. [9] 刘潇.社会医疗保险道德风险及其控制机制研究——基于医疗服务供需双方的分析.北京:中国人民大学,2008年.
附录
附录1 计数程序
ii=331; sum=0; for i=1:ii
if r(i)>0.8
if r(i)<1.2 sum=sum+1; rrr(i)=1; end end end
附录2 数据库中对数据进行预处理程序
select WORKLOAD_ROWID as 购药记录, WORKLOAD_ARPBL_DR as 账单号, WORKLOAD_ITEMCAT_DR as 医嘱子类, WORKLOAD_ITEMORD_DR as 医嘱项, WORKLOAD_ORDDATE as 医嘱日期, WORKLOAD_FLAGDATE as 结算日期,
convert(float, convert(datetime, WORKLOAD_FLAGDATE-WORKLOAD_ORDDATE)) as 时间间隔,
WORKLOAD_PAPMI_DR as 医保对象, PAPMI_DOB as 出生日期, PAPMI_MEDICARE as 病例号, PAPMI_NAME3 as 医保手册号,
18
PAPMI_SEX_DR as 性别, PAPMI_DECEASED as 是否死亡, PAPMI_DECEASED_DATE as 死亡日期, PAPMI_SECONDPHONE as 工作单位, PAPMI_MOBPHONE as 手机号,
WORKLOAD_PATDEP_DR as 下医嘱科室, WORKLOAD_QUANTITY as 医嘱数量, WORKLOAD_RECDEP_DR as 执行科室, WORKLOAD_RESDOC_DR as 下医嘱医生, WORKLOAD_TAREC_DR as 核算分类, WORKLOAD_TOTALPRICE as 费用, WORKLOAD_UNITPRICE as 单价
update Sheet1$ set 医嘱数量=0-医嘱数量 where 医嘱数量<0
update Sheet1$ set 单价=0-单价
where 单价<0 update Sheet1$ set 费用=0-费用 where 费用<0
update Sheet1$ set 年龄
=datediff(YEAR,出生日期,'2014-08-15') update Sheet1$ set 性别 =0 where 性别=2
update Sheet1$ set 病例号=0
where 病例号='NULL' update Sheet1$ set病例号=1 号 <> 0
update Sheet1$ set 是否死亡=0 where
是
否
死
亡
='NULL' update Sheet1$ set
19
where 病例是
否
死