掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本公开涉及计算机技术领域,尤其涉及一种根因确定方法及装置。

背景技术

在业务指标出现异常时,多维度交叉寻找异常因子是一个常见的场景。通过遍历不同维度下因子的组合,结合打分的方式进行排序,从而最终输出最有可能的异常根因子。

其中,现有技术中的多维交叉寻找异常因子的方案,要求使用者输入一个超参数来对最终的结果进行控制,由于最终结果对该超参数极其敏感,因此该超参数会对最终结果产生巨大影响。尤其是当超参数设置的过低时,方案在执行过程中可能会很快满足条件,便不继续进行根因的搜索,则返回的根因很可能是单维度而非维度交叉的。然而之所以进行多维交叉根因分析就是为了找到更细粒度的根因子,只返回单维度的根因很明显并不符合预期。

由此可见,通过经验选取的超参数有可能导致无法返回符合预期的根因,且由经验选取的超参数无法泛化,即针对不同的业务场景需要预先设定不同的超参数,从而导致现有技术中的多维交叉寻找异常因子的方案不能兼顾各种业务场景。

发明内容

本公开实施例提供一种根因确定方法及装置,以解决现有技术中的多维交叉寻找异常因子的方案不符合预期、不能兼顾各种业务场景的问题。

根据本公开实施例的第一方面,提供了一种根因确定方法,所述方法包括:

获取异常数据,所述异常数据包括维度以及所述维度包括的因子;

根据所述维度,构建根因查找树,所述根因查找树包括至少一层维度结点层,每一维度结点层包括至少一个维度结点,所述维度结点关联至少一个维度,且所述维度结点关联的维度数量与所述维度结点位于的维度结点层数相同;

获取所述根因查找树中第一维度结点关联的第一维度因子组合,所述第一维度结点关联至少一个第一维度,所述第一维度因子组合包括各所述第一维度的一个因子,所述第一维度结点为所述根因查找树中的任一维度结点;

计算所述第一维度因子组合中存在异常因子组合的第一可能性参数;

在所述第一可能性参数大于第一阈值且所述第一维度的数量不大于第二阈值时,增大所述第一阈值;

以所述根因查找树中的任一维度结点为第一维度结点、以增大后的第一阈值为新第一阈值,重复执行计算所述第一维度因子组合中存在异常因子组合的第一可能性参数、以及在重新计算的第一可能性参数大于所述新第一阈值且所述第一维度的数量不大于所述第二阈值时增大所述新第一阈值的过程,直至重新计算的第一可能性参数大于所述新第一阈值、且所述第一维度的数量大于所述第二阈值,从所述第一维度因子组合中确定异常因子组合。

可选的,所述方法还包括:

在所述第一可能性参数大于所述第一阈值、且所述第一维度的数量大于所述第二阈值时,从所述第一维度因子组合中确定异常因子组合。

可选的,在增大所述第一阈值之后,若所述新第一阈值不小于预设值,则所述方法还包括:

若重新计算的第一可能性参数大于所述新第一阈值、且所述第一维度的数量不大于所述第二阈值,则从所述第一维度因子组合中确定异常因子组合。

可选的,所述方法还包括:

在所述第一可能性参数不大于所述第一阈值时,获取第二维度结点关联的第二维度因子组合,所述第二维度结点关联至少一个第二维度,所述第二维度因子组合包括各所述第二维度的一个因子;

计算所述第二维度因子组合中存在异常因子组合的第二可能性参数。

可选的,所述计算所述第一维度因子组合中存在异常因子组合的第一可能性参数之前,所述方法还包括:

确定异常目标组合,所述目标组合为第N层维度结点关联的因子组合,N为所述异常数据的维度数量;

所述计算所述第一维度因子组合中存在异常因子组合的第一可能性参数,包括:

计算每一个所述第一维度因子组合的目标占比,其中,第i个所述第一维度因子组合的目标占比为,第i个所述第一维度因子组合关联的目标组合中异常目标组合的占比,i为正整数且i∈[1,M],M∈[1,N],M为所述第一维度结点关联的所述第一维度因子组合的数量;

根据所述第一维度因子组合的目标占比,计算所述第一维度因子组合中存在异常因子组合的第一可能性参数。

可选的,在所述确定异常目标组合之前,所述方法还包括:

删除符合预设条件的目标组合,得到第一剩余目标组合;

其中,所述预设条件包括目标对象的变化情况与目标指标的异常方向不匹配,所述目标对象为在不同时刻采集的所述目标组合的第一类指标值,所述目标指标为与所述维度关联的业务指标,所述第一类指标值为所述目标指标的值;

所述确定异常目标组合,包括:

确定所述第一剩余目标组合中的异常目标组合。

可选的,所述确定异常目标组合,包括:

获取所述目标组合的偏移量;

绘制第一偏移量分布曲线图,其中,所述第一偏移量分布曲线图的横轴表示偏移量,纵轴表示偏移量小于横轴表示的偏移量的目标组合的数量;

确定所述第一偏移量分布曲线图中的第一拐点;

在所有所述目标组合中,若偏移量大于第一目标偏移量的目标组合的占比不大于第五阈值,则确定偏移量大于所述第一目标偏移量的目标组合为异常目标组合,其中,所述第一目标偏移量为所述第一拐点在所述第一偏移量分布曲线图中的横坐标。

可选的,所述确定所述第一偏移量分布曲线图中的第一拐点,包括:

根据第一预设公式S=min(m,L/n),计算基于肘部法则的拐点检测算法中的敏感参数S,其中,L为所述第一偏移量分布曲线图中涉及的目标组合的总数量,m和n分别为预先设置的常量;

采用所述基于肘部法则的拐点检测算法,确定所述第一偏移量分布曲线图中的第一拐点。

可选的,所述确定所述第一偏移量分布曲线图中的第一拐点之后,所述确定异常目标组合,还包括:

在所有所述目标组合中,若偏移量大于所述第一目标偏移量的目标组合的占比大于所述第五阈值,则按照偏移量从小到大的顺序,对所述目标组合进行排序,获得第一排序;

将所述第一排序中的前第一预设数量的目标组合去除,得到第二剩余目标组合;

根据本次得到的所述第二剩余目标组合的偏移量,绘制第二偏移量分布曲线图,其中,所述第二偏移量分布曲线图的横轴表示偏移量,纵轴表示偏移量小于横轴上的数值表示的偏移量的目标组合的数量;

确定所述第二偏移量分布曲线图中的第二拐点;

在本次得到的所述第二剩余目标组合中,若偏移量大于第二目标偏移量的目标组合的占比不大于所述第五阈值,则将偏移量大于所述第二目标偏移量的目标组合确定为异常目标组合,其中,所述第二目标偏移量为所述第二拐点在所述第二偏移量分布曲线图中的横坐标。

可选的,所述根据所述第一维度因子组合的目标占比,计算所述第一维度因子组合中存在异常因子组合的第一可能性参数,包括:

按照所述目标占比从大到小的顺序,对所述第一维度因子组合进行排序,得到第二排序;

选出所述第二排序中前第二预设数量的待处理因子组合;

对所述待处理因子组合进行排序,获得第三排序;

将所述第三排序中前第三预设数量的备选因子组合;

获取所述备选因子组合关联的目标组合,其中,所述备选因子组合关联的目标组合包括所述备选因子组合中的因子;

根据所述备选因子组合关联的目标组合,计算所述第一维度因子组合中存在异常因子组合的第一可能性参数;

其中,所述第二预设数量大于所述第三预设数量。

可选的,所述对所述待处理因子组合进行排序,获得第三排序,包括:

在目标指标为原生指标时,计算所述待处理因子组合的第一参数,并按照所述第一参数从大到小的顺序,对所述待处理因子组合进行排序,得到第三排序,其中,所述目标指标为所述维度关联的业务指标,所述第一参数为与同一个所述待处理因子组合相关联的目标组合的偏移量之和,所述待处理因子组合相关联的目标组合包括所述待处理因子组合中的因子;

在所述目标指标为衍生指标时,获取每一个第一目标组合的第一数值,所述第一目标组合为所述待处理因子组合关联的目标组合,所述第一数值为所述第一目标组合在不同时刻的第二类指标值之差的绝对值,所述第二类指标值为第一指标的值,所述第一指标为所述目标指标为衍生指标时,计算所述目标指标的过程中作为分子的指标;

获取每一个所述第一目标组合的第二数值,所述第二数值为所述第一目标组合在所述不同时刻的第三类指标值之差的绝对值,所述第三类指标值为第二指标的值,所述第二指标为所述目标指标为衍生指标时,计算所述目标指标的过程中作为分母的指标;

计算每一个所述第一目标组合的第三数值,所述第三数值为同一个所述第一目标组合的所述第一数值与所述第二数值之和;

计算所述待处理因子组合的第二参数,所述第二参数为与同一个所述待处理因子组合关联的所述第一目标组合的所述第三数值之和;

按照所述待处理因子组合的所述第二参数从大到小的顺序,对所述待处理因子组合进行排序,得到第三排序。

可选的,所述从所述第一维度因子组合中确定异常因子组合,包括:

将所述备选因子组合,确定为所述异常因子组合。

可选的,所述根据所述备选因子组合关联的目标组合,计算所述第一维度因子组合中存在异常因子组合的第一可能性参数,包括:

计算第一异常目标组合的偏移量的第一平均值avg1,其中,所述第一异常目标组合为第一目标组合中的异常目标组合,所述第一目标组合为所述备选因子组合相关联的目标组合;

计算所述第一目标组合中除所述第一异常目标组合之外的其他目标组合的偏移量的第二平均值avg2;

根据第二预设公式a(Z1)=f(Z1)-f(Z1)/f(Z)(f(Z)-v(Z)),计算第三参数a(Z1),其中,f(Z1)表示所述第一异常目标组合在第二时刻的第一类指标值的和,f(Z)表示所述第一目标组合在所述第二时刻的所述第一类指标值的和,v(Z)表示所述第一目标组合在第一时刻的所述第一类指标值的和,所述第一类指标值为目标指标的值,所述目标指标为所述维度关联的业务指标,所述第一时刻早于所述第二时刻;

计算每一个所述第一异常目标组合在所述第一时刻的所述第一类指标值与所述第三参数之差,得到与每一个所述第一异常目标组合对应的第四参数;

计算所有所述第一异常目标组合对应的第四参数的绝对值的第三平均值avg3;

根据所述avg1、avg2、avg3、以及第三预设公式GPS=1-(avg3+avg2)/(avg1+avg2),计算所述第一维度因子组合中存在异常因子组合的第一可能性参数;

其中,GPS表示所述第一可能性参数。

可选的,所述从所述第一维度因子组全中确定异常因子组合后,所述方法还包括:

获取与所述异常因子组合关联的第二目标组合,所述目标组合为第N层维度结点关联的因子组合,N为所述异常数据的维度数量,所述第一目标组合包括所述异常因子组合中的因子;

获取第四数值,所述第四数值为所述第二目标组合在第三时刻的第一类指标值的和,所述第一类指标值为目标指标的取值,所述目标指标为与所述维度关联的业务指标;

获取第五数值,所述第五数值为所有所述目标组合在所述第三时刻的所述第一类指标值的和;

