发明内容
本说明书提出一种交易故障检测方法,所述方法包括:
采集目标账户的交易数据;
基于采集到的交易数据统计出若干个维度的交易特征;其中,所述交易特征包括账户交易量下降或者为0的交易时段内的相关交易指标;
将所述交易特征输入预设的故障检测模型进行计算;其中,所述故障检测模型为基于从若干样本账户的历史交易数据中统计出的若干个维度的所述交易特征构建的若干训练样本训练得到;
基于所述故障检测模型的输出结果确定所述目标账户在交易量下降或者为0的交易时段内是否存在交易故障。
可选的,还包括:
采集若干样本账户的历史交易数据;
基于采集到的历史交易数据统计出若干个维度的所述交易特征;
基于采集的所述若干个维度的交易特征构建若干训练样本;其中,所述训练样本被标定了用于指示所述若干样本账户是否存在交易故障的标签;
基于构建的训练样本以及预设的模型训练算法训练故障检测模型。
可选的,所述账户交易量下降或者为0的交易时段内的相关交易指标,包括:
账户交易量下降的交易时段内,预计影响的第一交易量指标;
账户交易量为0的交易时段内,预计影响的第二交易量指标;
账户交易量下降的交易时段内,交易量下跌的幅度与历史同期交易时段内交易量下跌的幅度的第一比较指标;
账户交易量下降的交易时段内,下跌后的交易量与历史同期交易时段内的交易量水平的第二比较指标。
可选的,其中,
所述第一交易量指标,用交易量下降之前预设时长内的交易量预测出的,所述交易量下降的交易时段内各单位时段的平均交易量,与所述交易量下降的交易时段内各单位时段的实际交易量的差值的累加和表征;
所述第二交易量指标,用所述历史交易数据中与所述交易量为0的交易时段对应的历史同期交易时段的平均交易量表征;
所述第一比较指标,用交易量下跌的幅度与历史同期交易时段内交易量下跌的最大幅度的比值表征;
所述第二比较指标,用下跌后的交易量与历史同期交易时段内的平均交易量的差值,与历史同期交易时段内的交易量的标准差的比值表征。
可选的,所述单位时段的平均交易量,用交易量下降之前预设时长内的各单位时段的平均交易量,与所述交易量下降的交易时段内首个单位时段内的交易量的最小值表征。
可选的,所述交易特征还包括,与导致账户交易量下降或者为0的非交易故障因素相关的非交易指标。
可选的,所述非交易指标,包括账户交易量下降或者为0的交易时段内,与账户对应的交易客户端上报保活数据的频次,与历史同期交易时段内所述交易客户端上报的保活数据的频次水平的第三比较指标。
可选的,所述第三比较指标,用与账户对应的交易客户端上报保活数据的频次与历史同期交易时段内所述交易客户端上报保活数据的平均频次的差值,与历史同期交易时段内所述交易客户端上报保活数据的频次的标准差的比值表征。
可选的,所述故障检测模型的输出结果包括用于描述所述账户交易量下降或者为0原因的提示文本;其中,所述文本提示包括用于描述所述账户交易量下降或者为0为交易故障导致的文本提示;以及,用于描述所述账户交易量下降或者为0为指定的非故障因素导致的文本提示。
本说明还提出一种交易故障检测装置,所述装置包括:
采集模块,采集目标账户的交易数据;
统计模块,基于采集到的交易数据统计出若干个维度的交易特征;其中,所述交易特征包括账户交易量下降或者为0的交易时段内的相关交易指标;
计算模块,将所述交易特征输入预设的故障检测模型进行计算;其中,所述故障检测模型为基于从若干样本账户的历史交易数据中统计出的若干个维度的所述交易特征构建的若干训练样本训练得到;
确定模块,基于所述故障检测模型的输出结果确定所述目标账户在交易量下降或者为0的交易时段内是否存在交易故障。
可选的,所述采集模块进一步:
采集若干样本账户的历史交易数据;
所述统计模块进一步:
基于采集到的历史交易数据统计出若干个维度的所述交易特征;
所述装置还包括:
构建模块,基于采集的所述若干个维度的交易特征构建若干训练样本;其中,所述训练样本被标定了用于指示所述若干样本账户是否存在交易故障的标签;
训练模块,基于构建的训练样本以及预设的模型训练算法训练故障检测模型。
可选的,所述账户交易量下降或者为0的交易时段内的相关交易指标,包括:
账户交易量下降的交易时段内,预计影响的第一交易量指标;
账户交易量为0的交易时段内,预计影响的第二交易量指标;
账户交易量下降的交易时段内,交易量下跌的幅度与历史同期交易时段内交易量下跌的幅度的第一比较指标;
账户交易量下降的交易时段内,下跌后的交易量与历史同期交易时段内的交易量水平的第二比较指标。
可选的,其中,
所述第一交易量指标,用交易量下降之前预设时长内的交易量预测出的,所述交易量下降的交易时段内各单位时段的平均交易量,与所述交易量下降的交易时段内各单位时段的实际交易量的差值的累加和表征;
所述第二交易量指标,用所述历史交易数据中与所述交易量为0的交易时段对应的历史同期交易时段的平均交易量表征;
所述第一比较指标,用交易量下跌的幅度与历史同期交易时段内交易量下跌的最大幅度的比值表征;
所述第二比较指标,用下跌后的交易量与历史同期交易时段内的平均交易量的差值,与历史同期交易时段内的交易量的标准差的比值表征。
可选的,所述单位时段的平均交易量,用交易量下降之前预设时长内的各单位时段的平均交易量,与所述交易量下降的交易时段内首个单位时段内的交易量的最小值表征。
可选的,所述交易特征还包括,与导致账户交易量下降或者为0的非交易故障因素相关的非交易指标。
可选的,所述非交易指标,包括账户交易量下降或者为0的交易时段内,与账户对应的交易客户端上报保活数据的频次,与历史同期交易时段内所述交易客户端上报的保活数据的频次水平的第三比较指标。
可选的,所述第三比较指标,用与账户对应的交易客户端上报保活数据的频次与历史同期交易时段内所述交易客户端上报保活数据的平均频次的差值,与历史同期交易时段内所述交易客户端上报保活数据的频次的标准差的比值表征。
可选的,所述故障检测模型的输出结果包括用于描述所述账户交易量下降或者为0原因的提示文本;其中,所述文本提示包括用于描述所述账户交易量下降或者为0为交易故障导致的文本提示;以及,用于描述所述账户交易量下降或者为0为指定的非故障因素导致的文本提示。
本说明书还提出一种交易故障检测装置,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与交易故障检测的控制逻辑对应的机器可执行指令,所述处理器被促使:
采集目标账户的交易数据;
基于采集到的交易数据统计出若干个维度的交易特征;其中,所述交易特征包括账户交易量下降或者为0的交易时段内的相关交易指标;
将所述交易特征输入预设的故障检测模型进行计算;其中,所述故障检测模型为基于从若干样本账户的历史交易数据中统计出的若干个维度的所述交易特征构建的若干训练样本训练得到;
基于所述故障检测模型的输出结果确定所述目标账户在交易量下降或者为0的交易时段内是否存在交易故障。
本说明书中,通过采集目标账户的交易数据,并基于采集到的交易数据统计出若干个维度的交易特征;其中,上述交易特征包括账户交易量下降或者为0的交易时段内的相关交易指标;然后将上述交易特征输入预设的故障检测模型进行计算;其中,上述故障检测模型为基于从若干样本账户的历史交易数据中统计出的若干个维度的所述交易特征构建的若干训练样本训练得到,并基于上述故障检测模型的输出结果确定上述目标账户在交易量下降或者为0的交易时段内是否存在交易故障,实现了可以基于从若干样本账户的历史交易数据中统计出的账户交易量下降或者为0的交易时段内的相关交易指标,来构建训练样本训练故障检测模型,并使用该故障检测模型将从目标账户的历史交易数据中提取出的上述相关交易指标作为输入数据进行交易故障检测,一方面可以提升交易故障检测的准确度,另一方面有助于移动支付平台可以及时发现这些商家账户的账户交易量下降或者为0的真实原因。
具体实施方式
在实际应用中,移动支付平台的运营方,在对一些交易量较大的支付账户进行交易故障监控时,通常希望及时的了解到该支付账户在支交易量的下降或者瞬时归0的交易时段内是否存在了交易故障,以及导致该支付账户的交易量的下降或者瞬时归0的具体原因。
在本说明书中,则基于以上需求,提出了一种基于从若干样本账户的历史交易数据中统计出的账户交易量下降或者为0的交易时段内的相关交易指标,来构建训练样本训练故障检测模型,并使用该故障检测模型,将从目标账户的历史交易数据中提取出的上述相关交易指标作为输入数据进行交易故障检测,以此来提升在对目标账户进行交易故障检测时的准确度的技术方案。
在实现时,可以从建模所需的N个样本账户的历史交易数据中,分别提取出K个维度的在账户交易量下降或者为0的交易时段内的相关交易指标作为交易特征,然后基于该N个样本账户,以及分别对应于该N个样本账户的K个维度的交易特征,构建出若干条由上述K个维度的交易特征构成的向量作为训练样本,并基于构建完成的这些训练样本生成一个K维的目标矩阵作为训练集。
当生成上述训练集后,可以基于该训练集中的训练样本,结合预设的模型训练算法训练出一个故障检测模型;其中,上述预设的模型训练算法,具体可以是有监督的模型训练算法(比如逻辑回归算法);在这种情况下,上述训练集中的训练样本,还需要预先标定出用于指示上述若干样本账户是否存在交易故障的标签;比如,用0表示不存在交易故障;用1表示存在交易故障。
当在针对目标账户(比如一些与移动支付平台具有合作关系的商家账户)进行交易故障检测,来确定该目标账户在交易量下降或者为0的交易时段内是否存在交易故障时,可以从该目标账户的交易数据中,提取出上述K个维度的相关交易指标作为交易特征,并基于该目标账户以及对应于该目标账户的K个维度的交易特征,构建出由上述K个维度的交易特征构成的向量作为预测样本,然后将该预测样本作为输入数据输入至上述交易故障检测模型中进行计算,并最终根据该故障检测模型的输出结果,来确定该目标账户在交易量下降或者为0的交易时段内是否存在交易故障;
例如,在实际应用中,上述故障检测模型具体可以是一个有监督的预测模型,通过该预测模型可以输出一个上述目标账户在交易量下降或者为0的交易时段内是否存在交易故障的评分,从而可以基于故障检测模型输出的评分,来确定该目标账户在交易量下降或者为0的交易时段内是否存在交易故障。
由于在以上技术方案中,可以基于从若干样本账户的历史交易数据中统计出的账户交易量下降或者为0的交易时段内的相关交易指标,来构建训练样本训练故障检测模型,并使用该故障检测模型将从目标账户的交易数据中提取出的上述相关交易指标作为输入数据进行交易故障检测,因此使得移动支付平台在对一些诸如和移动支付平台具有合作关系的商家账户进行交易故障检测和监控时,一方面可以提升交易故障检测的准确度,另一方面有助于移动支付平台可以及时发现这些商家账户的账户交易量下降或者为0的真实原因。
下面通过具体实施例并结合具体的应用场景进行详细描述。
请参考图1,图1是本说明书一实施例提供的一种交易故障检测方法,应用于服务端,执行以下步骤:
步骤102,采集目标账户的交易数据;
步骤104,基于采集到的交易数据统计出若干个维度的交易特征;其中,所述交易特征包括账户交易量下降或者为0的交易时段内的相关交易指标;
步骤106,将所述交易特征输入预设的故障检测模型进行计算;其中,所述故障检测模型为基于从若干样本账户的历史交易数据中统计出的若干个维度的所述交易特征构建的若干训练样本训练得到;
步骤108,基于所述故障检测模型的输出结果确定所述目标账户在交易量下降或者为0的交易时段内是否存在交易故障。
上述服务端,具体可以包括面向用户的支付客户端(比如Alipay客户端)提供服务的服务器、服务器集群、或者基于服务器集群搭建的移动支付平台(比如Alipay移动支付平台)。
上述目标账户,具体可以包括上述支付客户端的运营方需要进行交易故障监控的移动支付账户;
例如,在一些场景下,上述目标账户可以是与上述支付客户端的运营方存在合作关系的商家账户;比如,以Alipay为例,一些商家通常会与Alipay的运营方进行合作,将Alipay作为其进行一些电子商务活动的默认交易方式。当然,在实际应用中,上述目标账户也可以是一些交易量较大的普通账户(非商家账户)。
在建模开始之前,上述服务端可以预先准备建模所需的N个样本账户的M天的历史交易数据,并从该N个样本账户的M天的历史交易数据中,分别统计出K个维度的相关交易指标作为建模所需的交易特征(即最终参与建模的建模特征)。
其中,上述M天的历史交易数据,具体可以是最近M天各样本账户在执行相关的支付交易后,提交至后台服务端的交易日志。在该交易日志中通常可以包括诸如交易时间、用户ID(或者,账户ID)、本次交易结果(比如交易成功或者失败)等信息。
其中,为了便于完成上述相关交易指标的统计计算,上述服务端还可以对上述M天的历史交易数据进行预处理,按照设定的单位时段的时长,将上述M天的历史交易数据,划分为若干个单位时段,然后将每一个单位时段的历史交易数据作为最小的统计单位,来完成上述相关交易指标的统计计算;比如,在一种实现方式中,上述单位时段的时长具体精确到1分钟;在这种情况下,可以对上述M天的历史交易数据,以1分钟作为最小统计单位,来完成上述相关交易指标的统计计算。
另外,需要补充说明的是,以上示出的N、K和M的具体取值,在本说明书中都不进行特别限定,本领域技术人员在将本说明书记载的技术方案付诸实现时,可以基于实际的需求进行自定义设置。
在本说明书中,由于账户在发生交易故障时,通常会导致交易量下降或者瞬时归0,因此在本说明书中,在选取用于建模的交易特征时,可以选取账户交易量下降或者为0的交易时段内的相关交易指标。
在这种情况下,可以基于上述N个样本账户的历史交易数据进行一些特定的统计计算,统计出各样本账户在账户交易量下降或者为0的交易时段内K个维度的相关交易指标。
其中,在本说明中,上述相关交易指标,具体可以从账户交易量下降或者为0的交易时段内,预计影响的交易量指标;以及,账户交易量下降的交易时段内,交易量下跌的相关统计指标与历史同期交易时段内对应的统计指标之间的比较指标等两个方面进行选取。
在示出的一种实施方式中,作为上述交易特征的相关交易指标,至少可以包括以下指标:
账户交易量下降的交易时段内,预计影响的第一交易量指标;
账户交易量为0的交易时段内,预计影响的第二交易量指标;
账户交易量下降的交易时段内,交易量下跌的幅度与历史同期交易时段内交易量下跌的幅度的第一比较指标;
账户交易量下降的交易时段内,下跌后的交易量与历史同期交易时段内的交易量水平的第二比较指标;其中,上述下跌后的交易量,是指交易量在经过一段时间的连续下跌后的最低交易量。
当然,在实际应用中,在基于相同的指标选取原则的基础上,本领域技术人员显然可以选取以上示出的各指标以外的其它类型的指标,在本说明书中不再进行一一列举;
例如,本领域技术人员可以基于自身对业务的理解,来自定义相关的可以参与建模的交易指标,然后基于一些评估工具,对定义的交易指标参与建模后的效果进行评估,进而来选定最优的交易指标参与建模;比如,可以基于woe(Weight of Evidence,证据权重)对定义的交易指标进行效果考察。
其中,以上示出的各类交易指标的具体表征方式,在本说明书中不进行特别限定,在实际应用中可以基于实际的建模需求来灵活定义。
以下结合具体的实施方式,对以上示出的各个交易指标的表征方式以及具体的计算过程进行详细描述。
在示出的一种实施方式中,上述第一交易量指标,具体可以用交易量下降之前预设时长内的交易量预测出的,上述交易量下降的交易时段内各单位时段的平均交易量,与所述交易量下降的交易时段内各单位时段的实际交易量的差值的累加和来表征。
其中,在一种实现方式中,预测出的上述单位时段的平均交易量,具体可以用交易量下降之前预设时长内的各单位时段的平均交易量,与所述交易量下降的交易时段内首个单位时段内的交易量的最小值来表征。
在这种情况下,上述第一交易量指标可以用如下公式来表征:
其中,在上述公式中,feature1表示上述第一交易量指标;n表示交易量下跌的交易时段内的单位时段的个数;H表示交易量下降之前预设时长内的单位时段的个数;Xj表示交易量下降之前预设时长内的第j个单位时段的交易量。X1表示交易量下降的交易时段内首个单位时段内的交易量。上述表示交易量下降之前预设时长内的各单位时段的平均交易量与上述交易量下降的交易时段内首个单位时段X1的交易量的最小值,在以上公式中该最小值用于表征基于交易量下降之前预设时长内的交易量预测出的单位时段的平均交易量。上述Xi表示交易量下降的交易时段内第i个单位时段的交易量。
当然,在实际应用中,基用交易量下降之前预设时长内的各单位时段的平均交易量,与所述交易量下降的交易时段内首个单位时段内的交易量的最小值,来表征预测出的上述单位时段的平均交易量,仅为示例性的,在实际应用中也可以采用其它方式来进行预测计算,预测出上述单位时段的平均交易量;
例如,也可以将交易量下降之前预设时长内的交易量作为样本,单独训练出一个用于预测交易量下降的交易时段内各单位时段的平均交易量的模型,然后基于该模型预测出交易量下降的交易时段内各单位时段的平均交易量。
在示出的一种实施方式中,上述所述第二交易量指标,具体可以用上述历史交易数据中与上述交易量为0的交易时段对应的历史同期交易时段的平均交易量来表征。
在这种情况下,上述第二交易量指标,可以用如下公式来表征:
其中,在上述公式中,feature2表示上述第二交易量指标;m表示历史交易数据的天数;n表示交易量为0的交易时段内的单位时段的个数;Xij表示第i天的历史交易数据中,与上述交易量为0的交易时段对应的历史同期交易时段中的第j个单位时段的交易量。
在示出的一种实施方式中,上述第一比较指标,具体可以用交易量下跌的幅度与历史同期交易时段内交易量下跌的最大幅度的比值表征。
在这种情况下,上述第一比较指标,可以用如下公式来表征:
其中,在上述公式中,feature3表示上述第一比较指标;refn表示交易量连续下跌N个单位时段后的交易跌幅(比如以单位时段为1分钟为例,则表示连续下跌N分钟后的最大跌幅);refm表示第m天的历史交易数据中与上述N个单位时段对应的历史同期交易时段内交易量下跌的幅度。
在示出的一种实施方式中,上述第二比较指标,具体可以用账户交易量下跌后的交易量,与历史同期交易时段内的平均交易量的差值,与历史同期交易时段内的交易量的标准差的比值来表征(即用各个历史同期交易时段内的交易量的标准差,来表征历史同期交易时段内的交易量水平)。
在这种情况下,上述第二比较指标,可以用如下公式来表征:
其中,在上述公式中,feature4表示上述第二比较指标;Xn表示交易量连续下跌n个单位时段后的交易量(比如以单位时段为1分钟为例,则表示连续下跌N分钟后的最小交易量);meanhis表示M天的历史交易数据中与上述N个单位时段对应的历史同期交易时段内的平均交易量(比如可以将M天的历史数据交易数据中的各个历史同期交易时段内的交易量求和,再除以M取平均值);stdhis表示M天的历史交易数据中与上述N个单位时段对应的历史同期交易时段内的交易量的标准差(比如可以分别将M天的历史数据交易数据中各个历史同期交易时段内的交易量作为参数,来求解标准差)。其中,求解标准差的过程,在本说明书中不再进行详述。
在本说明书中,当按照以上示出的交易指标的表征方式以及计算方式,从建模所需的N个样本账户的历史交易数据中,分别提取出了K个维度的在账户交易量下降或者为0的交易时段内的上述相关交易指标后,可以将提取出的这些交易指标作为训练模型所需的交易特征,并基于该N个样本账户,以及分别对应于该N个样本账户的K个维度的交易特征,构建出若干条由上述K个维度的交易特征构成的向量作为训练样本(由于一个账户可能包含若干个交易量下降或者为0的交易时间段,因此对于一个账户而言可能对应多条训练样本);
例如,可以基于单位时段为单位,为每一个交易量下降或者为0的单位时段分别构建出一个对应训练样本;当训练样本构建完成后,可以基于该N条训练样本生成一个K维的目标矩阵作为训练集(比如以矩阵的列表示交易特征,那么该矩阵将是一个K列的矩阵)。
当生成上述训练集后,可以基于该训练集中的训练样本,结合预设的模型训练算法进行模型训练,训练出最优的模型参数,然后得到一个故障检测模型;
其中,在一种实施方式中,为了提升交易故障检测的准确度,上述故障检测模型具体可以是基于有监督的模型训练算法,训练出的一个有监督的预测模型。
在这种情况下,上述预设的模型训练算法,具体可以是有监督的模型训练算法;例如,逻辑回归算法、二分类决策树算法、随机森林算法,等等。在本说明书中,对于上述模型训练算法的具体种类不进行具体限定,本领域技术人员在将本说明书中记载的技术方案付诸实现时,可以基于实际的需求来灵活选择。
相应的,当上述预设的模型训练算法为有监督的模型训练算法,上述训练集中的训练样本,还需要预先标定出用于指示上述若干样本账户是否存在交易故障的标签;
例如,在实现时,上述支付客户端的运营方可以通过汇总用户主动上报的故障反馈结果,来为上述训练集中的各条训练样本(即上述训练集中的各条向量)标定用于指示与各条训练样本对应的样本账户,是否存在交易故障的标签;比如,用0表示不存在交易故障;用1表示存在交易故障。
在本说明书的以上实施例中,详细论述了通过从若干样本账户的历史交易数据中,统计出K个维度的账户交易量下降或者为0的交易时段内的相关交易指标,并将这些交易指标作为建模所需的特征样本,来训练故障检测模型的具体过程。
然而,在实际应用中,仅将上述账户交易量下降或者为0的交易时段内的相关交易指标来作为建模特征,并未考虑一些可能导致账户交易量下降或者为0的非故障因素;
例如,以移动支付平台对商家账户进行监控为例,对于商家账户由于诸如天气、节假日、临时活动、寒暑假等因素临时关门停止营业、或者更换了PID(合作者身份ID)的非故障因素,通常也会导致账户交易量下降或者瞬时归0(比如,移动支付平台可能是按照PID来对商家账户进行监控,如果商家账户更换了PID,那么对于原有的PID来说,其对应的账户交易量通常会瞬时归0)。
因此,为了进一步提升上述故障检测模型的建模精度,在基于采集到的历史交易数据统计出的上述K个维度的交易特征中,除了可以包括以上阐述的账户交易量下降或者为0的交易时段内的相关交易指标,还可以包括与导致账户交易量下降或者为0的非交易故障因素相关的非交易指标。
其中,上述非交易故障因素,具体可以涵盖所有能够导致账户交易量下降或者为0的非故障因素。而与上述非交易故障因素相关的非交易指标,也可以涵盖所有能够以数学的方式最终量化成可以参与建模的特征样本的与非交易故障因素相关的非交易指标。需要说明的是,在本说明书中,将不对与非故障因素相关的非交易指标进行具体限定,在实际应用中,本领域技术人员在选定这一类与非故障因素相关的非交易指标时,可以基于实际的需求来进行定义。
在示出的一种实施方式中,无论是何种非故障因素,最终都可以通过账户的持有人是否启动支付客户端,来确定该账户是否参与了正常的日常交易。而对于后台服务端而言,通常可以基于支付客户端上报的保活数据,来确定该支付客户端是否在处于运行状态;
例如,当用户在冷启动支付客户端后(支付客户端未处于在后台运行的状态时,用户首次启动支付客户端称之为冷启动),支付客户端会向后台服务端上报一个冷启动保活数据(相关日志文件),表示支付客户端处于运行状态;而当支付客户端在成功启动处于在后台运行的状态时,也可以定时(比如40分钟)向后台服务端上报一个保活数据,表示支付客户端处于运行状态。
因此,在选定与非故障因素相关的非交易指标时,可以将支付客户端上报的保活数据的频次,作为一个可以参与建模的特征维度。
在示出的一种实施方式中,与上述非交易故障相关的非交易指标,具体可以包括账户交易量下降或者为0的交易时段内,与账户对应的交易客户端上报保活数据的频次,与历史同期交易时段内所述交易客户端上报的保活数据的频次水平的第三比较指标。
其中,需要说明的是,与上述非交易故障相关的非交易指标的具体表征方式,在本说明书中也不进行特别限定,在实际应用中可以基于实际的建模需求来灵活定义。
在示出的一种实施方式中,上述第三比较指标,具体可以用与账户对应的交易客户端上报保活数据的频次与历史同期交易时段内上述交易客户端上报保活数据的平均频次的差值,与历史同期交易时段内上述交易客户端上报保活数据的频次的标准差的比值表征(即用各个历史同期交易时段内的上述交易客户端上报保活数据的频次的标准差,来表征历史同期交易时段内上述交易客户端上报保活数据的频次水平)。
在这种情况下,上述第三比较指标,具体可以通过如下公式来表征:
其中,在以上公式中,feature5表示上述第三比较指标;fn表示交易量连续下跌的n个单位时段内,上述交易客户端上报保活数据的频次(即上报保活数据的次数);meanhis表示M天的历史交易数据中与上述N个单位时段对应的历史同期交易时段内上述交易客户端上报保活数据的平均频次(比如可以将M天的历史数据交易数据中的历史同期交易时段内上述交易客户端上报保活数据的频次求和,再除以M取平均值);上述stdhis表示M天的历史交易数据中与上述N个单位时段对应的历史同期交易时段内上述交易客户端上报保活数据的频次的标准差(比如可以分别将M天的历史数据交易数据中各个历史同期交易时段内上述交易客户端上报保活数据的频次作为参数,来求解标准差)。
在本说明书中,通过在建模特征中引入将账户交易量下降或者为0的交易时段内的相关交易指标的基础上,进一步引入与导致账户交易量下降或者为0的非交易故障因素相关的非交易指标,使得最终训练出的故障检测模型,能够识别出账户交易量下降或者为0,是否是由诸如商户临时关门等非交易故障因素导致的,从而可以有助于提升模型在进行交易故障检测时的精准度,使得移动支付平台能够更直观的发现账户的交易量下降或者瞬时归0的具体原因。
其中,需要补充说明的是,在实际应用中,在按照以上阐述的建模特征选取原则,从上述M天的历史交易数据统计上述K个维度的相关交易指标作为建模特征时,如果通过以上示出的统计计算过程,无法统计出上述K个维度的任意一个相关的交易指标,那么在最终构建出的上述训练样本中,该交易指标可以为空值或者被替换为一个默认值来参与建模,具体替换过程在本说明书中不再进行详述,本领域技术人员在将本说明书的技术方案付诸实现时,可以参考相关技术中的记载。
在本说明书中,当通过以上实施例中描述的模型训练过程,完成上述故障检测模型的训练后,后续当移动支付平台需要对某一个目标账户进行交易故障检测,来确定该目标账户交易量下降或者为0的某一个目标时间段内,该目标账户是否发生了交易故障。
在实现时,可以从该目标账户的M天的历史交易数据中,按照在建模阶段相同的统计方式,统计出上述K个维度的交易特征,并基于统计出的该K个维度的交易特征,构建出由上述K个维度的交易特征构成的向量作为预测样本,然后将该预测样本作为输入数据输入至上述交易故障检测模型中进行计算,并最终根据该故障检测模型的输出结果,来确定该目标账户在交易量下降或者为0的交易时段内是否存在交易故障,并在确定该目标账户存在交易故障时,及时向移动支付平台的技术保障人员发出通知或者告警。
例如,请参见图2,图为本说明书示出的一种服务端离线训练故障检测模型,以及基于该模型在线执行交易故障检测的流程图;
如图2所示,在一种实现方式中,上述服务端具体可以是由交易系统、离线大数据计算平台和实时计算平台构成的分布式的移动支付平台。
其中,交易系统负责将用户通过支付客户端在执行日常交易的过程中,产生的交易日志以及支付客户端上报的保活数据回流至上述离散大数据计算平台。
而上述离线数据计算平台,可以收集交易系统回流的交易日志,从中采集若干个样本账户的历史交易数据,并从历史交易数据中分别统计出K个维度的上述相关交易指标作为建模特征,然后基于这些建模特征来构建训练样本,并为训练样本标记用于指示样本账户是否存在交易故障的标签;最后,可以基于这些训练样本构建一个训练集,并基于建模训练算法针对该训练集进行离线训练,得到上述故障检测模型。
而实时计算平台,可以是一个线上系统。当需要对目标账户进行交易故障检测时,可以采集目标账户的交易数据,并从交易数据中统计出与建模阶段相同的交易特征生成预测样本,然后读取上述离线数据计算平台在建模阶段训练出的最优模型参数,并将该预测样本作为输入数据,在实时计算环境下通过运行相关的执行脚本(比如groovy脚本)进行计算,最后基于模型的输出结果以判定该目标账户交易量下跌或者为0的交易时间段内,是否存在交易故障。
在本说明书中,在上述故障检测模型最终的输出结果中,除了可以包括用于提示上述目标账户在交易量下降或者为0的交易时段内是否存在交易故障的信息以外,还可以包括用于描述所述账户交易量下降或者为0原因的提示文本。
由于在本说明书中,上述故障检测模型在模型训练阶段所采用的建模特征,可以包括账户交易量下降或者为0的交易时段内的相关交易指标,以及导致账户交易量下降或者为0的非交易故障因素相关的非交易指标等两类建模特征,因此使得上述故障检测模型,将能够识别出账户交易量下降或者为0,到底是由交易故障导致的,还是由诸如商户临时关门等非交易故障因素导致的;
在这种情况下,上述故障检测模型可以在最终的输出结果通过相关的文本提示,来具体描述账户交易量下降或者为0的具体原因。
其中,最终输出的文本提示,可以包括用于描述上述目标账户发生账户交易量下降或者为0为交易故障导致的文本提示;以及,用于描述上述目标账户发生账户交易量下降或者为0为指定的非故障因素导致的文本提示。
例如,在一种实现方式中,在基于上述训练集训练上述故障检测模型阶段,除了基于训练集中的训练样本来训练模型的最优参数以外,还可以进一步训练出作为建模特征的各个交易指标以及非交易指标的权重值;其中,上述权重值具体可以是各个指标对模型最终输出结果的贡献度。
从而,通过这种方式,可以基于各个指标对模型输出结果的贡献度,在模型中来单独配置用于分析账户交易量下降或者为0具体原因的规则,然后在模型基于输入的预测样本得到了一个故障检测的输出结果后,可以进一步基于这些规则,来智能识别导致账户交易量下降或者为0的具体原因;
例如,在一种实现方式中,用于识别导致账户交易量下降或者为0的具体原因的规则,具体可以是基于作为建模特征的交易指标与非交易指标的权重值大小(或者加权值),来智能识别导致账户交易量下降或者为0的具体原因
一方面,如果作为建模特征的交易指标的权重值较大,那么可以认定账户交易量下降或者为0可能确实是由于交易故障导致的(比如系统故障、机具损坏、网络原因等),此时可以输出一条上述目标账户发生账户交易量下降或者为0为交易故障导致的文本提示;比如,该文本提示具体可以是一条“账户XX在XXX-XXX时段发生了交易故障”的文本提示。
另一方面,如果作为建模特征的非交易指标的权重值较大,那么可以认定账户交易量下降或者为0可能是由于诸如商家临时关门停业等非故障因素导致的,此时可以输出一条上述目标账户发生账户交易量下降或者为0为非易故障因素导致的文本提示;比如,该文本提示具体可以是一条“账户XX在XXX-XXX时段未营业”的文本提示。
通过这种方式,使得上述移动支付平台的保障人员,通过上述交易故障检测模型输出的文本提示,就可以及时发现上述目标账户的账户交易量下降或者为0是否由交易故障导致,以及导致账户交易量下降或者为0的具体原因。
与上述方法实施例相对应,本申请还提供了一种交易故障检测装置的实施例。
本申请的交易故障检测装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本申请的交易故障检测装置所在电子设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
图4是本申请一示例性实施例示出的一种交易故障检测装置的框图。
请参考图4,所述交易故障检测装置40可以应用在前述图3所示的电子设备中,包括有:采集模块401、统计模块402、计算模块403以及确定模块404。
其中,
采集模块401,采集目标账户的交易数据;
统计模块402,基于采集到的交易数据统计出若干个维度的交易特征;其中,所述交易特征包括账户交易量下降或者为0的交易时段内的相关交易指标;
计算模块403,将所述交易特征输入预设的故障检测模型进行计算;其中,所述故障检测模型为基于从若干样本账户的历史交易数据中统计出的若干个维度的所述交易特征构建的若干训练样本训练得到;
确定模块404,基于所述故障检测模型的输出结果确定所述目标账户在交易量下降或者为0的交易时段内是否存在交易故障。
在本实施例中,所述采集模块401进一步:
采集若干样本账户的历史交易数据;
所述统计模块402进一步:
基于采集到的历史交易数据统计出若干个维度的所述交易特征;
所述装置40还包括:
构建模块405(图4中未示出),基于采集的所述若干个维度的交易特征构建若干训练样本;其中,所述训练样本被标定了用于指示所述若干样本账户是否存在交易故障的标签;
训练模块406(图4中未示出),基于构建的训练样本以及预设的模型训练算法训练故障检测模型。
在本实施例中,所述账户交易量下降或者为0的交易时段内的相关交易指标,包括:
账户交易量下降的交易时段内,预计影响的第一交易量指标;
账户交易量为0的交易时段内,预计影响的第二交易量指标;
账户交易量下降的交易时段内,交易量下跌的幅度与历史同期交易时段内交易量下跌的幅度的第一比较指标;
账户交易量下降的交易时段内,下跌后的交易量与历史同期交易时段内的交易量水平的第二比较指标。
在本实施例中,其中,
所述第一交易量指标,用交易量下降之前预设时长内的交易量预测出的,所述交易量下降的交易时段内各单位时段的平均交易量,与所述交易量下降的交易时段内各单位时段的实际交易量的差值的累加和表征;
所述第二交易量指标,用所述历史交易数据中与所述交易量为0的交易时段对应的历史同期交易时段的平均交易量表征;
所述第一比较指标,用交易量下跌的幅度与历史同期交易时段内交易量下跌的最大幅度的比值表征;
所述第二比较指标,用下跌后的交易量与历史同期交易时段内的平均交易量的差值,与历史同期交易时段内的交易量的标准差的比值表征。
在本实施例中,所述单位时段的平均交易量,用交易量下降之前预设时长内的各单位时段的平均交易量,与所述交易量下降的交易时段内首个单位时段内的交易量的最小值表征。
在本实施例中,所述交易特征还包括,与导致账户交易量下降或者为0的非交易故障因素相关的非交易指标。
在本实施例中,所述非交易指标,包括账户交易量下降或者为0的交易时段内,与账户对应的交易客户端上报保活数据的频次,与历史同期交易时段内所述交易客户端上报的保活数据的频次水平的第三比较指标。
在本实施例中,所述第三比较指标,用与账户对应的交易客户端上报保活数据的频次与历史同期交易时段内所述交易客户端上报保活数据的平均频次的差值,与历史同期交易时段内所述交易客户端上报保活数据的频次的标准差的比值表征。
在本实施例中,所述故障检测模型的输出结果包括用于描述所述账户交易量下降或者为0原因的提示文本;
其中,所述文本提示包括用于描述所述账户交易量下降或者为0为交易故障导致的文本提示;以及,用于描述所述账户交易量下降或者为0为指定的非故障因素导致的文本提示。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是服务器、个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本申请还提供了一种交易故障检测设备的实施例。该交易故障检测设备包括:处理器以及用于存储机器可执行指令的存储器;其中,处理器和存储器通常通过内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与数据库损坏的恢复的控制逻辑对应的机器可执行指令,所述处理器被促使:
采集目标账户的交易数据;
基于采集到的交易数据统计出若干个维度的交易特征;其中,所述交易特征包括账户交易量下降或者为0的交易时段内的相关交易指标;
将所述交易特征输入预设的故障检测模型进行计算;其中,所述故障检测模型为基于从若干样本账户的历史交易数据中统计出的若干个维度的所述交易特征构建的若干训练样本训练得到;
基于所述故障检测模型的输出结果确定所述目标账户在交易量下降或者为0的交易时段内是否存在交易故障。
在本实施例中,通过读取并执行所述存储器存储的与数据库损坏的恢复的控制逻辑对应的机器可执行指令,所述处理器还被促使:
采集若干样本账户的历史交易数据;
基于采集到的历史交易数据统计出若干个维度的所述交易特征;
基于采集的所述若干个维度的交易特征构建若干训练样本;其中,所述训练样本被标定了用于指示所述若干样本账户是否存在交易故障的标签;
基于构建的训练样本以及预设的模型训练算法训练故障检测模型。
在本实施例中,所述账户交易量下降或者为0的交易时段内的相关交易指标,包括:
账户交易量下降的交易时段内,预计影响的第一交易量指标;
账户交易量为0的交易时段内,预计影响的第二交易量指标;
账户交易量下降的交易时段内,交易量下跌的幅度与历史同期交易时段内交易量下跌的幅度的第一比较指标;
账户交易量下降的交易时段内,下跌后的交易量与历史同期交易时段内的交易量水平的第二比较指标。
在本实施例中,其中,
所述第一交易量指标,用交易量下降之前预设时长内的交易量预测出的,所述交易量下降的交易时段内各单位时段的平均交易量,与所述交易量下降的交易时段内各单位时段的实际交易量的差值的累加和表征;
所述第二交易量指标,用所述历史交易数据中与所述交易量为0的交易时段对应的历史同期交易时段的平均交易量表征;
所述第一比较指标,用交易量下跌的幅度与历史同期交易时段内交易量下跌的最大幅度的比值表征;
所述第二比较指标,用下跌后的交易量与历史同期交易时段内的平均交易量的差值,与历史同期交易时段内的交易量的标准差的比值表征。
在本实施例中,所述单位时段的平均交易量,用交易量下降之前预设时长内的各单位时段的平均交易量,与所述交易量下降的交易时段内首个单位时段内的交易量的最小值表征。
在本实施例中,所述交易特征还包括,与导致账户交易量下降或者为0的非交易故障因素相关的非交易指标。
在本实施例中,所述非交易指标,包括账户交易量下降或者为0的交易时段内,与账户对应的交易客户端上报保活数据的频次,与历史同期交易时段内所述交易客户端上报的保活数据的频次水平的第三比较指标。
在本实施例中,所述第三比较指标,用与账户对应的交易客户端上报保活数据的频次与历史同期交易时段内所述交易客户端上报保活数据的平均频次的差值,与历史同期交易时段内所述交易客户端上报保活数据的频次的标准差的比值表征。
在本实施例中,所述故障检测模型的输出结果包括用于描述所述账户交易量下降或者为0原因的提示文本;
其中,所述文本提示包括用于描述所述账户交易量下降或者为0为交易故障导致的文本提示;以及,用于描述所述账户交易量下降或者为0为指定的非故障因素导致的文本提示。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。