发明内容
为了解决现有技术中旋转门压缩算法在容差设定后进行斜率阈值判断时往往不够灵活的问题,本发明提供一种数据的存储方法及系统,获取每个患者的医疗保险数据构建时序序列,得到待压缩序列;获取待压缩数据序列中每个数据点对应的SBN路径;获取每个数据点的趋势影响因子;获取每个数据点的平均链接距离;获取每个数据点的趋势离群因子,获取每个医疗结算次数下对应数据点的斜率校正因子;获取每个医疗结算次数下对应数据点的压缩斜率,根据每个数据点的压缩斜率对所有患者的待压缩序列进行旋转门压缩,并将压缩后的数据进行存储。本发明通过数据点的趋势离群对数据点在旋转门压缩过程中的斜率进行校正,在提高数据压缩效果的同时保留医疗保险数据的趋势变化特征。
本发明采用如下技术方案,一种数据的存储方法,包括:
获取每个患者的医疗保险数据,并根据每个患者的医疗结算次数构建时序序列,得到每个患者的待压缩序列;
将患者每次医疗结算时的医疗保险数据作为待压缩序列中的数据点;获取每个患者的待压缩数据序列中每个数据点对应的SBN路径;
根据每个数据点对应的SBN路径中包含数据点的个数获取每个数据点的趋势影响因子;根据每个数据点的趋势影响因子和SBN路径获取每个数据点的平均链接距离;
根据每个数据点的平均链接距离获取每个数据点的趋势离群因子,根据所有患者的待压缩序列中相同医疗结算次数下对应数据点的趋势离群因子,获取每个医疗结算次数下对应数据点的斜率校正因子;
根据每个医疗结算次数下对应数据点的斜率校正因子获取每个医疗结算次数下对应数据点的压缩斜率,根据每个数据点的压缩斜率对所有患者的待压缩序列进行旋转门压缩,并将压缩后的数据进行存储。
进一步的,一种数据的存储方法,对所有患者的待压缩序列进行旋转门压缩的方法为:
获取所有患者的待压缩序列中相同医疗结算次数下的数据点最大值与数据点最小值;
将最大值对应数据点的压缩斜率作为旋转门算法的上门斜率,将最小值对应数据点的压缩斜率作为旋转门算法的下门斜率;
判断当前医疗结算次数下数据点对应的上门斜率是否大于等于下门斜率;
若当前医疗结算次数下数据点对应的上门斜率大于等于下门斜率,将当前医疗结算次数下所有患者对应的数据点进行存储,并对当前医疗结算次数之前的所有数据点进行旋转门压缩;
若当前医疗结算次数下数据点对应的上门斜率小于下门斜率,获取下一个医疗结算次数下数据点对应的上门斜率和下门斜率,依次迭代,直至下一个医疗结算次数下数据点对应的上门斜率大于等于下门斜率。
进一步的,一种数据的存储方法,获取每个患者的待压缩数据序列中每个数据点对应的SBN路径的方法为:
以待压缩数据序列中的每个数据点作为初始数据点,寻找与初始数据点距离最短的下一个数据点作为第一数据点,获取与第一数据点距离最短的下一个数据点作为第二数据点,依次进行遍历,直至下一个数据点不在初始数据点的设定邻域范围内,得到每个目标像素点对应的所有数据节点;
从每个初始数据点开始依次连接对应的所有数据节点,获取两两数据节点之间的路径作为节点路径,根据所有节点路径得到每个目标像素点对应的SBN路径。
进一步的,一种数据的存储方法,获取每个数据点的趋势影响因子的方法为:
其中,αi表示第i个数据点的趋势影响因子,D为连续趋势计数器,从初始数据点开始,当两两数据节点之间的节点路径与前一个节点路径的变化趋势相同时,D=D+1,则Dr表示第r个节点路径的连续趋势计数值,Nk表示距离初始数据点设定邻域范围为k内数据点的个数且Nk>1,Nk-1表示初始数据点的SBN路径中节点路径的个数,er表示第r个节点路径的趋势参考系数,当第r个节点路径的趋势为上升时,er取值为1,当第r个节点路径的趋势为下降时,er取值为-1,同理,er-1表示第r-1个节点路径的趋势参考系数,表示第t个节点路径的斜率,/>表示第r-1个节点路径的斜率,arctan()为反正切函数,Norm()为归一化函数,||为绝对值符号。
进一步的,一种数据的存储方法,获取每个数据点的趋势离群因子的方法为:
以每个数据点为目标数据点,获取目标数据点的平均链接距离;
获取距离目标数据点设定邻域范围内其他每个数据点的平均链接距离之和;
根据目标数据点的平均链接距离与距离目标数据点设定邻域范围内其他数据点个数的乘积,与距离目标数据点设定邻域范围内其他每个数据点的平均链接距离之和的比值得到目标数据点的趋势离群因子。
进一步的,一种数据的存储方法,获取每个医疗结算次数下对应数据点的斜率校正因子的方法为:
获取所有患者的待压缩序列中相同医疗结算次数下对应数据点的趋势离群因子的均值,并对该均值进行归一化,得到每个医疗结算次数下对应数据点的斜率校正因子。
进一步的,一种数据的存储方法,获取每个医疗结算次数下对应数据点的斜率校正因子之后,还包括:
获取所有患者的待压缩序列中相同医疗结算次数下对应数据点的趋势离群因子的方差;
利用归一化后的该方差与每个医疗结算次数下对应数据点的斜率校正因子的乘积,获取每个医疗结算次数下对应数据点的最终斜率校正因子。
进一步的,一种数据的存储方法,获取每个医疗结算次数下对应每个数据点的压缩斜率的方法为:
利用旋转门算法获取每个医疗结算次数下对应每个数据点的第一斜率;
将每个医疗结算次数下对应数据点的最终斜率校正因子与第一斜率的乘积,作为每个医疗结算次数下对应数据点的压缩斜率。
进一步的,一种数据的存储方法,获取每个数据点的平均链接距离的方法为:
其中,di表示第i个数据点的平均链接距离,Nk表示距离初始数据点设定邻域范围为k内数据点的个数且Nk>1,Nk-1表示第i个数据点的SBN路径中节点路径的个数,r表示第r个节点路径,αi表示第i个数据点的趋势影响因子,dist(r)表示第r个节点路径的长度。
进一步的,本发明还提出了一种数据的存储系统,包括处理器和存储器,存储器存储有程序,处理器执行存储器中存储的程序以实现本发明所述的一种数据的存储方法。
本发明的有益效果是:本发明利用数据点在SBN中的趋势变化因子获取趋势离群因子,相比传统离群因子的获取,本发明中的趋势变化因子能够衡量数据点之间的趋势信息对传统离群因子获取过程中的平均链接距离进行优化,使得本发明中得到的趋势离群因子可以关注到局部出现异常的数据点,从而对旋转门压缩过程中对数据点斜率的判断进行校正,能够解决数据在进行旋转门压缩的过程中,容差范围内数据的变化未引起旋转门压缩算法的注意,从而导致数据趋势性信息丢失的问题,即在保证数据进行旋转门压缩具有较好的压缩程度的同时,保留数据的局部趋势信息,使得数据中的离群信息在压缩后也可以保留下来,实现重要信息或离群信息的无损存储,保证提取数据进行欺诈行为检测时数据的完整性。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,给出了本发明实施例的一种数据的存储方法流程示意图,包括:
101.获取每个患者的医疗保险数据并根据每个患者的医疗结算次数构建时序序列;
在医疗保险数据库中,数据可以根据患者ID为主键进行提取,对于每个患者ID中的医疗保险费用数据,可以对应为每次医疗结算费用的医疗结算事件ID,对于数据库中每个患者ID中相同的医疗结算事件因为其诊疗过程相似,并且存在着大量的冗余数据,将这部分数据进行压缩存储。
对于每一个患者ID,提取其对于同一种医疗结算事件产生的医疗保险费用的时序数据,对于每一个患者的医疗保险费用时序数据通过费用发生的时间根据费用发生次数进行配准,即时间轴为第一次费用产生,第二次费用产生进行记录,并以此将不同患者ID对应的时序数据进行配准,使得其可以共同进行分析。
至此,通过患者ID与医疗结算事件ID在医疗保险数据库中提取出待压缩存储的数据。
102.获取每个患者的待压缩数据序列中每个数据点对应的SBN路径;
在通过传统的旋转门压缩算法对医疗保险费用数据进行压缩时,需要通过起始数据点与目标数据点之间的斜率判断是否到达旋转门停止的阈值,从而将范围内的数据点进行线性拟合,完成数据压缩,但是在医疗保险数据后续的数据挖掘与欺诈行为检测中,需要通过数据中的一些异常数据信息来进行检测,现有的旋转门压缩算法对于设定好的容差对于斜率阈值的判断会将范围内的数据点全部进行线性拟合压缩,所以对于当前场景中的医疗保险费用数据,本发明通过单用户数据中数据点的趋势离群因子结合全部同医疗结算事件的多用户数据进行趋势离群的判断获取斜率校正因子,这样在对全部数据进行压缩的过程中就可以根据数据点的重要性进行斜率调整,从而保证压缩的过程中可以保留医疗保险数据中的异常数据信息。
因为本发明所述的场景是对时序数据的离群性进行判断,因为时序数据存在一个整体时间变化,所以对于时序数据中的离群点需要在局部进行检测,本发明中通过现有的COF算法进行数据点的局部离群因子的衡量。
获取每个患者的待压缩数据序列中每个数据点对应的SBN路径的方法为:
以待压缩数据序列中的每个数据点作为初始数据点,寻找与初始数据点距离最短的下一个数据点作为第一数据点,获取与第一数据点距离最短的下一个数据点作为第二数据点,依次进行遍历,直至下一个数据点不在初始数据点的设定邻域范围内,得到每个目标像素点对应的所有数据节点;
从每个初始数据点开始依次连接对应的所有数据节点,获取两两数据节点之间的路径作为节点路径,根据所有节点路径得到每个目标像素点对应的SBN路径。
在基于连通性的局部异常因子检测(COF)算法中,一个数据点的SBN路径通过如下方法获取,对于一个数据点,首先确定其k距离邻域,并以该数据点为初始数据点,在其k距离邻域中确定每一步都是最短的遍历路径,如图2所示,数据的分布为一条线,且存在两个离群点,即数据点1,2;
需要说明的是,本发明中目标数据点之间的距离是指将时序数据中的目标数据点映射至以时序为横坐标,目标数据点的数据值为纵坐标的坐标空间中,则可以在坐标空间中计算目标数据点之间的欧式距离。
数据点1与数据点2之间的欧式距离为5,数据点2与数据点7之间的距离为3,直线上任意两个相邻的数据点之间的距离为1,以数据点1为初始数据点,设定k值为10(k值的设定可根据实际情况进行选取,本发明中仅为举例说明,对此不作任何限制,同时本发明给出的数据示意图2也仅作举例,实际数据间的排序方式以及距离可以为任意形式);则数据点1的k距离邻域中包含的数据点为数据点2,4,6,7,8,9,10,11,12,13;则根据SBN路径的获取方式可以得到数据点1的SBN路径为s1=<1,2,7,6,5,8,9,10,11,12,13>其中,相邻两两数据点之间的距离依次构成数据点1的SBN路径中的节点路径dist(r),例如数据点1与数据点2之间构成第一个节点路径,其路径距离为dist(1)=5。
需要说明的是,本发明中所涉及的COF算法及SBN路径的获取均为现有技术,即利用现有技术中对基于连通性的局部异常因子检测(COF)算法的记载即可以实现获取本发明中数据点的SBN路径,本发明中对该算法不作过多赘述。
103.获取每个数据点的平均链接距离;
对于本发明中得到的所有患者ID对应的医疗保险费用时序数据,在现有的时序数据中离群因子计算方法COF中,其通过数据点局部区域的平均链接距离对数据点的局部离群程度进行评估,由于每个数据点在时序中都对应着到达它的数据点的趋势,在SBN路径中每一段路径都有着数值上的变化趋势,因此路径中的趋势变化情况可以反应一个数据点所在局部区域中的整体趋势信息,在路径的平均链接距离计算中,本发明通过路径的趋势变化来对后续的路径花费进行校正,从而通过趋势变化对数据点的离群情况进行判断,对于每个数据点局部SBN路径中的趋势影响因子αi,获取方法如下:
其中,αi表示第i个数据点的趋势影响因子,D为连续趋势计数器,从初始数据点开始,当两两数据节点之间的节点路径与前一个节点路径的变化趋势相同时,D=D+1,则Dr表示第r个节点路径的连续趋势计数值,Nk表示距离初始数据点设定邻域范围为k内数据点的个数且Nk>1,Nk-1表示初始数据点的SBN路径中节点路径的个数,er表示第r个节点路径的趋势参考系数,当第r个节点路径的趋势为上升时,er取值为1,当第r个节点路径的趋势为下降时,er取值为-1,同理,er-1表示第r-1个节点路径的趋势参考系数,表示第t个节点路径的斜率,/>表示第r-1个节点路径的斜率arctan()为反正切函数,Norm()为归一化函数,||为绝对值符号。
在医疗数据中,单独的孤立离群点在数据的压缩过程中可以作为噪声消除,但是对于医疗保险费用数据中,趋势在局部差异大的数据点包含了治疗过程中的阶段差异信息,所以在后续的医疗保险数据挖掘中需要通过这部分信息进行医疗保险欺诈行为的识别,在数据压缩的过程中,对于单个患者ID的医疗保险费用数据就需要通过趋势离群性来获取单患者ID中的趋势影响因子。
在获取每个数据点局部SBN路径中的趋势影响因子的表达式中,本发明通过路径的变化趋势获取趋势影响因子,对于趋势连续相同的路径则说明该数据点的局部趋势有着相同的方向,也就是趋势没有异常,当出现一个数据点的趋势信息与局部其他数据点不同,则说明该数据点是趋势异常数据点,进而对整个SBN路径中所有趋势变化角度大小进行归一化,对于趋势变化大的数据点在路径中会有更高的花费,从而突出数据点的趋势影响,对于连续相同趋势的路径,因为无趋势变化,所以根据连续相同趋势路径的数量对路径花费进行降低,从而更加突出趋势变化路径的花费,进一步的突出数据点的局部趋势异常。
在获取到趋势影响因子之后,对于每个患者ID对应的医疗保险费用数据,通过趋势影响因子优化后的COF离群因子对每个数据点在单患者医疗保险费用数据中进行离群因子衡量,即获取每个数据点的平均链接距离的方法为:
其中,di表示第i个数据点的平均链接距离,Nk表示距离初始数据点设定邻域范围为k内数据点的个数且Nk>1,Nk-1表示第i个数据点的SBN路径中节点路径的个数,r表示第r个节点路径,αi表示第i个数据点的趋势影响因子,dist(r)表示第r个节点路径的长度。
本发明中记载的获取每个数据点的平均链接距离的表达式为现有的局部平均链接距离计算公式,其通过所有患者对应的费用数据进行整体的趋势离群判断,从而准确衡量在这一次费用产生中,患者的医疗保险费用数据是否存在异常,可直接通过现有技术中记载的内容应用于本发明,本发明中不作详细解释。
104.获取每个医疗结算次数下对应数据点的斜率校正因子;
获取每个数据点的趋势离群因子的方法为:
以每个数据点为目标数据点,获取目标数据点的平均链接距离;
获取距离目标数据点设定邻域范围内其他每个数据点的平均链接距离之和;
根据目标数据点的平均链接距离与距离目标数据点设定邻域范围内其他数据点个数的乘积,与距离目标数据点设定邻域范围内其他每个数据点的平均链接距离之和的比值得到目标数据点的趋势离群因子。
强烈移动点的k距离邻域中的大多数点应该具有较小的平均链接距离,对于这种强烈移动的点会具有更大的基于连通性的异常因子,对于弱偏移的点,其k距离邻域中的大多数点应该具有可比较的平均链接距离值,使得此类点的基于连通性的离群值较小,本发明利用现有技术中基于连通性的局部异常因子检测(COF)算法获取每个数据点的趋势离群因子,具体获取方法与现有技术中的记载相同,本发明不作赘述。
在获取到每个患者ID的数据点离群因子之后,因为需要将所有患者ID对应的相同的医疗结算事件放在一起进行压缩,那么对于每一次费用产生,需要进一步在所有用户中数据点的变化一致性判断数据点在压缩过程中的斜率校正因子。
对于每一次的费用数据,其中包含了每个用户的费用数据点,并且每个数据点都对应着其在单用户数据中的趋势离群因子,当数据点在纵向分布中趋于一致,则说明该部分数据在压缩过程中可以进行统一压缩,对于纵向分布混乱的数据点,则说明在这一次费用的产生存在着用户之间的差异,那么这一部分数据点在医疗保险数据挖掘对医疗保险欺诈行为进行识别的过程中重要性就更高,那么在通过旋转门算法对数据进行压缩时,对于这些数据点就需要进行斜率校正,以避免旋转门将这一部分数据点直接进行线性拟合压缩。
获取每个医疗结算次数下对应数据点的斜率校正因子的方法为:获取所有患者的待压缩序列中相同医疗结算次数下对应数据点的趋势离群因子的均值,并对该均值进行归一化,得到每个医疗结算次数下对应数据点的斜率校正因子,表达式为:
其中,ξj表示第j次医疗结算下对应数据点的斜率校正因子,COF′(i)表示第i个数据点的趋势离群因子,Nj表示第j次医疗结算下对应数据点的个数;对于全部用户在第j次费用产生(即医疗结算)时的趋势离群因子的均值,其表示了在第j次费用产生过程中费用产生的平均趋势,在旋转门压缩的过程中,当这一次费用产生的平均趋势在局部区域的趋势离群程度越高则说明对于第j次费用产生的数据出现了局部趋势的异常,所以通过该趋势衡量数值在全部用户的费用数据中的离群程度进行斜率校正因子的衡量,用于校正旋转门算法在判断第j次费用产生时数据点与起始点的斜率。
在获取到第j次费用数据的斜率校正因子之后,因为在医疗保险费用数据中,患者费用数据全异常则说明该患者的所有数据均是随机产生,没有固定规律,则对于这部分全异常的数据来说相当于不存在异常情况,所以在单患者的趋势离群因子到全部患者的趋势离群因子的离群程度的计算中,需要对第j次费用产生中所有患者的趋势离群因子的分布状态进行判断,当第j次中费用数据分布地越集中,则说明这一次费用中,每个用户的数据在单用户数据中都处于趋势离群的状态,通过数据的集中程度则可以说明这一次费用产生的合理性,对于第j次费用产生,多患者的费用数据的趋势离群因子越集中,则说明数据越正常,那么其重要性也就比较低,在数据压缩中的斜率校正则可以进行更小程度的校正,因此本发明通过第j次费用中所有数据点趋势离群因子的方差进行校正。
获取每个医疗结算次数下对应数据点的斜率校正因子之后,还包括:获取所有患者的待压缩序列中相同医疗结算次数下对应数据点的趋势离群因子的方差;利用归一化后的该方差与每个医疗结算次数下对应数据点的斜率校正因子的乘积,获取每个医疗结算次数下对应数据点的最终斜率校正因子;
105.根据每个数据点的压缩斜率对所有患者的待压缩序列进行旋转门压缩,并将压缩后的数据进行存储。
获取每个医疗结算次数下对应每个数据点的压缩斜率的方法为:利用旋转门算法获取每个医疗结算次数下对应每个数据点的第一斜率;将每个医疗结算次数下对应数据点的最终斜率校正因子与第一斜率的乘积,作为每个医疗结算次数下对应数据点的压缩斜率。
对所有患者的待压缩序列进行旋转门压缩的方法为:获取所有患者的待压缩序列中相同医疗结算次数下的数据点最大值与数据点最小值;将最大值对应数据点的压缩斜率作为旋转门算法的上门斜率,将最小值对应数据点的压缩斜率作为旋转门算法的下门斜率;
判断当前医疗结算次数下数据点对应的上门斜率是否大于等于下门斜率;
若当前医疗结算次数下数据点对应的上门斜率大于等于下门斜率,将当前医疗结算次数下所有患者对应的数据点进行存储,并对当前医疗结算次数之前的所有数据点进行旋转门压缩;
若当前医疗结算次数下数据点对应的上门斜率小于下门斜率,获取下一个医疗结算次数下数据点对应的上门斜率和下门斜率,依次迭代,直至下一个医疗结算次数下数据点对应的上门斜率大于等于下门斜率。
至此,本发明通过压缩过程中的数据点斜率校正因子对压缩过程进行优化,在压缩过程中保留数据中的重要信息。
如图3所示,给出了本发明实施例的一种数据的存储系统流程示意图,包括处理器和存储器,存储器存储有程序,处理器执行存储器中存储的程序以实现本发明中所记载的:获取每个患者的医疗保险数据,并根据每个患者的医疗结算次数构建时序序列,得到每个患者的待压缩序列;将患者每次医疗结算时的医疗保险数据作为待压缩序列中的数据点;获取每个患者的待压缩数据序列中每个数据点对应的SBN路径;根据每个数据点对应的SBN路径中包含数据点的个数获取每个数据点的趋势影响因子;根据每个数据点的趋势影响因子获取每个数据点的平均链接距离;根据每个数据点的平均链接距离获取每个数据点的趋势离群因子,根据所有患者的待压缩序列中相同医疗结算次数下对应数据点的趋势离群因子,获取每个医疗结算次数下对应数据点的斜率校正因子;根据每个医疗结算次数下对应数据点的斜率校正因子获取每个医疗结算次数下对应数据点的压缩斜率,根据每个数据点的压缩斜率对所有患者的待压缩序列进行旋转门压缩,并将压缩后的数据进行存储。
本发明利用数据点在SBN中的趋势变化因子获取趋势离群因子,相比传统离群因子的获取,本发明中的趋势变化因子能够衡量数据点之间的趋势信息对传统离群因子获取过程中的平均链接距离进行优化,使得本发明中得到的趋势离群因子可以关注到局部出现异常的数据点,从而对旋转门压缩过程中对数据点斜率的判断进行校正,能够解决数据在进行旋转门压缩的过程中,容差范围内数据的变化未引起旋转门压缩算法的注意,从而导致数据趋势性信息丢失的问题,即在保证数据进行旋转门压缩具有较好的压缩程度的同时,保留数据的局部趋势信息,使得数据中的离群信息在压缩后也可以保留下来,实现重要信息或离群信息的无损存储,保证提取数据进行欺诈行为检测时数据的完整性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。