在所述第四数值与所述第五数值的比值小于第三阈值时,执行预设提示操作,所述预设提示操作用于提示异常因子未处于所述异常数据中。

根据本公开实施例的第二方面,提供一种根因确定装置,所述装置包括:

数据获取模块,被配置为获取异常数据,所述异常数据包括维度以及所述维度包括的因子;

构建模块,被配置为根据所述维度,构建根因查找树,所述根因查找树包括至少一层维度结点层,每一维度结点层包括至少一个维度结点,所述维度结点关联至少一个维度,且所述维度结点关联的维度数量与所述维度结点位于的维度结点层数相同;

第一因子组合获取模块,被配置为获取所述根因查找树中第一维度结点关联的第一维度因子组合,所述第一维度结点关联至少一个第一维度,所述第一维度因子组合包括各所述第一维度的一个因子,所述第一维度结点为所述根因查找树中的任一维度结点;

第一可能性参数计算模块,被配置为计算所述第一维度因子组合中存在异常因子组合的第一可能性参数;

阈值增大模块,被配置为在所述第一可能性参数大于第一阈值且所述第一维度的数量不大于第二阈值时,增大所述第一阈值;

执行模块,被配置为以所述根因查找树中的任一维度结点为第一维度结点、以增大后的第一阈值为新第一阈值,重复执行计算所述第一维度因子组合中存在异常因子组合的第一可能性参数、以及在重新计算的第一可能性参数大于所述新第一阈值且所述第一维度的数量不大于所述第二阈值时增大所述新第一阈值的过程,直至重新计算的第一可能性参数大于所述新第一阈值、且所述第一维度的数量大于所述第二阈值,从所述第一维度因子组合中确定异常因子组合。

可选的,所述装置还包括:

第一确定模块,被配置为在所述第一可能性参数大于所述第一阈值、且所述第一维度的数量大于所述第二阈值时,从所述第一维度因子组合中确定异常因子组合。

可选的,所述装置还包括:

第二确定模块,被配置为在增大所述第一阈值之后,重新计算的第一可能性参数大于所述新第一阈值、且所述第一维度的数量不大于所述第二阈值时,从所述第一维度因子组合中确定异常因子组合。

可选的,所述装置还包括:

第二因子组合获取模块,被配置为在所述第一可能性参数不大于所述第一阈值时,获取第二维度结点关联的第二维度因子组合,所述第二维度结点关联至少一个第二维度,所述第二维度因子组合包括各所述第二维度的一个因子;

第二可能性参数计算模块,被配置为计算所述第二维度因子组合中存在异常因子组合的第二可能性参数。

可选的,所述装置还包括:

异常目标组合确定模块,被配置为确定异常目标组合,所述目标组合为第N层维度结点关联的因子组合,N为所述异常数据的维度数量;

所述第一可能性参数计算模块包括:

占比计算子模块,被配置为计算每一个所述第一维度因子组合的目标占比,其中,第i个所述第一维度因子组合的目标占比为,第i个所述第一维度因子组合关联的目标组合中异常目标组合的占比,i为正整数且i∈[1,M],M∈[1,N],M为所述第一维度结点关联的所述第一维度因子组合的数量;

可能性参数计算子模块,被配置为根据所述第一维度因子组合的目标占比,计算所述第一维度因子组合中存在异常因子组合的第一可能性参数。

可选的,所述装置还包括:

删除模块,被配置为删除符合预设条件的目标组合,得到第一剩余目标组合;

其中,所述预设条件包括目标对象的变化情况与目标指标的异常方向不匹配,所述目标对象为在不同时刻采集的所述目标组合的第一类指标值,所述目标指标为与所述维度关联的业务指标,所述第一类指标值为所述目标指标的值;

所述异常目标组合确定模块在确定异常目标组合时,具体被配置为:

确定所述第一剩余目标组合中的异常目标组合。

可选的,所述异常目标组合确定模块包括:

偏移量获取子模块,被配置为获取所述目标组合的偏移量;

第一绘制子模块,被配置为绘制第一偏移量分布曲线图,其中,所述第一偏移量分布曲线图的横轴表示偏移量,纵轴表示偏移量小于横轴表示的偏移量的目标组合的数量;

第一拐点确定子模块,被配置为确定所述第一偏移量分布曲线图中的第一拐点;

第一异常目标组合确定子模块,被配置为在所有所述目标组合中,若偏移量大于第一目标偏移量的目标组合的占比不大于第五阈值,则确定偏移量大于所述第一目标偏移量的目标组合为异常目标组合,其中,所述第一目标偏移量为所述第一拐点在所述第一偏移量分布曲线图中的横坐标。

可选的,所述第一拐点确定子模块具体被配置为:

根据第一预设公式S=min(m,L/n),计算基于肘部法则的拐点检测算法中的敏感参数S,其中,L为所述第一偏移量分布曲线图中涉及的目标组合的总数量,m和n分别为预先设置的常量;

采用所述基于肘部法则的拐点检测算法,确定所述第一偏移量分布曲线图中的第一拐点。

可选的,所述异常目标组合确定模块还包括:

排序子模块,被配置为在所有所述目标组合中,若偏移量大于所述第一目标偏移量的目标组合的占比大于所述第五阈值,则按照偏移量从小到大的顺序,对所述目标组合进行排序,获得第一排序;

删减子模块,被配置为将所述第一排序中的前第一预设数量的目标组合去除,得到第二剩余目标组合;

第二绘制子模块,被配置为根据本次得到的所述第二剩余目标组合的偏移量,绘制第二偏移量分布曲线图,其中,所述第二偏移量分布曲线图的横轴表示偏移量,纵轴表示偏移量小于横轴上的数值表示的偏移量的目标组合的数量;

第二拐点确定子模块,被配置为确定所述第二偏移量分布曲线图中的第二拐点;

第二异常目标组合确定子模块,被配置为在本次得到的所述第二剩余目标组合中,若偏移量大于第二目标偏移量的目标组合的占比不大于所述第五阈值,则将偏移量大于所述第二目标偏移量的目标组合确定为异常目标组合,其中,所述第二目标偏移量为所述第二拐点在所述第二偏移量分布曲线图中的横坐标。

可选的,所述可能性参数计算子模块具体被配置为:

按照所述目标占比从大到小的顺序,对所述第一维度因子组合进行排序,得到第二排序;

选出所述第二排序中前第二预设数量的待处理因子组合;

对所述待处理因子组合进行排序,获得第三排序;

将所述第三排序中前第三预设数量的备选因子组合;

获取所述备选因子组合关联的目标组合,其中,所述备选因子组合关联的目标组合包括所述备选因子组合中的因子;

根据所述备选因子组合关联的目标组合,计算所述第一维度因子组合中存在异常因子组合的第一可能性参数;

其中,所述第二预设数量大于所述第三预设数量。

可选的,所述可能性参数计算子模块在对所述待处理因子组合进行排序,获得第三排序时,具体被配置为:

在目标指标为原生指标时,计算所述待处理因子组合的第一参数,并按照所述第一参数从大到小的顺序,对所述待处理因子组合进行排序,得到第三排序,其中,所述目标指标为所述维度关联的业务指标,所述第一参数为与同一个所述待处理因子组合相关联的目标组合的偏移量之和,所述待处理因子组合相关联的目标组合包括所述待处理因子组合中的因子;

在所述目标指标为衍生指标时,获取每一个第一目标组合的第一数值,所述第一目标组合为所述待处理因子组合关联的目标组合,所述第一数值为所述第一目标组合在不同时刻的第二类指标值之差的绝对值,所述第二类指标值为第一指标的值,所述第一指标为所述目标指标为衍生指标时,计算所述目标指标的过程中作为分子的指标;

获取每一个所述第一目标组合的第二数值,所述第二数值为所述第一目标组合在所述不同时刻的第三类指标值之差的绝对值,所述第三类指标值为第二指标的值,所述第二指标为所述目标指标为衍生指标时,计算所述目标指标的过程中作为分母的指标;

计算每一个所述第一目标组合的第三数值,所述第三数值为同一个所述第一目标组合的所述第一数值与所述第二数值之和;

计算所述待处理因子组合的第二参数,所述第二参数为与同一个所述待处理因子组合关联的所述第一目标组合的所述第三数值之和;

按照所述待处理因子组合的所述第二参数从大到小的顺序,对所述待处理因子组合进行排序,得到第三排序。

可选的,所述执行模块在从所述第一维度因子组合中确定异常因子组合时,具体被配置为:

将所述备选因子组合,确定为所述异常因子组合。

可选的,所述可能性参数计算子模块在根据所述备选因子组合关联的目标组合,计算所述第一维度因子组合中存在异常因子组合的第一可能性参数时,具体被配置为:

计算第一异常目标组合的偏移量的第一平均值avg1,其中,所述第一异常目标组合为第一目标组合中的异常目标组合,所述第一目标组合为所述备选因子组合相关联的目标组合;

计算所述第一目标组合中除所述第一异常目标组合之外的其他目标组合的偏移量的第二平均值avg2;

根据第二预设公式a(Z1)=f(Z1)-f(Z1)/f(Z)(f(Z)-v(Z)),计算第三参数a(Z1),其中,f(Z1)表示所述第一异常目标组合在第二时刻的第一类指标值的和,f(Z)表示所述第一目标组合在所述第二时刻的所述第一类指标值的和,v(Z)表示所述第一目标组合在第一时刻的所述第一类指标值的和,所述第一类指标值为目标指标的值,所述目标指标为所述维度关联的业务指标,所述第一时刻早于所述第二时刻;

计算每一个所述第一异常目标组合在所述第一时刻的所述第一类指标值与所述第三参数之差,得到与每一个所述第一异常目标组合对应的第四参数;

计算所有所述第一异常目标组合对应的第四参数的绝对值的第三平均值avg3;

根据所述avg1、avg2、avg3、以及第三预设公式GPS=1-(avg3+avg2)/(avg1+avg2),计算所述第一维度因子组合中存在异常因子组合的第一可能性参数;

其中,GPS表示所述第一可能性参数。

可选的,所述装置还包括:

第一验证参数获取模块,被配置为获取与所述异常因子组合关联的第二目标组合,所述目标组合为第N层维度结点关联的因子组合,N为所述异常数据的维度数量,所述第一目标组合包括所述异常因子组合中的因子;

第二验证参数获取模块,被配置为获取第四数值,所述第四数值为所述第二目标组合在第三时刻的第一类指标值的和,所述第一类指标值为目标指标的取值,所述目标指标为与所述维度关联的业务指标;

第三验证参数获取模块,被配置为获取第五数值,所述第五数值为所有所述目标组合在所述第三时刻的所述第一类指标值的和;

验证模块,被配置为在所述第四数值与所述第五数值的比值小于第三阈值时,执行预设提示操作,所述预设提示操作用于提示异常因子未处于所述异常数据中。

根据本公开实施例的第三方面,提供一种电子设备包括:

处理器;

用于存储该处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现上述所述的根因确定方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够实现上述所述的根因确定方法。

根据本公开实施例的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述所述的根因确定方法。

与现有技术相比,本公开具有以下优点:

