本发明涉及数据异常检测技术领域,具体而言,涉及一种数据异常检测方法、一种数据异常检测装置、一种服务器和一种计算机可读存储介质。
背景技术:
服务器在运营过程中会产生海量的实时指标数据,通过检测实时指标数据的波动,以监控运营平台的运营稳定情况。
但是,绝大多数的异常检测算法是针对统一种指标数据进行检测,无法对多类型、多量纲、多场景下的实时指标数据进行统一化的检测和预警。
相关技术中,大数据领域提出了vae(variationalauto-encoder,变分自编码器)算法来进行多种实时指标数据的统一异常检测,由于vae算法基于数据窗口提取历史数据,可能会造成频域异常的漏检,无法保证数据异常检测的置信度。
技术实现要素:
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个目的在于提供一种数据异常检测方法。
本发明的另一个目的在于提供一种数据异常检测装置。
本发明的另一个目的在于提供一种服务器。
本发明的另一个目的在于提供一种计算机可读存储介质。
为了实现上述目的,根据本发明的第一方面的实施例,提供了一种数据异常检测方法,包括:响应于采集的多种实时指标数据,检测任一种实时指标数据的异常信息的步骤包括:确定任一种实时指标数据与预测指标数据之间的残差样本集合和窗宽;确定残差样本集合中第n个残差样本的一行特征值由第n个残差样本和前m个残差样本构成,并建立第n个残差样本的高维残差样本,m小于n;根据窗宽确定全部高维残差样本对应的高维残差概率密度模型,并计算第n个残差样本的异常概率。
在该技术方案中,通过确定任一种实时指标数据与预测指标数据之间的残差样本集合,将指标数据与指标类型剥离,得到实时指标数据中的异常数据信息,将异常数据信息作为残差样本(通常包括异常信息、正常波动信息和噪声信息),进而能够对多种实时指标数据进行统一的异常检测,降低了维护成本和排异成本。
另外,窗宽是影响密度估计准确性的主要因素之一,概率密度函数的熵反应密度函数包含的信息量,熵越大表明密度函数反应的原数据信息越多。通过计算不同窗宽h所对应的熵值,得到熵值最大值所对应的h即为最优窗宽。经验最优窗宽出现在标准差附近,密度函数的熵值具有单调性,因此,以标准差为中心,选取适当步长与学习率,通过梯度下降方法学习得到最优窗宽h值。
其中,密度估计的均方误差反映的是fn(x)和f(x)之间的平均偏差程度,fn(x)表征n个离散样本,f(x)表征预估函数,则密度估计的表达式为:
mse(f(x))=e[fn(x)-f(x)]2,
例如,可以通过极小化mse(f(x))并带入概率密度函数k(u),得到窗宽表达式为:
因此,基于残差样本集合来确定适当的窗宽,一方面,能够避免窗宽太小导致残差样本数据波动太大,呈现出不规则的形态,从而忽略残差样本数据的规律性,另一方面,能够避免窗宽太大导致残差样本数据过于平稳,进而导致异常检测的灵敏度低,再一方面,通过确定合适的窗宽,获得了连续的残差概率密度模型,有效地提高了异常检测的精度和灵敏度。
最后,通过确定残差样本集合中第n个残差样本的一行特征值由第n个残差样本和前m个残差样本构成,并建立第n个残差样本的高维残差样本,有利于提高样本维度,将当前残差点与相邻残差点进行组合关联,减小了单点噪声对样本的干扰,降低了残差概率模型拟合不足的缺陷,提高了计算实时指标数据异常的准确性,通过根据窗宽确定全部高维残差样本对应的高维残差概率密度模型,并计算第n个残差样本的异常概率,将实时指标数据异常程度反映为统一的异常概率,实现了对多种实时指标数据进行统一的检测和排异,而并不受实时指标数据的类型和量纲的影响。
在上述任一技术方案中,优选地,在响应于采集的多种实时指标数据前,还包括:预存任一种实时指标数据对应的历史指标数据;对历史指标数据进行拟合处理,以建立拟合回归模型,其中,拟合回归模型用于计算预测指标数据。
在该技术方案中,通过对历史指标数据进行拟合处理,以建立拟合回归模型,有利于提高拟合回归模型的准确性,提高了拟合回归模型计算预测指标数据的准确性,进而提高了实时指标数据异常检测的准确性。
在上述任一技术方案中,优选地,采用拟合回归模型计算预设训练样本集合的均方差值最小。
在该技术方案中,通过采用拟合回归模型计算预设训练样本集合的均方差值最小,使得拟合模型中中估计量与被估计量之间的差异最小,提高了拟合回归模型的准确性,有利于提高预测指标数据的准确性,进而提高了计算实时指标数据异常概率的准确性。
在上述任一技术方案中,优选地,还包括:确定高维残差概率密度模型中任一残差样本的振动频率;在检测到任一残差样本的振动频率高于预设振动频率时,将残差样本对应的实时指标数据确定为异常数据。
在该技术方案中,通过确定高维残差概率密度模型中任一残差样本的振动频率,并将振动频率作为判断实时指标数据的一个标准,不仅仅参考高维残差概率密度模型计算的异常概率的大小,也综合参考了相邻样本点之间的影响,例如,在任一残差样本对应的异常概率较低,但是其振动频率较高,则可以确定为样本数据为异常数据,进一步地提高了判断实时数据异常的准确性,而并未增加异常检测算法的复杂度,降低了检测实时指标数据异常过程中对于运营平台的硬件需求和维护成本。
在上述任一技术方案中,优选地,还包括:判断第n个残差样本的异常概率是否大于或等于预设异常概率;在判定第n个残差样本的异常概率大于或等于预设异常概率时,将残差样本对应的实时指标数据确定为异常数据。
在该技术方案中,通过判断第n个残差样本的异常概率是否大于或等于预设异常概率,有利于提高判断残差样本为异常数据的一致性,也即仅需要预存一个预设异常概率,即可用于对所有种类的实时指标数据进行异常检测,进一步地提高了对多种实时指标数据进行异常检测的准确性和灵敏度,同时,降低了排查成本和异常检测算法的复杂度。
根据本发明的第二方面的技术方案,提供了一种数据异常检测装置,包括:检测单元,用于响应于采集的多种实时指标数据,检测任一种实时指标数据的异常信息;确定单元,用于确定任一种实时指标数据与预测指标数据之间的残差样本集合和窗宽;确定单元还用于:确定残差样本集合中第n个残差样本的一行特征值由第n个残差样本和前m个残差样本构成,并建立第n个残差样本的高维残差样本,m小于n;确定单元还用于:根据窗宽确定全部高维残差样本对应的高维残差概率密度模型,并计算第n个残差样本的异常概率。
在该技术方案中,通过确定任一种实时指标数据与预测指标数据之间的残差样本集合,将指标数据与指标类型剥离,得到实时指标数据中的异常数据信息,将异常数据信息作为残差样本(通常包括异常信息、正常波动信息和噪声信息),进而能够对多种实时指标数据进行统一的异常检测,降低了维护成本和排异成本。
另外,窗宽是影响密度估计准确性的主要因素之一,概率密度函数的熵反应密度函数包含的信息量,熵越大表明密度函数反应的原数据信息越多。通过计算不同窗宽h所对应的熵值,得到熵值最大值所对应的h即为最优窗宽。经验最优窗宽出现在标准差附近,密度函数的熵值具有单调性,因此,以标准差为中心,选取适当步长与学习率,通过梯度下降方法学习得到最优窗宽h值。
其中,密度估计的均方误差反映的是fn(x)和f(x)之间的平均偏差程度,fn(x)表征n个离散样本,f(x)表征预估函数,则密度估计的表达式为:
mse(f(x))=e[fn(x)-f(x)]2,
例如,可以通过极小化mse(f(x))并带入概率密度函数k(u),得到窗宽表达式为:
因此,基于残差样本集合来确定适当的窗宽,一方面,能够避免窗宽太小导致残差样本数据波动太大,呈现出不规则的形态,从而忽略残差样本数据的规律性,另一方面,能够避免窗宽太大导致残差样本数据过于平稳,进而导致异常检测的灵敏度低,再一方面,通过确定合适的窗宽,获得了连续的残差概率密度模型,有效地提高了异常检测的精度和灵敏度。
最后,通过确定残差样本集合中第n个残差样本的一行特征值由第n个残差样本和前m个残差样本构成,并建立第n个残差样本的高维残差样本,有利于提高样本维度,将当前残差点与相邻残差点进行组合关联,减小了单点噪声对样本的干扰,降低了残差概率模型拟合不足的缺陷,提高了计算实时指标数据异常的准确性,通过根据窗宽确定全部高维残差样本对应的高维残差概率密度模型,并计算第n个残差样本的异常概率,将实时指标数据异常程度反映为统一的异常概率,实现了对多种实时指标数据进行统一的检测和排异,而并不受实时指标数据的类型和量纲的影响。
在上述任一技术方案中,优选地,还包括:预存单元,用于预存任一种实时指标数据对应的历史指标数据;拟合单元,用于对历史指标数据进行拟合处理,以建立拟合回归模型,其中,拟合回归模型用于计算预测指标数据。
在该技术方案中,通过对历史指标数据进行拟合处理,以建立拟合回归模型,有利于提高拟合回归模型的准确性,提高了拟合回归模型计算预测指标数据的准确性,进而提高了实时指标数据异常检测的准确性。
在上述任一技术方案中,优选地,采用拟合回归模型计算预设训练样本集合的均方差值最小。
在该技术方案中,通过采用拟合回归模型计算预设训练样本集合的均方差值最小,使得拟合模型中中估计量与被估计量之间的差异最小,提高了拟合回归模型的准确性,有利于提高预测指标数据的准确性,进而提高了计算实时指标数据异常概率的准确性。
在上述任一技术方案中,优选地,确定单元还用于:确定高维残差概率密度模型中任一残差样本的振动频率;确定单元还用于:在检测到任一残差样本的振动频率高于预设振动频率时,将残差样本对应的实时指标数据确定为异常数据。
在该技术方案中,通过确定高维残差概率密度模型中任一残差样本的振动频率,并将振动频率作为判断实时指标数据的一个标准,不仅仅参考高维残差概率密度模型计算的异常概率的大小,也综合参考了相邻样本点之间的影响,例如,在任一残差样本对应的异常概率较低,但是其振动频率较高,则可以确定为样本数据为异常数据,进一步地提高了判断实时数据异常的准确性,而并未增加异常检测算法的复杂度,降低了检测实时指标数据异常过程中对于运营平台的硬件需求和维护成本。
在上述任一技术方案中,优选地,还包括:判断单元,用于判断第n个残差样本的异常概率是否大于或等于预设异常概率;确定单元还用于:在判定第n个残差样本的异常概率大于或等于预设异常概率时,将残差样本对应的实时指标数据确定为异常数据。
在该技术方案中,通过判断第n个残差样本的异常概率是否大于或等于预设异常概率,有利于提高判断残差样本为异常数据的一致性,也即仅需要预存一个预设异常概率,即可用于对所有种类的实时指标数据进行异常检测,进一步地提高了对多种实时指标数据进行异常检测的准确性和灵敏度,同时,降低了排查成本和异常检测算法的复杂度。
根据本发明的第三方面的技术方案,提供了一种服务器,包括:本发明第二方面中任一项技术方案限定的数据异常检测装置。
根据本发明的第四方面的技术方案,提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被执行时实现如第一方面中任一项技术方案限定的数据异常检测方法。
本发明的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了根据本发明的一个实施例的数据异常检测方法的示意流程图;
图2示出了根据本发明的一个实施例的数据异常检测装置的示意框图;
图3示出了根据本发明的一个实施例的服务器的示意框图;
图4示出了根据本发明的另一个实施例的数据异常检测方法的示意流程图;
图5示出了根据本发明的一个实施例的残差计算示意图;
图6示出了根据本发明的另一个实施例的残差计算示意图;
图7示出了根据本发明的又一个实施例的残差计算示意图;
图8示出了根据本发明的一个实施例的高维残差概率密度计算示意图;
图9示出了根据本发明的另一个实施例的高维残差概率密度计算示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的一个实施例的数据异常检测方法的示意流程图。
如图1所示,根据本发明的实施例的数据异常检测方法,包括:步骤s102,响应于采集的多种实时指标数据,检测任一种实时指标数据的异常信息的步骤包括:步骤s104,确定任一种实时指标数据与预测指标数据之间的残差样本集合和窗宽;步骤s106,确定残差样本集合中第n个残差样本的一行特征值由第n个残差样本和前m个残差样本构成,并建立第n个残差样本的高维残差样本,m小于n;步骤s108,根据窗宽确定全部高维残差样本对应的高维残差概率密度模型,并计算第n个残差样本的异常概率。
在该技术方案中,通过确定任一种实时指标数据与预测指标数据之间的残差样本集合,将指标数据与指标类型剥离,得到实时指标数据中的异常数据信息,将异常数据信息作为残差样本(通常包括异常信息、正常波动信息和噪声信息),进而能够对多种实时指标数据进行统一的异常检测,降低了维护成本和排异成本。
另外,窗宽是影响密度估计准确性的主要因素之一,概率密度函数的熵反应密度函数包含的信息量,熵越大表明密度函数反应的原数据信息越多。通过计算不同窗宽h所对应的熵值,得到熵值最大值所对应的h即为最优窗宽。经验最优窗宽出现在标准差附近,密度函数的熵值具有单调性,因此,以标准差为中心,选取适当步长与学习率,通过梯度下降方法学习得到最优窗宽h值。
其中,密度估计的均方误差反映的是fn(x)和f(x)之间的平均偏差程度,fn(x)表征n个离散样本,f(x)表征预估函数,则密度估计的表达式为:
mse(f(x))=e[fn(x)-f(x)]2,
例如,可以通过极小化mse(f(x))并带入概率密度函数k(u),得到窗宽表达式为:
因此,基于残差样本集合来确定适当的窗宽,一方面,能够避免窗宽太小导致残差样本数据波动太大,呈现出不规则的形态,从而忽略残差样本数据的规律性,另一方面,能够避免窗宽太大导致残差样本数据过于平稳,进而导致异常检测的灵敏度低,再一方面,通过确定合适的窗宽,获得了连续的残差概率密度模型,有效地提高了异常检测的精度和灵敏度。
最后,通过确定残差样本集合中第n个残差样本的一行特征值由第n个残差样本和前m个残差样本构成,并建立第n个残差样本的高维残差样本,有利于提高样本维度,将当前残差点与相邻残差点进行组合关联,减小了单点噪声对样本的干扰,降低了残差概率模型拟合不足的缺陷,提高了计算实时指标数据异常的准确性,通过根据窗宽确定全部高维残差样本对应的高维残差概率密度模型,并计算第n个残差样本的异常概率,将实时指标数据异常程度反映为统一的异常概率,实现了对多种实时指标数据进行统一的检测和排异,而并不受实时指标数据的类型和量纲的影响。
在上述任一技术方案中,优选地,在响应于采集的多种实时指标数据前,还包括:预存任一种实时指标数据对应的历史指标数据;对历史指标数据进行拟合处理,以建立拟合回归模型,其中,拟合回归模型用于计算预测指标数据。
在该技术方案中,通过对历史指标数据进行拟合处理,以建立拟合回归模型,有利于提高拟合回归模型的准确性,提高了拟合回归模型计算预测指标数据的准确性,进而提高了实时指标数据异常检测的准确性。
在上述任一技术方案中,优选地,采用拟合回归模型计算预设训练样本集合的均方差值最小。
在该技术方案中,通过采用拟合回归模型计算预设训练样本集合的均方差值最小,使得拟合模型中中估计量与被估计量之间的差异最小,提高了拟合回归模型的准确性,有利于提高预测指标数据的准确性,进而提高了计算实时指标数据异常概率的准确性。
在上述任一技术方案中,优选地,还包括:确定高维残差概率密度模型中任一残差样本的振动频率;在检测到任一残差样本的振动频率高于预设振动频率时,将残差样本对应的实时指标数据确定为异常数据。
在该技术方案中,通过确定高维残差概率密度模型中任一残差样本的振动频率,并将振动频率作为判断实时指标数据的一个标准,不仅仅参考高维残差概率密度模型计算的异常概率的大小,也综合参考了相邻样本点之间的影响,例如,在任一残差样本对应的异常概率较低,但是其振动频率较高,则可以确定为样本数据为异常数据,进一步地提高了判断实时数据异常的准确性,而并未增加异常检测算法的复杂度,降低了检测实时指标数据异常过程中对于运营平台的硬件需求和维护成本。
在上述任一技术方案中,优选地,还包括:判断第n个残差样本的异常概率是否大于或等于预设异常概率;在判定第n个残差样本的异常概率大于或等于预设异常概率时,将残差样本对应的实时指标数据确定为异常数据。
在该技术方案中,通过判断第n个残差样本的异常概率是否大于或等于预设异常概率,有利于提高判断残差样本为异常数据的一致性,也即仅需要预存一个预设异常概率,即可用于对所有种类的实时指标数据进行异常检测,进一步地提高了对多种实时指标数据进行异常检测的准确性和灵敏度,同时,降低了排查成本和异常检测算法的复杂度。
图2示出了根据本发明的一个实施例的数据异常检测装置的示意框图。
如图2所示,根据本发明的一个实施例的数据异常检测装置200,包括:包括:检测单元202,用于响应于采集的多种实时指标数据,检测任一种实时指标数据的异常信息;确定单元204,用于确定任一种实时指标数据与预测指标数据之间的残差样本集合和窗宽;确定单元204还用于:确定残差样本集合中第n个残差样本的一行特征值由第n个残差样本和前m个残差样本构成,并建立第n个残差样本的高维残差样本,m小于n;确定单元204还用于:根据窗宽确定全部高维残差样本对应的高维残差概率密度模型,并计算第n个残差样本的异常概率。
在该技术方案中,通过确定任一种实时指标数据与预测指标数据之间的残差样本集合,将指标数据与指标类型剥离,得到实时指标数据中的异常数据信息,将异常数据信息作为残差样本(通常包括异常信息、正常波动信息和噪声信息),进而能够对多种实时指标数据进行统一的异常检测,降低了维护成本和排异成本。
另外,窗宽是影响密度估计准确性的主要因素之一,概率密度函数的熵反应密度函数包含的信息量,熵越大表明密度函数反应的原数据信息越多。通过计算不同窗宽h所对应的熵值,得到熵值最大值所对应的h即为最优窗宽。经验最优窗宽出现在标准差附近,密度函数的熵值具有单调性,因此,以标准差为中心,选取适当步长与学习率,通过梯度下降方法学习得到最优窗宽h值。
其中,密度估计的均方误差反映的是fn(x)和f(x)之间的平均偏差程度,fn(x)表征n个离散样本,f(x)表征预估函数,则密度估计的表达式为:
mse(f(x))=e[fn(x)-f(x)]2,
例如,可以通过极小化mse(f(x))并带入概率密度函数k(u),得到窗宽表达式为:
因此,基于残差样本集合来确定适当的窗宽,一方面,能够避免窗宽太小导致残差样本数据波动太大,呈现出不规则的形态,从而忽略残差样本数据的规律性,另一方面,能够避免窗宽太大导致残差样本数据过于平稳,进而导致异常检测的灵敏度低,再一方面,通过确定合适的窗宽,获得了连续的残差概率密度模型,有效地提高了异常检测的精度和灵敏度。
最后,通过确定残差样本集合中第n个残差样本的一行特征值由第n个残差样本和前m个残差样本构成,并建立第n个残差样本的高维残差样本,有利于提高样本维度,将当前残差点与相邻残差点进行组合关联,减小了单点噪声对样本的干扰,降低了残差概率模型拟合不足的缺陷,提高了计算实时指标数据异常的准确性,通过根据窗宽确定全部高维残差样本对应的高维残差概率密度模型,并计算第n个残差样本的异常概率,将实时指标数据异常程度反映为统一的异常概率,实现了对多种实时指标数据进行统一的检测和排异,而并不受实时指标数据的类型和量纲的影响。
在上述任一技术方案中,优选地,还包括:预存单元206,用于预存任一种实时指标数据对应的历史指标数据;拟合单元208,用于对历史指标数据进行拟合处理,以建立拟合回归模型,其中,拟合回归模型用于计算预测指标数据。
在该技术方案中,通过对历史指标数据进行拟合处理,以建立拟合回归模型,有利于提高拟合回归模型的准确性,提高了拟合回归模型计算预测指标数据的准确性,进而提高了实时指标数据异常检测的准确性。
在上述任一技术方案中,优选地,采用拟合回归模型计算预设训练样本集合的均方差值最小。
在该技术方案中,通过采用拟合回归模型计算预设训练样本集合的均方差值最小,使得拟合模型中中估计量与被估计量之间的差异最小,提高了拟合回归模型的准确性,有利于提高预测指标数据的准确性,进而提高了计算实时指标数据异常概率的准确性。
在上述任一技术方案中,优选地,确定单元204还用于:确定高维残差概率密度模型中任一残差样本的振动频率;确定单元204还用于:在检测到任一残差样本的振动频率高于预设振动频率时,将残差样本对应的实时指标数据确定为异常数据。
在该技术方案中,通过确定高维残差概率密度模型中任一残差样本的振动频率,并将振动频率作为判断实时指标数据的一个标准,不仅仅参考高维残差概率密度模型计算的异常概率的大小,也综合参考了相邻样本点之间的影响,例如,在任一残差样本对应的异常概率较低,但是其振动频率较高,则可以确定为样本数据为异常数据,进一步地提高了判断实时数据异常的准确性,而并未增加异常检测算法的复杂度,降低了检测实时指标数据异常过程中对于运营平台的硬件需求和维护成本。
在上述任一技术方案中,优选地,还包括:判断单元210,用于判断第n个残差样本的异常概率是否大于或等于预设异常概率;确定单元204还用于:在判定第n个残差样本的异常概率大于或等于预设异常概率时,将残差样本对应的实时指标数据确定为异常数据。
在该技术方案中,通过判断第n个残差样本的异常概率是否大于或等于预设异常概率,有利于提高判断残差样本为异常数据的一致性,也即仅需要预存一个预设异常概率,即可用于对所有种类的实时指标数据进行异常检测,进一步地提高了对多种实时指标数据进行异常检测的准确性和灵敏度,同时,降低了排查成本和异常检测算法的复杂度。
其中,数据异常检测装置200可以是集成或兼容于服务器的中央处理器cpu、数字信号处理器dsp和微控制器mcu等逻辑运算器件,检测单元202、确定单元204、预存单元206、拟合单元208和判断单元210可以上述逻辑运算器件中的运算芯片。
图3示出了根据本发明的一个实施例的服务器的示意框图。
如图3所示,根据本发明的一个实施例的服务器300,包括:如图2所示的数据异常检测装置200。
实施例一:
图4示出了根据本发明的另一个实施例的数据异常检测方法的示意流程图。
如图4所示,根据本发明的另一个实施例的数据异常检测方法,包括:步骤s402,训练样本;步骤s404,输入历史数据;步骤s406,构建拟合回归模型;步骤s408,计算预测指标数据,作为步骤s412的输入数据;步骤s410,输入实时指标数据;步骤s412,计算差值;步骤s414,得到残差值,作为步骤s416的输入数据;步骤s416,建立高阶残差样本;步骤s418,建立残差样本概率密度模型;步骤s420,计算当前残差样本异常概率值;步骤s422,判断异常概率值是否大于或等于预设异常概率,若是,执行步骤s424,若否,结束;步骤s424,异常报警。
实施例二:
下面结合图5至图7对根据本发明的实施例二进行具体说明。
图5示出了根据本发明的一个实施例的残差计算示意图。
图6示出了根据本发明的另一个实施例的残差计算示意图。
图7示出了根据本发明的又一个实施例的残差计算示意图。
如图5至图7所示,由于指标数据的类型不同,导致指标数据的标量也不相同,三种采集到的实时指标数据为曲线502、曲线602和曲线702,对应的预测指标数据分别为曲线504、曲线604和曲线704,经过残差计算,将指标数据与指标类型剥离,统一标量得到残差样本,对应的残差样本分别为曲线506、曲线606和曲线706。
具体地,指标数据存在成功率类、工单类、时延类等类型,成功率对应单位为百分制,工单类对应单位为1,时延类单位为毫秒。
其中,不同标量造成异常告警标准不同,如对于成功率指标,当数据值低于80%时视为异常数据,而工单类则可能为超过5000视为异常,对于延时类指标则可能为是否超过50毫秒。
例如,当成功率的预测指标数据为80%,对应的实时指标数据为78%,成功率的残差值为2,经过概率模型计算,得到该点的异常概率为0.02,相应的,当工单的预测指标数据为5000,对应的实时指标数据为4890,工单的残差值为10,经过概率模型计算,得到该点的异常概率为0.015。
因此,通过本发明提出的数据异常检测方案,能够得到统一的标量,进而能够对多种实时指标数据进行统一的异常检测,降低了维护成本和排异成本。
实施例三:
图8示出了根据本发明的一个实施例的高维残差概率密度计算示意图。
如图8所示,根据本发明的一个实施例的高维残差概率密度计算,对13个一维残差值建立统计频率模型802与概率密度模型804,由于受样本数量限制,统计频率模型802的概率空间是有限的[0,0.15,0.25,0.075],而概率密度模型804的概率空间是连续无限的,如统计频率模型802所示,在残差值为3时,统计频率模型802由于没有历史统计信息参考,给出概率为0。
进一步地,对这个一维残差值建立高维残差概率密度模型时,通过构建残差样本,采用高维残差概率密度模型计算残差值为3时的概率值为0.23,即通过高维残差概率密度模型,能够得到连续的概率分布而非离散的概率分布,提高了计算残差概率的精度和灵敏度。
其中,点b表示13个一维残差值中的一个残差样本。
实施例四:
图9示出了根据本发明的另一个实施例的高维残差概率密度计算示意图。
如图9所示,实时指标数据曲线为902,预测指标数据曲线为904,残差值曲线为906,根据本发明的另一个实施例的高维残差概率密度计算,当a点附近仅有频率突变时,a点的实时指标数据对应于曲线902中的点a_o(坐标为(26,10.8)),a点的预测指标数据对应于曲线904中的点a_p(坐标为(26,14.0)),a点的残差值对应于曲线906中的点a_r(坐标为(26,-3.2)),此时,a点的残差值为3.2,采用一维概率密度模型进行实时指标数据异常检验时,无法检测出a点的波动。
而根据本发明提出的数据异常检测方案,采用高维残差概率密度模型进行实时指标数据异常检验时,a点样本的振动频率为[3.52,3.53,1.20,2.44,0.07,1.29,-1.10,0.10,-2.30,-1.07,-3.44],而历史正常样本振动频率都保持在较低水平,因此,可以基于振动频率检测出a点样本的异常,显然,通过建立高维残差样本,可以弥补高维残差概率密度模型拟合不足的缺点。
根据本发明的实施例,还提出了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被执行时实现以下步骤:响应于采集的多种实时指标数据,检测任一种实时指标数据的异常信息的步骤包括:确定任一种实时指标数据与预测指标数据之间的残差样本集合和窗宽;确定残差样本集合中第n个残差样本的一行特征值由第n个残差样本和前m个残差样本构成,并建立第n个残差样本的高维残差样本,m小于n;根据窗宽确定全部高维残差样本对应的高维残差概率密度模型,并计算第n个残差样本的异常概率。
在该技术方案中,通过确定任一种实时指标数据与预测指标数据之间的残差样本集合,将指标数据与指标类型剥离,得到实时指标数据中的异常数据信息,将异常数据信息作为残差样本(通常包括异常信息、正常波动信息和噪声信息),进而能够对多种实时指标数据进行统一的异常检测,降低了维护成本和排异成本。
另外,窗宽是影响密度估计准确性的主要因素之一,概率密度函数的熵反应密度函数包含的信息量,熵越大表明密度函数反应的原数据信息越多。通过计算不同窗宽h所对应的熵值,得到熵值最大值所对应的h即为最优窗宽。经验最优窗宽出现在标准差附近,密度函数的熵值具有单调性,因此,以标准差为中心,选取适当步长与学习率,通过梯度下降方法学习得到最优窗宽h值。
其中,密度估计的均方误差反映的是fn(x)和f(x)之间的平均偏差程度,fn(x)表征n个离散样本,f(x)表征预估函数,则密度估计的表达式为:
mse(f(x))=e[fn(x)-f(x)]2,
例如,可以通过极小化mse(f(x))并带入概率密度函数k(u),得到窗宽表达式为:
因此,基于残差样本集合来确定适当的窗宽,一方面,能够避免窗宽太小导致残差样本数据波动太大,呈现出不规则的形态,从而忽略残差样本数据的规律性,另一方面,能够避免窗宽太大导致残差样本数据过于平稳,进而导致异常检测的灵敏度低,再一方面,通过确定合适的窗宽,获得了连续的残差概率密度模型,有效地提高了异常检测的精度和灵敏度。
最后,通过确定残差样本集合中第n个残差样本的一行特征值由第n个残差样本和前m个残差样本构成,并建立第n个残差样本的高维残差样本,有利于提高样本维度,将当前残差点与相邻残差点进行组合关联,减小了单点噪声对样本的干扰,降低了残差概率模型拟合不足的缺陷,提高了计算实时指标数据异常的准确性,通过根据窗宽确定全部高维残差样本对应的高维残差概率密度模型,并计算第n个残差样本的异常概率,将实时指标数据异常程度反映为统一的异常概率,实现了对多种实时指标数据进行统一的检测和排异,而并不受实时指标数据的类型和量纲的影响。
在上述任一技术方案中,优选地,在响应于采集的多种实时指标数据前,还包括:预存任一种实时指标数据对应的历史指标数据;对历史指标数据进行拟合处理,以建立拟合回归模型,其中,拟合回归模型用于计算预测指标数据。
在该技术方案中,通过对历史指标数据进行拟合处理,以建立拟合回归模型,有利于提高拟合回归模型的准确性,提高了拟合回归模型计算预测指标数据的准确性,进而提高了实时指标数据异常检测的准确性。
在上述任一技术方案中,优选地,采用拟合回归模型计算预设训练样本集合的均方差值最小。
在该技术方案中,通过采用拟合回归模型计算预设训练样本集合的均方差值最小,使得拟合模型中中估计量与被估计量之间的差异最小,提高了拟合回归模型的准确性,有利于提高预测指标数据的准确性,进而提高了计算实时指标数据异常概率的准确性。
在上述任一技术方案中,优选地,还包括:确定高维残差概率密度模型中任一残差样本的振动频率;在检测到任一残差样本的振动频率高于预设振动频率时,将残差样本对应的实时指标数据确定为异常数据。
在该技术方案中,通过确定高维残差概率密度模型中任一残差样本的振动频率,并将振动频率作为判断实时指标数据的一个标准,不仅仅参考高维残差概率密度模型计算的异常概率的大小,也综合参考了相邻样本点之间的影响,例如,在任一残差样本对应的异常概率较低,但是其振动频率较高,则可以确定为样本数据为异常数据,进一步地提高了判断实时数据异常的准确性,而并未增加异常检测算法的复杂度,降低了检测实时指标数据异常过程中对于运营平台的硬件需求和维护成本。
在上述任一技术方案中,优选地,还包括:判断第n个残差样本的异常概率是否大于或等于预设异常概率;在判定第n个残差样本的异常概率大于或等于预设异常概率时,将残差样本对应的实时指标数据确定为异常数据。
在该技术方案中,通过判断第n个残差样本的异常概率是否大于或等于预设异常概率,有利于提高判断残差样本为异常数据的一致性,也即仅需要预存一个预设异常概率,即可用于对所有种类的实时指标数据进行异常检测,进一步地提高了对多种实时指标数据进行异常检测的准确性和灵敏度,同时,降低了排查成本和异常检测算法的复杂度。
以上结合附图详细说明了本发明的技术方案,本发明提供了一种数据异常检测方法、装置、服务器和计算机可读存储介质,通过确定任一种实时指标数据与预测指标数据之间的残差样本集合,将指标数据与指标类型剥离,得到实时指标数据中的异常数据信息,将异常数据信息作为残差样本(通常包括异常信息、正常波动信息和噪声信息),进而能够对多种实时指标数据进行统一的异常检测,降低了维护成本和排异成本。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种数据异常检测方法,其特征在于,包括:
响应于采集的多种实时指标数据,检测任一种所述实时指标数据的异常信息的步骤包括:
确定任一种所述实时指标数据与预测指标数据之间的残差样本集合和窗宽;
确定所述残差样本集合中第n个残差样本的一行特征值由所述第n个残差样本和前m个所述残差样本构成,并建立所述第n个残差样本的高维残差样本,所述m小于所述n;
根据所述窗宽确定全部所述高维残差样本对应的高维残差概率密度模型,并计算所述第n个所述残差样本的异常概率。
2.根据权利要求1所述的数据异常检测方法,其特征在于,在响应于采集的多种实时指标数据前,还包括:
预存任一种所述实时指标数据对应的历史指标数据;
对所述历史指标数据进行拟合处理,以建立拟合回归模型,
其中,所述拟合回归模型用于计算所述预测指标数据。
3.根据权利要求2所述的数据异常检测方法,其特征在于,
采用所述拟合回归模型计算预设训练样本集合的均方差值最小。
4.根据权利要求1至3中任一项所述的数据异常检测方法,其特征在于,还包括:
确定所述高维残差概率密度模型中任一所述残差样本的振动频率;
在检测到任一所述残差样本的振动频率高于预设振动频率时,将所述残差样本对应的所述实时指标数据确定为异常数据。
5.根据权利要求4所述的数据异常检测方法,其特征在于,还包括:
判断所述第n个所述残差样本的异常概率是否大于或等于预设异常概率;
在判定所述第n个所述残差样本的异常概率大于或等于所述预设异常概率时,将所述残差样本对应的所述实时指标数据确定为异常数据。
6.一种数据异常检测装置,其特征在于,包括:
检测单元,用于响应于采集的多种实时指标数据,检测任一种所述实时指标数据的异常信息;
确定单元,用于确定任一种所述实时指标数据与预测指标数据之间的残差样本集合和窗宽;
所述确定单元还用于:确定残差样本集合中第n个残差样本的一行特征值由第n个残差样本和前m个残差样本构成,并建立第n个残差样本的高维残差样本,所述m小于所述n;
所述确定单元还用于:根据所述窗宽确定全部所述高维残差样本对应的高维残差概率密度模型,并计算所述第n个所述残差样本的异常概率。
7.根据权利要求6所述的数据异常检测装置,其特征在于,还包括:
预存单元,用于预存任一种所述实时指标数据对应的历史指标数据;
拟合单元,用于对所述历史指标数据进行拟合处理,以建立拟合回归模型,
其中,所述拟合回归模型用于计算所述预测指标数据。
8.根据权利要求7所述的数据异常检测装置,其特征在于,
采用所述拟合回归模型计算预设训练样本集合的均方差值最小。
9.根据权利要求6至8中任一项所述的数据异常检测装置,其特征在于,
所述确定单元还用于:确定所述高维残差概率密度模型中任一所述残差样本的振动频率;
所述确定单元还用于:在检测到任一所述残差样本的振动频率高于预设振动频率时,将所述残差样本对应的所述实时指标数据确定为异常数据。
10.根据权利要求9所述的数据异常检测装置,其特征在于,还包括:
判断单元,用于判断所述第n个所述残差样本的异常概率是否大于或等于预设异常概率;
所述确定单元还用于:在判定所述第n个所述残差样本的异常概率大于或等于所述预设异常概率时,将所述残差样本对应的所述实时指标数据确定为异常数据。
11.一种服务器,所述服务器设有存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
处理器执行计算机程序时实现如权利要求1至5中任一项的数据异常检测方法的步骤;
和/或包括如权利要求6至10中任一项所述的数据异常检测装置。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的数据异常检测方法。
技术总结