本公开的实施例,能够获取维度以及维度包括的因子,从而根据维度构建根因查找树,进而以根因查找树中的任一维度结点为第一维度结点,并获取第一维度结点关联的第一维度因子组合,计算第一维度因子组合中存在异常因子组合的第一可能性参数,在第一可能性参数大于第一阈值且第一维度的数量不大于第一阈值时,增大第一阈值。

然后,再次以根因查找树中的任一维度结点为第一维度结点,以增大后的第一阈值为新第一阈值,重复执行计算第一可能性参数、以及在重新计算的第一可能性参数大于新第一阈值且第一维度的数量不大于第二阈值时增大新第一阈值的过程,直至重新计算的第一可能性参数大于新第一阈值、且第一维度的数量大于第二阈值,从第一维度因子组合中确定异常因子组合。

由此可知,本公开的实施例,无需使用者输入超参数,并且会在计算得到一个大于最初设置的第一阈值的第一可能性参数时,判断第一维度的数量是否大于第二阈值,若否,则说明阈值设置的过低,方法没有往根因查找树的更深层进行探索就满足阈值条件并返回结果了,而此时,在本公开的实施例中,以一定步长提高第一阈值并重新寻找异常因子组合,从而可以输出维度交叉(即多维度)的根因。因此,本公开的实施例,无需使用者输入任何超参数即可返回合理结果,符合预期,且可以适用于多种业务场景。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

图1是根据一示例性实施例示出的根因确定方法的流程图。

图2是本公开实施例中根因查找树的示意图;

图3是根据一示例性实施例示出的另一种根因确定方法的流程图;

图4是本公开实施例中偏移分布曲线示意图;

图5是本公开实施例中敏感参数S为不同取值时拐点的位置示意图;

图6是本公开实施例中第一偏移量分布曲线图映射到横坐标取值范围为0~1,以及纵坐标取值范围为0~1的曲线图;

图7是本公开实施例中的距离曲线的示意图;

图8是本公开实施例中根因确定方法的具体实施方式的流程图;

图9是根据一示例性实施例示出的一种根因确定装置的框图;

图10根据一示例性实施例示出的另一种根因确定装置的框图;

图11根据一示例性实施例示出的一种电子设备的框图;

图12根据一示例性实施例示出的另一种电子设备的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种根因确定方法的流程图,该根因确定方法可以应用于电子设备,该电子设备例如可以为服务器、电脑、手机等。如图1所示,该方法包括以下步骤101-106。

步骤101:获取异常数据。

其中,所述异常数据包括维度以及所述维度包括的因子。

步骤102:根据所述维度,构建根因查找树。

其中,所述根因查找树包括至少一层维度结点层,每一维度结点层包括至少一个维度结点,所述维度结点关联至少一个维度,且所述维度结点关联的维度数量与所述维度结点位于的维度结点层数相同。

另外,若第j层的一个维度结点关联的维度属于第j+1层的一个维度结点关联的维度,则该第j层的维度结点为该第j+1层的维度结点的父结点,j为正整数且j∈[1,N],N为所述异常数据的维度数量。即本公开实施例中,一个维度结点的父结点关联的维度,属于该维度结点关联的维度,也可以认为被包括在该维度结点关联的维度中。

例如异常数据包括A、B、C三个维度,A维度包括a1、a2两个因子,B维度包括b1、b2、b3三个因子,C维度包括c1、c2、c3、c4四个因子,则根据A、B、C三个维度,构建的根因查找树,如图2所示。即该根因查找树包括三层,第一层包括3个维度结点,分别为关联A维度的维度结点A、关联B维度的维度结点B以及关联C维度的维度结点C;第二层包括关联A维度和B维度的维度结点AB、关联A维度和C维度的维度结点AC、关联B维度和C维度的维度结点BC;第三层包括关联A、B、C维度组成的维度结点ABC。

其中,对于父结点,例如图2中,A维度包括在A维度和B维度中,因此,关联A维度的维度结点A为关联A维度和B维度的维度结点AB的父结点。

步骤103:获取所述根因查找树中第一维度结点关联的第一维度因子组合。

其中,所述第一维度结点关联至少一个第一维度,所述第一维度因子组合包括各所述第一维度的一个因子,所述第一维度结点为所述根因查找树中的任一维度结点。

例如图2所示的根因查找树,对于第一层:维度结点A关联的因子组合为:a1因子组成的因子组合、a2因子组合的因子组合;维度结点B关联的因子组合为:b1组成的因子组合、b2组成的因子组合、b3组成的因子组合;维度结点C关联的因子组合为:c1组成的因子组合、c2组成的因子组合、c3组成的因子组合、c4组成的因子组合。

针对第二层:维度结点AB关联的因子组合为:从a1、a2两个因子中选出的一个因子、以及从b1、b2、b3三个因子中选出的因子的组成的因子组合,即为6个因子组合;维度结点AC关联的因子组合为:从a1、a2两个因子中选出的一个因子、以及从c1、c2、c3、c4四个因子中选出的因子的组成的因子组合,即为8个因子组合;维度结点BC关联的因子组合为:从b1、b2、b3三个因子中选出的一个因子、以及从c1、c2、c3、c4四个因子中选出的因子的组成的因子组合,即为12个因子组合。

针对第三层:维度结点ABC关联的因子组合为:从a1、a2两个因子中选出的一个因子、从b1、b2、b3三个因子中选出的因子、以及从c1、c2、c3、c4四个因子中选出的因子的组成的因子组合,即为24个因子组合。

其中,关联维度数量最多的维度结点所关联的因子组合,我们称为目标组合,应当理解,关联维度数量最多的维度结点为根因查找树中的第N层维度结点,N为异常数据的维度数量。例如,图2中第三层的维度结点ABC关联的因子组合为目标组合。

步骤104:计算所述第一维度因子组合中存在异常因子组合的第一可能性参数。

其中,可能性参数与维度结点是一一对应的关系,即根因查找树中的每一个维度结点对应存在一个可能性参数。一个维度结点对应的可能性参表示该维度结点关联的因子组合中存在异常因子组合的概率。可选的,所述可能性参数具体可以为激励潜在分数(General Potential Score,GPS)。其中,GPS在多维交叉根因分析中是衡量因子组合成为根因的可能性的值,GPS的计算方法将在后文中描述。

步骤105:在所述第一可能性参数大于第一阈值且所述第一维度的数量不大于第二阈值时,增大所述第一阈值。

步骤106:以所述根因查找树中的任一维度结点为第一维度结点、以增大后的第一阈值为新第一阈值,重复执行计算所述第一维度因子组合中存在异常因子组合的第一可能性参数、以及在重新计算的第一可能性参数大于所述新第一阈值且所述第一维度的数量不大于所述第二阈值时增大所述新第一阈值的过程,直至重新计算的第一可能性参数大于所述新第一阈值、且所述第一维度的数量大于所述第二阈值,从所述第一维度因子组合中确定异常因子组合。

其中,上述步骤105和步骤106,即为在根因查找树中的维度结点关联的因子组合中,查找异常因子组合的过程。查找到的异常因子组合即为“根因”。

另外,在上述步骤105和步骤106中,并未限定在根因查找树中的维度结点关联的因子组合中查找异常因子组合的顺序,例如可以按照维度数量由小到大的顺序逐层对根因查找树进行遍历,即逐层计算每一个维度结点对应的可能性参数;也可以随机选择一个维度结点,并计算该维度结点对应的可能性参数,并在计算得到的该维度结点关联的因子组合中不存在异常因子组合时,随机选择下一个未计算过可能性参数的维度结点。

例如图2所示的根因查找树,可以按照第一层、第二层、第三层的顺序,对每一层中的维度结点进行遍历。

具体的,针对第一层,按照维度结点A、维度结点B、维度结点C的顺序,计算维度结点对应的可能性参数;针对第二层,按照维度结点AB、维度结点AC、维度结点BC的顺序,计算维度结点对应的可能性参数。

此外,若第一可能性参数大于第一阈值且第一维度的数量不大于第二阈值,则说明第一阈值设置的过低,方法没有往根因查找树的更深层进行搜索就满足阈值条件并返回结果了,此时,本公开的实施例,以一定步长提高第一阈值并重新寻找异常因子组合。

若重新计算的第一可能性参数大于新第一阈值、且第一维度的数量大于第二阈值,则说明对于第一维度因子组合中存在异常因子组合的可能性很大,且第一维度的数量是合理的,则可以从第一维度因子组合中选择出异常因子组合。

可选的,所述方法还包括:

在所述第一可能性参数大于所述第一阈值、且所述第一维度的数量大于所述第二阈值时,从所述第一维度因子组合中确定异常因子组合。

即步骤104计算得到的第一可能性参数大于第一阈值,且第一维度的数量大于第二阈值时,说明第一维度因子组合中存在异常因子组合的可能性很大,且第一维度的数量是合理的,则从第一维度因子组合中选择出异常因子组合。

可选的,在增大所述第一阈值之后,若所述新第一阈值不小于预设值,则所述方法还包括:

若重新计算的第一可能性参数大于所述新第一阈值、且所述第一维度的数量不大于所述第二阈值,则从所述第一维度因子组合中确定异常因子组合。

其中,多次增大第一阈值后,在第一阈值不小于预设值时,若重新计算的第一可能性参数大于新第一阈值、且第一维度的数量不大于第二阈值,则表示异常因子组合中包括的因子所属的维度数量不大于第二阈值也是合理的。

另外,需要说明的是,若新第一阈值小于预设值,则重复执行计算第一可能性参数、以及在重新计算的第一可能性参数大于新第一阈值且第一维度的数量不大于第二阈值时增大所述新第一阈值的过程,直至重新计算的第一可能性参数大于所述新第一阈值、且第一维度的数量大于所述第二阈值,从所述第一维度因子组合中确定异常因子组合。

可选的,所述方法还包括:

在所述第一可能性参数不大于所述第一阈值时,获取第二维度结点关联的第二维度因子组合,所述第二维度结点关联至少一个第二维度,所述第二维度因子组合包括各所述第二维度的一个因子;

计算所述第二维度因子组合中存在异常因子组合的第二可能性参数。

其中,第一可能性参数不大于第一阈值,表示第一维度因子组合中存在异常因子组合的可能性很小,此种情况下则需要重新计算其他维度结点对应的可能性参数。例如在按照维度数量由小到大的顺序对根因查找树逐层遍历的过程中,如果计算得到某个维度结点的可能性参数小于或等于第一阈值,则继续遍历剩余的维度结点,即计算这个可能性参数对应的维度结点的下一维度结点的可能性参数,直到计算得到一个大于第一阈值的可能性参数、且这个可能性参数对应的维度结点关联的维度的数量大于第二阈值时,停止遍历。

需要说明的是,若根因查找树中的所有维度结点对应的可能性参数计算完成之后,一直未得到大于第一阈值的可能性参数,则表示异常因子组合并不存在于根因查找树中的维度结点关联的因子组合中。

另外,若第二可能性参数大于第一阈值、且第二维度的数量大于第二阈值,则说明对于第二维度因子组合中存在异常因子组合的可能性很大,且第二维度的数量是合理的,则可以从第二维度因子组合中选择出异常因子组合。若第二可能性参数不大于第一阈值,或者第二可能性参数大于第一阈值且第二维度的数量不大于第二阈值,则计算根因查找树中除第一维度结点和第二维度结点之外的其他维度结点对应的可能性参数。

由上述可知,本公开的实施例,能够获取维度以及维度包括的因子,从而根据维度构建根因查找树,进而以根因查找树中的任一维度结点为第一维度结点,并获取第一维度结点关联的第一维度因子组合,计算第一维度因子组合中存在异常因子组合的第一可能性参数,在第一可能性参数大于第一阈值且第一维度的数量不大于第一阈值时,增大第一阈值。

然后,再次以根因查找树中的任一维度结点为第一维度结点,以增大后的第一阈值为新第一阈值,重复执行计算第一可能性参数、以及在重新计算的第一可能性参数大于新第一阈值且第一维度的数量不大于第二阈值时增大新第一阈值的过程,直至重新计算的第一可能性参数大于新第一阈值、且第一维度的数量大于第二阈值,从第一维度因子组合中确定异常因子组合。

由此可知,本公开的实施例,无需使用者输入超参数,并且会在计算得到一个大于最初设置的第一阈值的第一可能性参数时,判断第一维度的数量是否大于第二阈值,若否,则说明阈值设置的过低,方法没有往根因查找树的更深层进行探索就满足阈值条件并返回结果了,而此时,在本公开的实施例中,以一定步长提高第一阈值并重新寻找异常因子组合,从而可以输出维度交叉(即多维度)的根因。因此,本公开的实施例,无需使用者输入任何超参数即可返回合理结果,符合预期,且可以适用于多种业务场景。

图3是根据一示例性实施例示出的一种根因确定方法的流程图,如图3所示,该方法包括以下步骤301-308。

步骤301:获取异常数据。

其中,所述异常数据包括维度以及所述维度包括的因子。

步骤302:根据所述维度,构建根因查找树。

其中,所述根因查找树包括至少一层维度结点层,每一维度结点层包括至少一个维度结点,所述维度结点关联至少一个维度,且所述维度结点关联的维度数量与所述维度结点位于的维度结点层数相同。

另外,若第j层的一个维度结点关联的维度属于第j+1层的一个维度结点关联的维度,则该第j层的维度结点为该第j+1层的维度结点的父结点,j为正整数且j∈[1,N],N为所述异常数据的维度数量。即本公开实施例中,一个维度结点的父结点关联的维度,属于该维度结点关联的维度,也可以认为被包括在该维度结点关联的维度中。

例如异常数据包括A、B、C三个维度,A维度包括a1、a2两个因子,B维度包括b1、b2、b3三个因子,C维度包括c1、c2、c3、c4四个因子,则根据A、B、C三个维度,构建的根因查找树,如图2所示。即该根因查找树包括三层,第一层包括3个维度结点,分别为关联A维度的维度结点A、关联B维度的维度结点B以及关联C维度的维度结点C;第二层包括关联A维度和B维度的维度结点AB、关联A维度和C维度的维度结点AC、关联B维度和C维度的维度结点BC;第三层包括关联A、B、C维度组成的维度结点ABC。

其中,对于父结点,例如图2中,A维度包括在A维度和B维度中,因此,关联A维度的维度结点A为关联A维度和B维度的维度结点AB的父结点。

步骤303:获取所述根因查找树中第一维度结点关联的第一维度因子组合。

其中,所述第一维度结点关联至少一个第一维度,所述第一维度因子组合包括各所述第一维度的一个因子,所述第一维度结点为所述根因查找树中的任一维度结点。

例如图2所示的根因查找树,对于第一层:维度结点A关联的因子组合为:a1因子组成的因子组合、a2因子组合的因子组合;维度结点B关联的因子组合为:b1组成的因子组合、b2组成的因子组合、b3组成的因子组合;维度结点C关联的因子组合为:c1组成的因子组合、c2组成的因子组合、c3组成的因子组合、c4组成的因子组合。

针对第二层:维度结点AB关联的因子组合为:从a1、a2两个因子中选出的一个因子、以及从b1、b2、b3三个因子中选出的因子的组成的因子组合,即为6个因子组合;维度结点AC关联的因子组合为:从a1、a2两个因子中选出的一个因子、以及从c1、c2、c3、c4四个因子中选出的因子的组成的因子组合,即为8个因子组合;维度结点BC关联的因子组合为:从b1、b2、b3三个因子中选出的一个因子、以及从c1、c2、c3、c4四个因子中选出的因子的组成的因子组合,即为12个因子组合。

针对第三层:维度结点ABC关联的因子组合为:从a1、a2两个因子中选出的一个因子、从b1、b2、b3三个因子中选出的因子、以及从c1、c2、c3、c4四个因子中选出的因子的组成的因子组合,即为24个因子组合。

其中,关联维度数量最多的维度结点所关联的因子组合,我们称为目标组合,应当理解,关联维度数量最多的维度结点为根因查找树中的第N层维度结点,N为异常数据的维度数量。例如,图2中第三层的维度结点ABC关联的因子组合为目标组合。

步骤304:确定异常目标组合。

其中,所述目标组合为第N层维度结点关联的因子组合,N为所述异常数据的维度数量。例如图2所示的根因查找树,第三层的维度结点关联的因子组合即为目标组合。

所述异常目标组合为偏移量大于预设偏移量的目标组合。所述偏移量为在不同时刻采集的目标组合的第一类指标值之差的绝对值,所述第一类指标值为目标指标的值,所述目标指标为所述维度关联的业务指标,例如所述目标指标为异常指标或者待检测指标。

步骤305:计算每一个所述第一维度因子组合的目标占比。

其中,第i个所述第一维度因子组合的目标占比为:第i个所述第一维度因子组合关联的目标组合中异常目标组合的占比,i为正整数且i∈[1,M],M∈[1,N],M为所述第一维度结点关联的所述第一维度因子组合的数量。

此处需要说明的是,本公开的实施例中,一个因子组合包括的因子,属于一个目标组合包括的因子,则该因子组合与该目标组合相关联。

例如某一个第一维度因子组合关联有10个目标组合,其中存在6个异常目标组合,则该第一维度因子组合的目标占比为0.6。

步骤306:根据所述第一维度因子组合的目标占比,计算所述第一维度因子组合中存在异常因子组合的第一可能性参数。

其中,可能性参数与维度结点是一一对应的关系,即根因查找树中的每一个维度结点对应存在一个可能性参数。一个维度结点对应的可能性参表示该维度结点关联的因子组合中存在异常因子组合的概率。可选的,所述可能性参数具体可以为激励潜在分数(General Potential Score,GPS)。其中,GPS在多维交叉根因分析中是衡量因子组合成为根因的可能性的值,GPS的计算方法将在后文中描述。

步骤307:在所述第一可能性参数大于第一阈值且所述第一维度的数量不大于第二阈值时,增大所述第一阈值。

步骤308:以所述根因查找树中的任一维度结点为第一维度结点、以增大后的第一阈值为新第一阈值,重复执行计算所述第一维度因子组合中存在异常因子组合的第一可能性参数、以及在重新计算的第一可能性参数大于所述新第一阈值且所述第一维度的数量不大于所述第二阈值时增大所述新第一阈值的过程,直至重新计算的第一可能性参数大于所述新第一阈值、且所述第一维度的数量大于所述第二阈值,从所述第一维度因子组合中确定异常因子组合。

其中,上述步骤307和步骤308,即为在根因查找树中的维度结点关联的因子组合中,查找异常因子组合的过程。查找到的异常因子组合即为“根因”。

另外,在上述步骤307和步骤308中,并未限定在根因查找树中的维度结点关联的因子组合中,查找异常因子组合的顺序,例如可以按照维度数量由小到大的顺序逐层对根因查找树进行遍历,即逐层计算每一个维度结点对应的可能性参数;也可以随机选择一个维度结点,并计算该维度结点对应的可能性参数,并在计算得到的该维度结点关联的因子组合中不存在异常因子组合时,随机选择下一个未计算过可能性参数的维度结点。

例如图2所示的根因查找树,可以按照第一层、第二层、第三层的顺序,对每一层中的维度结点进行遍历。

具体的,针对第一层,按照维度结点A、维度结点B、维度结点C的顺序,计算维度结点对应的可能性参数;针对第二层,按照维度结点AB、维度结点AC、维度结点BC的顺序,计算维度结点对应的可能性参数。

此外,若第一可能性参数大于第一阈值且第一维度的数量不大于第二阈值,则说明第一阈值设置的过低,方法没有往根因查找树的更深层进行搜索就满足阈值条件并返回结果了,此时,本公开的实施例,以一定步长提高第一阈值并重新寻找异常因子组合。

若重新计算的第一可能性参数大于新第一阈值、且第一维度的数量大于第二阈值,则说明对于第一维度因子组合中存在异常因子组合的可能性很大,且第一维度的数量是合理的,则可以从第一维度因子组合中,选择出异常因子组合。

可选的,所述方法还包括:

在所述第一可能性参数大于所述第一阈值、且所述第一维度的数量大于所述第二阈值时,从所述第一维度因子组合中确定异常因子组合。

即步骤306计算得到的第一可能性参数大于第一阈值,且第一维度的数量大于第二阈值时,说明第一维度因子组合中存在异常因子组合的可能性很大,且第一维度的数量是合理的,则从第一维度因子组合中选择出异常因子组合。

可选的,在增大所述第一阈值之后,若所述新第一阈值不小于预设值,则所述方法还包括:

若重新计算的第一可能性参数大于所述新第一阈值、且所述第一维度的数量不大于所述第二阈值,则从所述第一维度因子组合中确定异常因子组合。

其中,多次增大第一阈值后,在第一阈值不小于预设值时,若重新计算的第一可能性参数大于新第一阈值、且第一维度的数量不大于第二阈值,则表示异常因子组合中包括的因子所属的维度数量不大于第二阈值也是合理的。

可选的,所述方法还包括:

在所述第一可能性参数不大于所述第一阈值时,获取第二维度结点关联的第二维度因子组合,所述第二维度结点关联至少一个第二维度,所述第二维度因子组合包括各所述第二维度的一个因子;

计算所述第二维度因子组合中存在异常因子组合的第二可能性参数。

其中,第一可能性参数不大于第一阈值,表示第一维度因子组合中存在异常因子组合的可能性很小,此种情况下则需要重新计算其他维度结点对应的可能性参数。例如在按照维度数量由小到大的顺序对根因查找树逐层遍历的过程中,如果计算得到某个维度结点的可能性参数小于或等于第一阈值,则继续遍历剩余的维度结点,即计算这个可能性参数对应的维度结点的下一维度结点的可能性参数,直到计算得到一个大于第一阈值的可能性参数、且这个可能性参数对应的维度结点关联的维度的数量大于第二阈值时,停止遍历。

需要说明的是,若根因查找树中的所有维度结点对应的可能性参数计算完成之后,一直未得到大于第一阈值的可能性参数,则表示因此异常组合并不存在于根因查找树中的维度结点关联的因子组合中。

另外,若第二可能性参数大于第一阈值、且第二维度的数量大于第二阈值,则说明对于第二维度因子组合中存在异常因子组合的可能性很大,且第二维度的数量是合理的,则可以从第二维度因子组合中选择出异常因子组合。若第二可能性参数不大于第一阈值,或者第二可能性参数大于第一阈值且第二维度的数量不大于第二阈值,则计算根因查找树中除第一维度结点和第二维度结点之外的其他维度结点对应的可能性参数。

可选的,在所述确定异常目标组合之前,所述方法还包括:

删除符合预设条件的目标组合,得到第一剩余目标组合;

其中,所述预设条件包括目标对象的变化情况与目标指标的异常方向不匹配,所述目标对象为在不同时刻采集的所述目标组合的第一类指标值,所述目标指标为与所述维度关联的业务指标,所述第一类指标值为所述目标指标的值;

所述确定异常目标组合,包括:

确定所述第一剩余目标组合中的异常目标组合。

即本公开的实施例,可以在确定异常目标组合前,去掉与目标指标异常方向不一致的目标组合。例如,需要确定DAU增加的因子组合,但某些目标组合的DAU,现在的指标值相对于过去的指标值是减小的,则需要去掉该目标组合,从而避免此类目标组合影响后续寻找导致DAU增加的真正原因。

其中,删除符合预设条件的目标组合之后,则确定得到的第一剩余目标组合中的异常目标组合,从而采用第一剩余目标组合中的异常目标组合执行后续的流程。

可选的,所述确定异常目标组合,包括:

获取所述目标组合的偏移量;

绘制第一偏移量分布曲线图,其中,所述第一偏移量分布曲线图的横轴表示偏移量,纵轴表示偏移量小于横轴表示的偏移量的目标组合的数量;

确定所述第一偏移量分布曲线图中的第一拐点;

在所有所述目标组合中,若偏移量大于第一目标偏移量的目标组合的占比不大于第五阈值,则确定偏移量大于所述第一目标偏移量的目标组合为异常目标组合,其中,所述第一目标偏移量为所述第一拐点在所述第一偏移量分布曲线图中的横坐标。

其中,第一偏移量分布曲线图例如可为图4所示。

另外,所述偏移量为在不同时刻采集的目标组合的第一类指标值之差的绝对值,所述第一类指标为目标指标的值,所述目标指标为所述维度关联的业务指标。例如在过去某一时刻曾采集到在一个目标组合的DAU指标值为x1,在当前时刻采集到的该目标组合的DAU指标值为x2,则该目标组合的偏移量为|x2-x1|。

即本公开的实施例中,得到根因查找树之后,会针对每一个目标组合计算偏移量,并根据计算得到的偏移量绘制偏移量分布曲线图,然后通过寻找该偏移量分布曲线图的拐点,来找到确定异常目标组合所需的阈值,从而将大于该阈值的目标组合定义为异常目标组合。

可选的,所述确定所述第一偏移量分布曲线图中的第一拐点,包括:

根据第一预设公式S=min(m,L/n),计算基于肘部法则的拐点检测算法中的敏感参数S,其中,L为所述第一偏移量分布曲线图中涉及的目标组合的总数量,m和n分别为预先设置的常量;

采用所述基于肘部法则的拐点检测算法,确定所述第一偏移量分布曲线图中的第一拐点。

其中,在基于肘部法则的拐点检测算法寻找拐点的过程中,通过一敏感参数S来控制寻找拐点的保守程度。例如,在偏移量分布曲线图中,在S=1、S=3、S=5、S=10、S=100、S=200时,各个拐点(即图5中虚线与实线的交点)的分布情况如图5所示,由图5可知,S越大,则拐点在偏移量曲线图中的横坐标的值越大,从而使得确定的异常目标组合的数量越少,即S越大越保守。

具体的,计算出S之后,采用基于肘部法则的拐点检测算法,确定所述第一偏移量分布曲线图中的第一拐点的过程如下所述:

首先,第一偏移量分布曲线图可以映射到横坐标取值范围为0~1,以及纵坐标取值范围为0~1的曲线图中,例如图6所示。其中,在图6所示的曲线图中,每一个点都可以得到其到线段AB的距离,其中,线段AB的两个端点中,A点为图6中所示的曲线的起始点,B点为图6中所示的曲线的终点。则可以根据图6中的曲线中的每一个点到线段AB的距离,得到一个距离曲线图,如图7所示。其中,图7中所示的距离曲线的横轴与图6中所示的曲线的横轴表示的意义相同,即均为偏移量映射到0~1范围内的数值,图7中所示的距离曲线的纵轴表示图6中的曲线上的各个点到线段AB的距离。

其次,得到图7所示的距离曲线后,可以获取图7中所示的距离曲线中,距离大于预先确定的距离阈值的点的数量,记为Q;

然后,比较前述敏感参数S与Q的大小;当S小于或等于Q时,将图7中所示的距离曲线中,距离大于前述距离阈值的点中的第S个点确定为第一目标点;当S大于Q时,将图7中所示的距离曲线中,距离大于前述距离阈值的点中的最后一个点确定为第一目标点;

最后,将确定出的图7中的上述第一目标点,映射到图6中,即找出第一目标点对应于图6中的点,记为第二目标点,从而可以确定出图6中的第一目标点在前述第一偏移量曲线的点,即为第一偏移量曲线中的第一拐点。

可选的,所述确定所述第一偏移量分布曲线图中的第一拐点之后,所述确定异常目标组合,还包括:

在所有所述目标组合中,若偏移量大于所述第一目标偏移量的目标组合的占比大于所述第五阈值,则按照偏移量从小到大的顺序,对所述目标组合进行排序,获得第一排序;

将所述第一排序中的前第一预设数量的目标组合去除,得到第二剩余目标组合;

根据本次得到的所述第二剩余目标组合的偏移量,绘制第二偏移量分布曲线图,其中,所述第二偏移量分布曲线图的横轴表示偏移量,纵轴表示偏移量小于横轴上的数值表示的偏移量的目标组合的数量;

确定所述第二偏移量分布曲线图中的第二拐点;

在本次得到的所述第二剩余目标组合中,若偏移量大于第二目标偏移量的目标组合的占比不大于所述第五阈值,则将偏移量大于所述第二目标偏移量的目标组合确定为异常目标组合,其中,所述第二目标偏移量为所述第二拐点在所述第二偏移量分布曲线图中的横坐标。

由上述可知,针对偏移量分布曲线可能为凹函数以致找不到拐点的情况(如图4中虚线部分圈中的部分),本公开的实施例循环的以一定比例摒弃掉部分目标组合,然后重新根据剩余的目标组合绘制偏移量分布曲线图,并再次计算拐点,直到根据拐点找到的异常目标组合在剩余目标组合中的占比小于第五阈值(例如50%)为止。

可选的,所述根据所述第一维度因子组合的目标占比,计算所述第一维度因子组合中存在异常因子组合的第一可能性参数,可以包括以下步骤H1~H6。

步骤H1:按照所述目标占比从大到小的顺序,对所述第一维度因子组合进行排序,得到第二排序。

步骤H2:选出所述第二排序中前第二预设数量的待处理因子组合。

步骤H3:对所述待处理因子组合进行排序,获得第三排序。

步骤H4:将所述第三排序中前第三预设数量的备选因子组合。

步骤H5:获取所述备选因子组合关联的目标组合,其中,所述备选因子组合关联的目标组合包括所述备选因子组合中的因子。

步骤H6:根据所述备选因子组合关联的目标组合,计算所述第一维度因子组合中存在异常因子组合的第一可能性参数。

其中,所述第二预设数量大于所述第三预设数量。

例如第一维度结点关联有50个第一维度因子组合,则需要计算这50个第一维度因子组合中的每一个因子组合的目标占比,并依据目标占比从大到小的顺序,对这50个第一维度因子组合进行排序,从而先选出排序中第三预设数量(例如15个)的待处理因子组合,再对选出的这第三预设数量的待处理因子组合,进行排序,进而再选出第一预设数量(例如3个)备选因子组合,进而根据备选因子组合关联的目标组合,计算第一维度因子组合中存在异常因子组合的第一可能性参数。

其中,最终从一个维度结点关联的因子组合中选出的备选因子组合,可以称为该维度结点关联的备选因子组合。

可选的,所述对所述待处理因子组合进行排序,获得第三排序,包括:

在目标指标为原生指标时,计算所述待处理因子组合的第一参数,并按照所述第一参数从大到小的顺序,对所述待处理因子组合进行排序,得到第三排序,其中,所述目标指标为所述维度关联的业务指标,所述第一参数为与同一个所述待处理因子组合相关联的目标组合的偏移量之和,所述待处理因子组合相关联的目标组合包括所述待处理因子组合中的因子;

在所述目标指标为衍生指标时,获取每一个第一目标组合的第一数值,所述第一目标组合为所述待处理因子组合关联的目标组合,所述第一数值为所述第一目标组合在不同时刻的第二类指标值之差的绝对值,所述第二类指标值为第一指标的值,所述第一指标为所述目标指标为衍生指标时,计算所述目标指标的过程中作为分子的指标;

获取每一个所述第一目标组合的第二数值,所述第二数值为所述第一目标组合在所述不同时刻的第三类指标值之差的绝对值,所述第三类指标值为第二指标的值,所述第二指标为所述目标指标为衍生指标时,计算所述目标指标的过程中作为分母的指标;

计算每一个所述第一目标组合的第三数值,所述第三数值为同一个所述第一目标组合的所述第一数值与所述第二数值之和;

计算所述待处理因子组合的第二参数,所述第二参数为与同一个所述待处理因子组合关联的所述第一目标组合的所述第三数值之和;

按照所述待处理因子组合的所述第二参数从大到小的顺序,对所述待处理因子组合进行排序,得到第三排序。

具体的,若目标指标为原子指标,则在目标指标的整体波动为上升时:根据f-v的值从大到小的顺序,将上述待处理因子组合再次进行排序;则在目标指标的整体波动为下降时:根据v-f的值从大到小的顺序,将上述待处理因子组合再次进行排序;其中,f表示与待处理因子组合相关联的目标组合在第二时刻的第一类指标值之和,v表示与待处理因子组合相关联的目标组合在第一时刻的第一类指标值之和,第一时刻早于第二时刻。

若目标指标为衍生指标,则首先需要确定计算目标指标的过程中作为分子的第一指标nume和作为分母的第二指标deno;

然后,在目标指标的整体波动为上升时,根据f_nume-v_nume+v_deno-f_deno的值由大到小的顺序,将上述待处理因子组合,再次进行排序;在待检测指标的整体波动为下降时,根据v_nume-f_nume+f_deno-v_deno的值,将上述待处理因子组合,再次进行排序。

其中,f_nume表示与待处理因子组合相关联的目标组合在第二时刻的第二类指标值(即第一指标nume的值)之和,v_nume表示与待处理因子组合相关联的目标组合在第一时刻的第二类指标值之和,f_deno表示与待处理因子组合相关联的目标组合在第二时刻的第三类指标值(即第二指标deno的值)之和,v_deno表示与待处理因子组合相关联的目标组合在第一时刻的第三类指标值之和。

由上述可知,上述所述的对待处理因子组合进行排序的过程,实际是根据待处理因子组合关联的目标组合的相关的偏移量进行的。

其中,如果根据因子组合的目标占比来排序的话,很有可能排在前面的都是一些本身关联的目标组合数量就很小的因子组合。举个极端的例子,如果该因子组合关联的目标组合只有一个,而这一个又恰好是异常的,那么该占比将会是1/1=1,这样的因子组合一定会排在最前面。由此可见,这样的因子组合关联的目标组合的数量很少,但目标占比却很大。如果选出这样的因子组合作为计算一个维度结点的GPS的备选因子组合,则备选因子组合关联的目标组合的数量总和会比较小。

而一个维度结点关联的因子组合关联的目标组合的数量之和较小时,该维度结点的GPS会比较高。因此,在选择关联目标组合数量较少但目标占比比较大的因子组合,作为计算一个维度结点的GPS的备选因子组合,则会使得计算得到的这个维度结点的GPS偏高,从而无法准确表示该维度节点关联的因子组合中存在异常因子组合的概率,进而导致查找到的异常因子组合不准确。其中,一个维度结点关联的因子组合较少时,该维度结点的GPS会比较高的具体原因会在下文描述。

为了解决这个问题,本公开的实施例中,先用目标占比进行排序,保留目标占比从大到小的排序中的前第三预设数量的因子组合,而后再进一步引入“偏移量”,对这前第三预设数量的因子组合,进行二次排序,从而排除掉那些目标组合数很少导致目标占比很大的情况。

可选的,所述从所述第一维度因子组合中确定异常因子组合,包括:

将所述备选因子组合,确定为所述异常因子组合。

由上述可知,采用上述步骤H1~H6,计算第一维度因子组合中存在异常因子组合的第一可能性参数时,则可以将上述备选因子组合确定为异常因子组合,即确定为导致目标指标异常的因子组合。

可选的,所述根据所述备选因子组合关联的目标组合,计算所述第一维度因子组合中存在异常因子组合的第一可能性参数,包括:

计算第一异常目标组合的偏移量的第一平均值avg1,其中,所述第一异常目标组合为第一目标组合中的异常目标组合,所述第一目标组合为所述备选因子组合相关联的目标组合;

计算所述第一目标组合中除所述第一异常目标组合之外的其他目标组合的偏移量的第二平均值avg2;

根据第二预设公式a(Z1)=f(Z1)-f(Z1)/f(Z)(f(Z)-v(Z)),计算第三参数a(Z1),其中,f(Z1)表示所述第一异常目标组合在第二时刻的第一类指标值的和,f(Z)表示所述第一目标组合在所述第二时刻的所述第一类指标值的和,v(Z)表示所述第一目标组合在第一时刻的所述第一类指标值的和,所述第一类指标值为目标指标的值,所述目标指标为所述维度关联的业务指标,所述第一时刻早于所述第二时刻;

计算每一个所述第一异常目标组合在所述第一时刻的所述第一类指标值与所述第三参数之差,得到与每一个所述第一异常目标组合对应的第四参数;

计算所有所述第一异常目标组合对应的第四参数的绝对值的第三平均值avg3;

根据所述avg1、avg2、avg3、以及第三预设公式GPS=1-(avg3+avg2)/(avg1+avg2),计算所述第一维度因子组合中存在异常因子组合的第一可能性参数;

其中,GPS表示所述第一可能性参数。

例如与第一维度结点关联的备选因子组合关联的所有目标组合包括10个,其中,存在5个异常目标组合,5个正常目标组合,则需要计算这5个异常目标组合的偏移量的第一平均值avg1;然后,计算这5个正常目标组合的偏移量的第二平均值avg2;再次,计算在第一时刻采集的,这5个异常目标组合的第一类指标值之和,得到f(Z1);再次,计算在第一时刻采集的,在上述10个目标组合的第一类指标值之和,得到f(Z);再次,计算在第二时刻采集的,上述10个目标组合的第一类指标值之和,得到为v(Z),其中,第一时刻早于第二时刻;再次,将f(Z1)、f(Z)、v(Z)代入至第二预设公式a(Z1)=f(Z1)-f(Z1)/f(Z)(f(Z)-v(Z)中,得到a(Z1);再次,针对上述5个异常目标组合,计算在第二时刻采集的每一个异常目标组合的第一类指标值与a(Z1)之差,并计算这些差值的绝对值的第三平均值avg3;最后,将avg1、avg2和avg3代入公式GPS=1-(avg3+avg2)/(avg1+avg2)中,即可得到第一维度因子组合中存在异常因子组合的第一可能性参数GPS。

可选的,所述从所述第一维度因子组全中确定异常因子组合后,所述方法还包括如下步骤K1-K4。

步骤K1:获取与所述异常因子组合关联的第二目标组合,所述目标组合为第N层维度结点关联的因子组合,N为所述异常数据的维度数量,所述第一目标组合包括所述异常因子组合中的因子。

步骤K2:获取第四数值,所述第四数值为所述第二目标组合在第三时刻的第一类指标值的和,所述第一类指标值为目标指标的取值,所述目标指标为与所述维度关联的业务指标。

步骤K3:获取第五数值,所述第五数值为所有所述目标组合在所述第三时刻的所述第一类指标值的和。

步骤K4:在所述第四数值与所述第五数值的比值小于第三阈值时,执行预设提示操作,所述预设提示操作用于提示异常因子未处于所述异常数据中。

例如对于图2所示的根因查找树,经过上述步骤找到异常因子组合为a1、b1因子组成的第一因子组合、a1和b2组成的第二因子组合以及a2和b3组成的第三因子组合,则与第一因子组合相关联的目标组合包括:a1、b1、c1组成的目标组合,a1、b1、c2组成的目标组合,a1、b1、c3组成的目标组合,a1、b1、c4组成的目标组合,即与第一因子组合相关联的目标组合包括四个目标组合;同理,与第二因子组合相关联的目标组合包括四个目标组合,与第三因子组合相关联的目标组合包括四个目标组合。则得到的异常因子组合相关联的目标组合包括12个。

其中,上述12个目标组合的第一类指标值(即目标指标的值)之和、所有目标组合的第一类指标值之和,如果前者与后者的比值小于第三阈值,表示寻找到的异常因子组合关联的目标组合的指标值之和占比过小。例如目标指标为日活跃用户数量(Daily ActiveUser,DAU),而某一次采集的数据显示在图2中所示的根因查找树的所有目标组合的DAU之和为2亿,而上述12个目标组合的DAU之和为2000,则2000远远小于2亿,则说明寻找到的导致DAU异常的因子组合占比过小,从而可以说明异常因子未处于上述根因查找树中的维度结点关联的因子组合中,从而以免输出的因子组合错误引导使用者。

即本公开的实施例中,选出的异常因子组合关联的目标组合的第一类指标值之和在总指标值(即所有目标组合的第一类指标值之和)中的占比,来判断真实根因是否在根因查找树中的维度结点关联的因子组合中。若选出的异常因子组合关联的目标组合的第一类指标值之和在总指标值中的占比过小,则提示使用者根因并不在根因查找树中的维度结点关联的因子组合中,以免错误的引导使用者。由此可见,本公开的实施例,还考虑了根因不在根因查找树中的维度结点关联的因子组合中的可能性。

其中,判断选出的异常因子组合是不是根因,实际上是通过该异常因子组合关联的每一个目标组合的变化百分比、与该异常因子组合的变化百分比之间的差距来判断的。其中,目标组合的变化百分比为目标组合的第一类指标值在不同时刻的变化百分比,异常因子组合的变化百分比为:与异常因子组合关联的所有目标组合的第一类指标值之和在不同时刻的变化百分比。

即如果认为选出的异常因子组合属于根因,那么该异常因子组合的变化百分比与该异常因子组合关联的大部分目标组合的变化百分比相差不大。例如选出的异常因子组合为3个,这三个异常因子组合关联的目标组合的数量为6个,那么如果这3个异常因子组合属于根因,则在这6个目标组合的DAU之和上涨15%时,这6个目标组合中每一个目标组合的DAU上涨幅度与15%相差不大。

例如两个目标组合的第一类指标值都变动相似幅度的概率,将远远大于一个100个目标组合的第一类指标值均变动相似幅度的概率。因此,一个维度结点关联的因子组合所关联的目标组合的数量之和较小时,该维度结点的GPS会比较高。由此可见,维度交叉比较深的维度结点(即关联维度数量较多的维度结点),由于其关联的因子组合所关联的目标组合更少,因此往往会有一个较高的GPS分数。

其中,在按照维度数量由小到大的顺序,逐层对根因查找树进行遍历寻找异常因子组合的过程中,并不是选择全局最优,而是随着维度交叉越来越深,通过一个第一阈值(threshold)去由浅至深的寻找导致目标指标异常的根因。因此理论上即使维度交叉比较浅(比如只有两个维度交叉且GPS为0.75),只要它的GPS大于这个阈值,它仍然会优先于维度交叉较深但是GPS分数较高(比如有三个维度交叉且GPS为0.8)的这种组合。

但是,如果异常因子组合不在根因查找树中的维度结点关联的因子组合中,例如该指标的抖动的根因不在内部业务,而是竞品有了某些动作,这种情况下,根因查找树中并不存在真正的根因维度,因此所有维度交叉组合理论上都会有一个较低的GPS分数。而正如上文所述,由于维度交叉比较深的维度结点倾向于会有一个较高的GPS分数,则此种情况下,找到的异常因子组合关联的维度结点则处于比较根因查找树比较深的一层,这样,找到的异常因子组合关联的目标组合的数量则比较少,从而导致返回的异常因子组合关联的目标组合的第一类指标值之和占总指标值的比例小。

因此,基于上述原因,如果返回的根因过深、且返回的异常因子组合关联的目标组合的第一类指标值之和占总指标值的比例小,则大概率是真正的根因并不在当前输入的维度中所导致的。针对这种情况,本公开的实施例会对找到的异常因子组合关联的目标组合的第一类指标值之进行判断,若过小,则会直接显示“找到的根因子占比过小,您寻找的根因可能不在当前维度中”等用于描述通过本方案并未找到根因的提示信息。其中,在真实业务场景下的根因分析中,异常因子组合不在根因查找树中的维度结点关联的因子组合中的可能性是非常大的,因此,这样处理可以大大提升输出的合理性。

此外,还需说明的是:上述第三时刻可以为前面所述第一时刻和第二时刻中的其中一个相同。也就是,在找到异常因子组合之后,可以通过第一时刻采集的第一类指标值或者第二时刻采集的第一类指标值执行上述步骤K1~K4。也可以采用其他时刻采集的第一类指标值执行上述步骤K1~K4。

综上所述,本公开实施例的根因确定方法的具体实施方式,如图8所示,主要分为四个阶段,即准备阶段、确认异常目标组合阶段、搜索根因阶段、控制结果输出阶段。

首先,在准备阶段主要包括如下过程:

获取目标指标关联的维度以及维度包括的因子,从而根据维度构建根因查找树。

其次,进入确认异常目标组合阶段,其中,确认异常目标组合阶段主要包括如下过程:

计算目标组合(即为根因查找树中最后一层维度结点关联的因子组合)的偏移量,并剔除第一类指标值的变化情况与目标异常方向不一致的目标组合,从而利用剩余的目标组合绘制偏移量分布曲线图,并通过敏感参数S,控制寻找曲线拐点,进而根据拐点确认异常目标组合。

再次,进入搜索根因阶段,搜索根因阶段主要包括如下过程:

按照根因查找树的层级结构,逐层遍历维度结点,并计算遇到的维度结点关联的因子组合中异常目标组合的目标占比,从而按照目标占比从大到小的顺序,对于该维度结点关联的因子组合进行排序,然后选出前15名的待处理因子组合,并对待处理因子组合进行排序,然后选出前三名的备选因子组合,进而根据选出的前三名的备选因子组合关联的目标组合,计算该维度结点的GPS;

其中,在该维度结点的GPS大于第一阈值、且涉及多个维度时,确定是选出的备选因子组合为异常因子组合,并进入控制结果输出阶段;

在该维度结点的GPS大于第一阈值、且涉及一个维度时,提升第一阈值,结束本次遍历,并重新开始遍历根因查找树;

在该维度结点的GPS小于第一阈值时,继续遍历下一维度结点,从而计算下一个维度结点的GPS。

最后,进入控制结果输出阶段,控制结果输出阶段主要包括如下过程:

判断异常因子组合的占比是否符合规定(即判断异常因子组合相关联的目标组合的第一类指标值之和与所有目标组合的第一类指标值之和的比值是否大于一定阈值),若符合规定,则输出该异常因子组合,否则,提示异常因子组合不在根因查找树中的维度结点关联的因子组合中。

此处需要说明的是,该实施方式中的其他技术细节(例如拐点的寻找方法、对待处理因子组合进行排序的过程、计算GPS的方法)可参见前文所述,此处不再赘述。

由上述可知,本公开的实施例,在剪枝(即对目标组合进行删减)时,做到剪枝后的异常目标组合的数量相对于目标组合的总数在合理的范围内。其中包括考虑指标的涨跌方向问题,并且保留与指标涨跌方向相同的目标组合。进一步地,根据与指标涨跌方向相同的目标组合的总数量,计算基于肘部法则的拐点检测算法中的敏感参数,从而依据该敏感参数寻找根据目标组合的偏移量绘制的偏移量曲线图中的合适的拐点。另外,还考虑了偏移量分布曲线为凹函数的情况,并对这种情况进行了修正。

此外,在根据因子组合的目标占比的排序选出待处理因子组合之后,再引入“待处理因子组合关联的目标组合相关的偏移量”,对待处理因子组合进行排序,从而可以规避因子组合关联的目标组合数量少而导致目标占比的排名虚高的问题。在对结果进行输出时,以一定的步长循环改变预先设置的第一阈值,保证输出的根因是多维度的而非单维度。

同时,通过选出的异常因子组合关联的目标组合的第一类指标值之和在总指标值中的占比,来判断真实根因是否在根因查找树中的维度结点关联的因子组合中。若选出的异常因子组合关联的目标组合的第一类指标值之和在总指标值中的占比过小,则提示使用者根因并不在根因查找树中的维度结点关联的因子组合中,以免错误地引导使用者。

因此,本公开的实施例,全方面的提升了原算法在各种业务情况下的鲁棒性,相较于原算法,结果更加合理且具有较强解释性。

此外,现有算法往往会有一些苛刻的假设,如指标的变动只能是上升的,或是目标组合的总数在一个假设的范围内,亦或是真实的根因子一定包含在建立的根因查找树的维度结点关联的因子组合中等等……在面对一些不符合原模型假设时,现有方法会有结果不准确的情况发生。同时,现有的方法要求使用者输入一个超参数来对最终的结果进行控制,由于最终结果对该超参数极其敏感,因此该超参数会对最终结果产生巨大影响。往往通过经验选取的超参数无法泛化,导致应用的广度无法进行高效延伸。

而本公开的实施例,修正了现有方法在面对真实业务数据时在剪枝、排序以及结果输出上的不合理的部分。同时,还可以有效解决超参数选取的问题,应用在多维交叉根因分析场景下能够有效的增强算法在不应用场景下的鲁棒性,解决现有技术中的多维交叉寻找异常因子的方案不符合预期、不能兼顾各种业务场景的问题。

图9是根据一示例性实施例示出的一种根因确定装置的框图,如图9所示,该根因确定装置90可以包括:

数据获取模块901,被配置为获取异常数据,所述异常数据包括维度以及所述维度包括的因子;

构建模块902,被配置为根据所述维度,构建根因查找树,所述根因查找树包括至少一层维度结点层,每一维度结点层包括至少一个维度结点,所述维度结点关联至少一个维度,且所述维度结点关联的维度数量与所述维度结点位于的维度结点层数相同;

第一因子组合获取模块903,被配置为获取所述根因查找树中第一维度结点关联的第一维度因子组合,所述第一维度结点关联至少一个第一维度,所述第一维度因子组合包括各所述第一维度的一个因子,所述第一维度结点为所述根因查找树中的任一维度结点;

第一可能性参数计算模块904,被配置为计算所述第一维度因子组合中存在异常因子组合的第一可能性参数;

阈值增大模块905,被配置为在所述第一可能性参数大于第一阈值且所述第一维度的数量不大于第二阈值时,增大所述第一阈值;

执行模块906,被配置为以所述根因查找树中的任一维度结点为第一维度结点、以增大后的第一阈值为新第一阈值,重复执行计算所述第一维度因子组合中存在异常因子组合的第一可能性参数、以及在重新计算的第一可能性参数大于所述新第一阈值且所述第一维度的数量不大于所述第二阈值时增大所述新第一阈值的过程,直至重新计算的第一可能性参数大于所述新第一阈值、且所述第一维度的数量大于所述第二阈值,从所述第一维度因子组合中确定异常因子组合。

由上述可知,本公开的实施例,能够根据待检测指标涉及的目标维度,以及目标维度包括的因子,构建根因查找树,从而按照根因查找树的路径进行遍历,并在每遇到一个维度结点时,计算遇到的维度结点的GPS,并在计算得到的第一GPS大于第一阈值,且第一GPS所属的维度结点涉及的目标维度小于或等于第二阈值时,将第一阈值增大预设步长,并返回前述按照根因查找树的路径进行遍历,并在每遇到一个维度结点时,计算遇到的维度结点的GPS的步骤,直到计算得到的第二GPS大于增大后的第一阈值,且第二GPS所属的维度结点涉及的目标维度的数量大于第二阈值时,停止遍历,并从第二GPS所属的维度结点对应的因子组合中选出第一预设数量的因子组合,作为导致待检测指标异常的因子组合。

由此可知,本公开的实施例,无需使用者输入超参数,并且会在计算得到一个大于最初设置的第一阈值的GPS时,判断该GPS所属维度结点涉及的维度的数量是否大于第二阈值,若否,则说明阈值设置的过低,算法没有往更深层进行探索就满足阈值条件并返回结果了,此时,本公开的实施例,以一定步长提高第一阈值并再次针对根因查找树由上至进行搜索,从而可以输出维度交叉的根因。因此,本公开的实施例,无需使用者输入任何超参数即可返回合理结果,从而可以适用于多种业务场景。

图10是根据一示例性实施例示出的一种根因确定装置的框图,如图10所示,该根因确定装置100可以包括:

数据获取模块1001,被配置为获取异常数据,所述异常数据包括维度以及所述维度包括的因子;

构建模块1002,被配置为根据所述维度,构建根因查找树,所述根因查找树包括至少一层维度结点层,每一维度结点层包括至少一个维度结点,所述维度结点关联至少一个维度,且所述维度结点关联的维度数量与所述维度结点位于的维度结点层数相同;

第一因子组合获取模块1003,被配置为获取所述根因查找树中第一维度结点关联的第一维度因子组合,所述第一维度结点关联至少一个第一维度,所述第一维度因子组合包括各所述第一维度的一个因子,所述第一维度结点为所述根因查找树中的任一维度结点;

第一可能性参数计算模块1004,被配置为计算所述第一维度因子组合中存在异常因子组合的第一可能性参数;

阈值增大模块1005,被配置为在所述第一可能性参数大于第一阈值且所述第一维度的数量不大于第二阈值时,增大所述第一阈值;

执行模块1006,被配置为以所述根因查找树中的任一维度结点为第一维度结点、以增大后的第一阈值为新第一阈值,重复执行计算所述第一维度因子组合中存在异常因子组合的第一可能性参数、以及在重新计算的第一可能性参数大于所述新第一阈值且所述第一维度的数量不大于所述第二阈值时增大所述新第一阈值的过程,直至重新计算的第一可能性参数大于所述新第一阈值、且所述第一维度的数量大于所述第二阈值,从所述第一维度因子组合中确定异常因子组合。

可选的,所述装置还包括:

第一确定模块1007,被配置为在增大所述第一阈值之后,重新计算的第一可能性参数大于所述新第一阈值、且所述第一维度的数量不大于所述第二阈值时,从所述第一维度因子组合中确定异常因子组合。

可选的,所述装置还包括:

第二确定模块1008,被配置为在增大所述第一阈值之后,所述新第一阈值不小于预设值时,从所述第一维度因子组合中确定异常因子组合。

可选的,所述装置还包括:

第二因子组合获取模块1009,被配置为在所述第一可能性参数不大于所述第一阈值时,获取第二维度结点关联的第二维度因子组合,所述第二维度结点关联至少一个第二维度,所述第二维度因子组合包括各所述第二维度的一个因子;

第二可能性参数计算模块1010,被配置为计算所述第二维度因子组合中存在异常因子组合的第二可能性参数。

可选的,所述装置还包括:

异常目标组合确定模块1011,被配置为确定异常目标组合,所述目标组合为第N层维度结点关联的因子组合,N为所述异常数据的维度数量;

所述第一可能性参数计算模块1004包括:

占比计算子模块10041,被配置为计算每一个所述第一维度因子组合的目标占比,其中,第i个所述第一维度因子组合的目标占比为,第i个所述第一维度因子组合关联的目标组合中异常目标组合的占比,i为正整数且i∈[1,M],M∈[1,N],M为所述第一维度结点关联的所述第一维度因子组合的数量;

可能性参数计算子模块10042,被配置为根据所述第一维度因子组合的目标占比,计算所述第一维度因子组合中存在异常因子组合的第一可能性参数。

可选的,所述装置还包括:

删除模块1012,被配置为删除符合预设条件的目标组合,得到第一剩余目标组合;

其中,所述预设条件包括目标对象的变化情况与目标指标的异常方向不匹配,所述目标对象为在不同时刻采集的所述目标组合的第一类指标值,所述目标指标为与所述维度关联的业务指标,所述第一类指标值为所述目标指标的值;

所述异常目标组合确定模块1011在确定异常目标组合时,具体被配置为:

确定所述第一剩余目标组合中的异常目标组合。

可选的,所述异常目标组合确定模块1011包括:

偏移量获取子模块10111,被配置为获取所述目标组合的偏移量;

第一绘制子模块10112,被配置为绘制第一偏移量分布曲线图,其中,所述第一偏移量分布曲线图的横轴表示偏移量,纵轴表示偏移量小于横轴表示的偏移量的目标组合的数量;

第一拐点确定子模块10113,被配置为确定所述第一偏移量分布曲线图中的第一拐点;

第一异常目标组合确定子模块10114,被配置为在所有所述目标组合中,若偏移量大于第一目标偏移量的目标组合的占比不大于第五阈值,则确定偏移量大于所述第一目标偏移量的目标组合为异常目标组合,其中,所述第一目标偏移量为所述第一拐点在所述第一偏移量分布曲线图中的横坐标。

可选的,所述第一拐点确定子模块10113具体被配置为:

根据第一预设公式S=min(m,L/n),计算基于肘部法则的拐点检测算法中的敏感参数S,其中,L为所述第一偏移量分布曲线图中涉及的目标组合的总数量,m和n分别为预先设置的常量;

采用所述基于肘部法则的拐点检测算法,确定所述第一偏移量分布曲线图中的第一拐点。

可选的,所述异常目标组合确定模块1011还包括:

排序子模块10115,被配置为在所有所述目标组合中,若偏移量大于所述第一目标偏移量的目标组合的占比大于所述第五阈值,则按照偏移量从小到大的顺序,对所述目标组合进行排序,获得第一排序;

删减子模块10116,被配置为将所述第一排序中的前第一预设数量的目标组合去除,得到第二剩余目标组合;

第二绘制子模块10117,被配置为根据本次得到的所述第二剩余目标组合的偏移量,绘制第二偏移量分布曲线图,其中,所述第二偏移量分布曲线图的横轴表示偏移量,纵轴表示偏移量小于横轴上的数值表示的偏移量的目标组合的数量;

第二拐点确定子模块10118,被配置为确定所述第二偏移量分布曲线图中的第二拐点;

第二异常目标组合确定子模块10119,被配置为在本次得到的所述第二剩余目标组合中,若偏移量大于第二目标偏移量的目标组合的占比不大于所述第五阈值,则将偏移量大于所述第二目标偏移量的目标组合确定为异常目标组合,其中,所述第二目标偏移量为所述第二拐点在所述第二偏移量分布曲线图中的横坐标。

可选的,所述可能性参数计算子模块10042具体被配置为:

按照所述目标占比从大到小的顺序,对所述第一维度因子组合进行排序,得到第二排序;

选出所述第二排序中前第二预设数量的待处理因子组合;

对所述待处理因子组合进行排序,获得第三排序;

将所述第三排序中前第三预设数量的备选因子组合;

获取所述备选因子组合关联的目标组合,其中,所述备选因子组合关联的目标组合包括所述备选因子组合中的因子;

根据所述备选因子组合关联的目标组合,计算所述第一维度因子组合中存在异常因子组合的第一可能性参数;

其中,所述第二预设数量大于所述第三预设数量。

可选的,所述可能性参数计算子模块10042在对所述待处理因子组合进行排序,获得第三排序时,具体被配置为:

在目标指标为原生指标时,计算所述待处理因子组合的第一参数,并按照所述第一参数从大到小的顺序,对所述待处理因子组合进行排序,得到第三排序,其中,所述目标指标为所述维度关联的业务指标,所述第一参数为与同一个所述待处理因子组合相关联的目标组合的偏移量之和,所述待处理因子组合相关联的目标组合包括所述待处理因子组合中的因子;

在所述目标指标为衍生指标时,获取每一个第一目标组合的第一数值,所述第一目标组合为所述待处理因子组合关联的目标组合,所述第一数值为所述第一目标组合在不同时刻的第二类指标值之差的绝对值,所述第二类指标值为第一指标的值,所述第一指标为所述目标指标为衍生指标时,计算所述目标指标的过程中作为分子的指标;

获取每一个所述第一目标组合的第二数值,所述第二数值为所述第一目标组合在所述不同时刻的第三类指标值之差的绝对值,所述第三类指标值为第二指标的值,所述第二指标为所述目标指标为衍生指标时,计算所述目标指标的过程中作为分母的指标;

计算每一个所述第一目标组合的第三数值,所述第三数值为同一个所述第一目标组合的所述第一数值与所述第二数值之和;

计算所述待处理因子组合的第二参数,所述第二参数为与同一个所述待处理因子组合关联的所述第一目标组合的所述第三数值之和;

按照所述待处理因子组合的所述第二参数从大到小的顺序,对所述待处理因子组合进行排序,得到第三排序。

可选的,所述执行模块1006在从所述第一维度因子组合中确定异常因子组合时,具体被配置为:

将所述备选因子组合,确定为所述异常因子组合。

可选的,所述可能性参数计算子模块10042在根据所述备选因子组合关联的目标组合,计算所述第一维度因子组合中存在异常因子组合的第一可能性参数时,具体被配置为:

计算第一异常目标组合的偏移量的第一平均值avg1,其中,所述第一异常目标组合为第一目标组合中的异常目标组合,所述第一目标组合为所述备选因子组合相关联的目标组合;

计算所述第一目标组合中除所述第一异常目标组合之外的其他目标组合的偏移量的第二平均值avg2;

根据第二预设公式a(Z1)=f(Z1)-f(Z1)/f(Z)(f(Z)-v(Z)),计算第三参数a(Z1),其中,f(Z1)表示所述第一异常目标组合在第二时刻的第一类指标值的和,f(Z)表示所述第一目标组合在所述第二时刻的所述第一类指标值的和,v(Z)表示所述第一目标组合在第一时刻的所述第一类指标值的和,所述第一类指标值为目标指标的值,所述目标指标为所述维度关联的业务指标,所述第一时刻早于所述第二时刻;

计算每一个所述第一异常目标组合在所述第一时刻的所述第一类指标值与所述第三参数之差,得到与每一个所述第一异常目标组合对应的第四参数;

计算所有所述第一异常目标组合对应的第四参数的绝对值的第三平均值avg3;

根据所述avg1、avg2、avg3、以及第三预设公式GPS=1-(avg3+avg2)/(avg1+avg2),计算所述第一维度因子组合中存在异常因子组合的第一可能性参数;

其中,GPS表示所述第一可能性参数。

可选的,所述装置还包括:

第一验证参数获取模块1013,被配置为获取与所述异常因子组合关联的第二目标组合,所述目标组合为第N层维度结点关联的因子组合,N为所述异常数据的维度数量,所述第一目标组合包括所述异常因子组合中的因子;

第二验证参数获取模块1014,被配置为获取第四数值,所述第四数值为所述第二目标组合在第三时刻的第一类指标值的和,所述第一类指标值为目标指标的取值,所述目标指标为与所述维度关联的业务指标;

第三验证参数获取模块1015,被配置为获取第五数值,所述第五数值为所有所述目标组合在所述第三时刻的所述第一类指标值的和;

验证模块1016,被配置为在所述第四数值与所述第五数值的比值小于第三阈值时,执行预设提示操作,所述预设提示操作用于提示异常因子未处于所述异常数据中。

由上述可知,本公开的实施例,能够根据待检测指标涉及的目标维度,以及目标维度包括的因子,构建根因查找树,从而按照根因查找树的路径进行遍历,并在每遇到一个维度结点时,计算遇到的维度结点的GPS,并在计算得到的第一GPS大于第一阈值,且第一GPS所属的维度结点涉及的目标维度小于或等于第二阈值时,将第一阈值增大预设步长,并返回前述按照根因查找树的路径进行遍历,并在每遇到一个维度结点时,计算遇到的维度结点的GPS的步骤,直到计算得到的第二GPS大于增大后的第一阈值,且第二GPS所属的维度结点涉及的目标维度的数量大于第二阈值时,停止遍历,并从第二GPS所属的维度结点对应的因子组合中选出第一预设数量的因子组合,作为导致待检测指标异常的因子组合。

由此可知,本公开的实施例,无需使用者输入超参数,并且会在计算得到一个大于最初设置的第一阈值的GPS时,判断该GPS所属维度结点涉及的维度的数量是否大于第二阈值,若否,则说明阈值设置的过低,算法没有往更深层进行探索就满足阈值条件并返回结果了,此时,本公开的实施例,以一定步长提高第一阈值并再次针对根因查找树由上至进行搜索,从而可以输出维度交叉的根因。因此,本公开的实施例,无需使用者输入任何超参数即可返回合理结果,从而可以适用于多种业务场景。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

根据本公开实施例的第四方面,提供了一种电子设备。参照图11,该电子设备包括:

处理器1110;

用于存储所述处理器可执行指令的存储器1120;

其中,所述处理器被配置为执行所述指令,以实现上述所述的根因确定方法。

根据本公开实施例的第五方面,还提供了一种电子设备。如图12所示,该电子设备900可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图12,电子设备1200可以包括以下一个或多个组件:处理组件1202,存储器1204,电源组件1206,多媒体组件1208,音频组件1210,输入/输出(I/O)的接口1212,传感器组件1214,以及通信组件1216。

处理组件1202通常控制电子设备1200的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1202可以包括一个或多个处理器1220来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1202可以包括一个或多个模块,便于处理组件1202和其他组件之间的交互。例如,处理组件1202可以包括多媒体模块,以方便多媒体组件1208和处理组件1202之间的交互。

存储器1204被配置为存储各种类型的数据以支持在设备1200的操作。这些数据的示例包括用于在电子设备1200上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1204可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件1206为电子设备1200的各种组件提供电力。电源组件1206可以包括电源管理系统,一个或多个电源,及其他与为电子设备1200生成、管理和分配电力相关联的组件。

多媒体组件1208包括在所述电子设备1200和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1208包括一个前置摄像头和/或后置摄像头。当设备1200处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件1210被配置为输出和/或输入音频信号。例如,音频组件1210包括一个麦克风(MIC),当电子设备1200处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1204或经由通信组件1216发送。在一些实施例中,音频组件1210还包括一个扬声器,用于输出音频信号。

I/O接口1212为处理组件1202和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件1214包括一个或多个传感器,用于为电子设备1200提供各个方面的状态评估。例如,传感器组件1214可以检测到设备1200的打开/关闭状态,组件的相对定位,例如所述组件为电子设备1200的显示器和小键盘,传感器组件1214还可以检测电子设备1200或电子设备1200一个组件的位置改变,用户与电子设备1200接触的存在或不存在,电子设备1200方位或加速/减速和电子设备1200的温度变化。传感器组件1214可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1214还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1214还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件1216被配置为便于电子设备1200和其他设备之间有线或无线方式的通信。电子设备1200可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、8G或5G),或它们的组合。在一个示例性实施例中,通信组件1216经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1216还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,电子设备1200可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述所述的根因确定方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1204,上述指令可由电子设备1200的处理器1220执行以完成上述方法。可选地,例如,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

在本公开实施的又一方面,本公开实施例还提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行上述所述的根因确定方法。

根据本公开实施例的又一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现上述所述的根因确定方法。

在此提供的页面切换方案不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本公开方案的系统所要求的结构是显而易见的。此外,本公开也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的内容,并且上面对特定语言所做的描述是为了披露本公开的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本公开的示例性实施例的描述中,本公开的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本公开的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本公开的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本公开实施例的信息提取方案中的一些或者全部部件的一些或者全部功能。本公开还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本公开的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本公开进行说明而不是对本公开进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

相关技术
  • 一种异常任务的根因任务确定方法及装置
  • 一种根因确定方法及装置
技术分类

06120112899631