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

一种基于大数据建模的电力数据质量离群检测方法

文献发布时间:2023-06-19 18:25:54


一种基于大数据建模的电力数据质量离群检测方法

技术领域

本发明属于电力行业数据管治技术领域,具体涉及一种基于大数据建模的电力数据质量离群检测方法。

背景技术

当前,电网中心传统技术手段下的数据质量检测仅对数据缺失、乱码、特殊字符、基础逻辑等浅表的显性数据质量问题提出了解决方案,而对于没有明显业务判定规则、隐性的数据质量问题仍然缺少有效的技术检测手段。

发明内容

本发明针对现有数据质量检测技术手段难以发现隐性数据质量的问题,提供了一种基于大数据建模的电力数据质量离群检测方法,具备对隐性数据质量问题进行准确判断和识别,并完成数据质量问题测试检验的优点。

为了实现以上目的,本发明采用的技术方案为:一种基于大数据建模的电力数据质量离群检测方法,包括如下步骤:

S1、确定离群检测建模场景:通过采集电力系统建设背景下存在数据质量问题的典型数据治理场景数据,分析数据中存在的未违背显性业务规则且具有潜在离群检测必要性的数据项作为离群检测目标项;

S2:执行特征工程:包括数据清洗和特征选择;

2.1)、数据清洗:采集离群检测建模所选场景的明细数据,剔除数据表中没有业务含义的数据项,识别高应用价值字段及其已有数据和业务类质量规则数据,对于字段缺失超过50%的数据项进行剔除,不纳入建模分析;

2.2)、特征选择:基于斯皮尔曼Spearman相关性计算离群检测目标字段与其余字段的相关性,挑选出与离群检测目标字段高度相关的字段作为离群检测建模特征因子;

S3:大数据建模:包括建模分析与离群检测;

3.1)、通过BP人工神经网络算法建模对离群检测目标项进行拟合预测,具体步骤为:

从数据中抽样N条样本,其中n条作为训练数据训练神经网络,用(N-n)条数据作为测试;模型采用Adam优化器,RELU作为激活函数,经过多轮次迭代训练调优,得到神经网络算法;

3.2)、计算离群检测目标项预测值与实际值的误差比例:

将人工神经网络模型应用到全局数据,预测所有离群检测目标字段的估计值,再以目标字段实际值减去预估值,得到估计误差,计算估计误差绝对值,以及绝对估计误差与目标字段之残差比Ratio;

3.3)、利用孤立森林算法对残差比进行建模识别离群值:

选择孤立森林算法作为离群值检验方法,以Ratio作为模型输入,为Ratio计算输出异常得分,异常得分高的判定为离群数据;

最后,结合业务角度分析数据离群检测的结果,评估算法模型。

进一步的,步骤S1中所述场景数据包括营配贯通、电能质量场景数据。

进一步的,步骤3.1)中,从数据中抽样100000条样本,其中99800条作为训练数据训练神经网络,用200条数据作为测试。

再进一步的,步骤3.3)中,为了避免检测出的离群值中包含噪声,假设离群值只占总体的0.05%。

进一步的,步骤S2前、步骤S1后具有步骤:对离群检测技术模型对比排序优先级,离群检测技术模型包括现阶段常见异常数据分类、离群检测技术方法模型分类、离群检测结果输出数据分类对比。

进一步的,步骤2.1)中:首先,剔除用户名称、地址、注册日期用户唯一性数据;其次,剔除部分缺失值过多的列;最后,对分类属性做字符特征编码处理。

进一步的,步骤3.2)中,将人工神经网络算法模型应用到全局数据样本,拟合预测得到所有用户的RUN_CAP估计值

再进一步的,人工神经网络算法模型采用多层感知机(MLP)架构,通过在数据集上训练来学习函数:

f:R

其中,m是输入空间的维数,n是输出空间的维数,给定一组特征和标签:

X={x

多层感知机(MLP)架构使用随机梯度下降(SGD),随机梯度下降(SGD)使用关于需要适应的一个参数的损失函数的梯度来更新参数,即

其中,η是控制训练过程中参数更新步长的学习率,Loss是损失函数。

进一步的,步骤3.3)中,孤立森林算法运行过程,包括如下步骤:

1).从训练数据中随机选择Ψ个点作为子样本,放入一棵孤立树的根节点;

2).随机指定一个维度,在当前节点数据范围内,随机产生一个切割点p,切割点产生于当前节点数据中指定维度的最大值与最小值之间;

3).此切割点的选取生成了一个超平面,将当前节点数据空间切分为2个子空间:把当前所选维度下小于p的点放在当前节点的左分支,把大于或等于p的点放在当前节点的右分支;

4).在节点的左分支和右分支节点递归步骤2)、3),不断构造新的叶子节点,直到叶子节点上只有一个数据或树已经生长到了所设定的高度。

本发明的技术效果在于:本发明是一种基于大数据建模的电力数据质量离群检测方法,本发明方法融合斯皮尔曼相关性分析、神经网络预测、孤立森林检测等多种大数据技术进行电力数据离群检测算法建模,实现隐性异常值数据的离群检测,为不断完善电力数据质量检测规则提供了技术支撑。

附图说明

图1为本发明的一种基于大数据建模的电力数据质量离群检测方法流程图;

图2a、图2b分别为本发明的实施例中模型拟合效果展示结果图(即神经网络算法模型两次测试结果);

图3为本发明的具体实施例的单隐藏层MLP感知器架构图;

图4为本发明的具体实施例的孤立森林算法运行机理图;

图5为本发明的具体实施例的孤立森林算法异常值边界划分示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的一种基于大数据建模的电力数据质量离群检测方法,包括以下步骤:

S1、确定离群检测建模场景:通过采集电力系统建设背景下存在数据质量问题的典型数据治理场景数据,该场景数据包括营配贯通、电能质量等场景数据,分析数据中存在的没有违背显性业务规则且具有潜在离群检测必要性的数据项作为离群检测目标项;

S2:执行特征工程:包括数据清洗和特征选择;

2.1)、数据清洗:采集离群检测建模所选场景的明细数据,剔除数据表中没有业务含义的数据项,识别高应用价值字段及其已有数据和业务类质量规则数据,对于字段缺失超过50%的数据项进行剔除,不纳入建模分析;

2.2)、特征选择:基于斯皮尔曼Spearman相关性计算离群检测目标字段与其余字段的相关性,挑选出与离群检测目标字段高度相关的字段作为离群检测建模特征因子。

S3:大数据建模:包括建模分析与离群检测;

3.1)、通过BP人工神经网络算法建模对离群检测目标项进行拟合预测,具体步骤为:

从数据中抽样100000条样本,其中99800条作为训练数据训练神经网络,为了便于可视化模型拟合效果,只用200条数据作为测试;模型采用Adam优化器,RELU作为激活函数,经过多轮次迭代训练调优,得到神经网络算法,实现对离群检测目标项的准确预测;

3.2)、计算离群检测目标项预测值与实际值的误差比例:

将人工神经网络模型应用到全局数据,预测所有离群检测目标字段的估计值,再以目标字段实际值减去预估值,得到估计误差,计算估计误差绝对值,以及绝对估计误差与目标字段之残差比Ratio;

3.3)、利用孤立森林算法对残差比进行建模识别离群值:

选择孤立森林算法作为离群值检验方法,以Ratio作为模型输入,为Ratio计算输出异常得分,异常得分高的判定为离群数据。为了避免检测出的离群值中包含噪声,假设离群值只占总体的0.05%。

最后,结合业务角度分析数据离群检测的结果,评估算法模型(可用性)。

本发明的一种基于大数据建模的电力数据质量离群检测方法,该方法通过人工神经网络算法拟合预测被离群检测目标的估计值,然后计算估计值与实际值之间的残差,使用残差比作为异常检测的数据样本,利用孤立森林算法给出每一个实例的异常得分和异常判定。通过观察大数据建模结果,判定模型效果较为良好,对于没有明显业务规则数据、隐性的数据质量问题提供了一种较为有效的离群技术检测技术手段。本发明提出的基于神经网络与孤立森林组合模型的整体技术思路同样适用于其他电力数据质量隐性离群检测场景。

基于本发明的具体实施例,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

下面结合具体实施例对本发明作进一步解说。

一种基于大数据建模的电力数据质量离群检测方法,包括以下步骤:

S1、确定数据质量离群检测目标项:以当前电力数据治理重点关注的营销系统用电客户档案信息作为实验数据,分析数据中存在的没有违背显性业务规则且具有潜在离群检测必要性的数据项;本实施例以RUN_CAP(合同容量)为离群检测目标项进行说明,该字段没有显性的业务规则约束,迫切需要一套合理的离群检测技术方案来定位该字段中的离群数据;

S2:离群检测技术模型对比(排序优先级),所述离群检测技术模型包括现阶段常见异常数据分类、离群检测技术方法模型分类、离群检测结果输出数据分类等对比;

异常数据分类分为点异常、上下节数据异常,上下节数据异常又分为上下节数据属性、行为属性和集体异常,本实施例属于点异常;

离群检测方法模型分类为监督学习异常检测、半监督异常检测和无监督异常检测,不同方法模型适用于不同类型的离群检测场景;

离群检测输出数据分类分为分数形式和标签形式,以定性、定量等形式标记数据异常状况;

S3:数据预处理(即执行特征工程):包括数据清洗和特征选择;

3.1)、数据清洗:首先,剔除用户名称、地址、注册日期等用户唯一性数据,这部分数据对数据分析和建模没有意义;其次,剔除部分缺失值过多的列,这部分数据即使对目标属性有相关性,也无法纳入建模过程中;最后,为了便于数据建模分析,对分类属性做字符特征编码处理;

3.2)特征选择:基于斯皮尔曼Spearman相关性计算当前所有字段与目标字段(RUN_CAP)的相关性,挑选出与目标字段高度相关的字段作为目标字段(RUN_CAP)的特征项;

S4:建立大数据模型:包括建模分析与离群检测;

4.1)通过人工神经网络算法对数据进行抽样拟合,人工神经网络算法具备自学习功能、联想储存功能、高速寻找优化解的能力等优点。具体步骤为①从数据中抽样100000条样本,其中99800条作为训练数据训练神经网络,为了便于可视化模型拟合效果,只用200条数据作为测试;模型采用Adam优化器,RELU作为激活函数,最终训练得到的模型在测试集上较好,经过多轮实验,模型在随机抽取的测试集上的都较为良好,没有发生过拟合和欠拟合;②将模型应用到全局数据,预测所有数据目标字段的估计值,再以目标字段实际值减去预估值,得到估计误差,计算估计误差绝对值,并计算绝对估计误差与目标字段之比Ratio;

4.2)通过孤立森林算法作为异常值检验方法,以Ratio作为数据,使用孤立森林模型为Ratio计算异常得分,异常得分高的判定为离群数据,为了避免检测出的离群值中包含噪声,假设离群值只占总体的0.05%,通过结果数据并结合业务角度来看,合同容量较大而运行容量通常也较大,而上述样本运行容量较小,符合离群点的业务先验认知。

上述(RUN_CAP)表示运行容量,即选用基于人工神经网络算法与孤立森林算法组合的离群检测技术方案,将分析筛选出的建模特征项CONTRACT_CAP(合同容量)、ELEC_TYPE_CODE(用电类别)和CONS_SORT_CODE(用户分类)作为自变量,检测目标项RUN_CAP(运行容量)作为因变量,使用人工神经网络算法拟合数据分布并估计误差,计算每一个样本点的误差比例,再输入至孤立森林算法对误差残差比进行建模,将残差比显著较大的数据判定为离群值。

人工神经网络算法采用多层感知机(MLP)的一种神经网络实现,通过在数据集上训练来学习函数:

f:R

其中,m是输入空间的维数,n是输出空间的维数。给定一组特征和标签:

X={x

与逻辑回归不同的是,在输入层和输出层之间,有一个或多个非线性层,称为隐藏层。图3展示了本实施例中具有标量输出的隐藏层MLP架构。其中,最左层的输入层由一组代表输入特征的神经元{x

MLP架构使用Stochastic Gradient Descent(随机梯度下降)(SGD),Adam,或者L-BFGS进行训练。随机梯度下降(SGD)使用关于需要适应的一个参数的损失函数的梯度来更新参数,即

其中,η是控制训练过程中参数更新步长的学习率(learning rate),Loss是损失函数(loss function)。Adam类似于SGD,是stochastic optimizer(随机优化器),根据低阶矩的自适应估计自动调整参数更新的量,下面为BP人工神经网络算法伪代码:

使用SGD或Adam,训练过程支持在线模式和小批量学习模式,L-BFGS是利用Hessian矩阵来近似函数的二阶偏导数的求解器,使用Hessian的逆矩阵来近似进行参数的更新。L-BFGS收敛速度是更快的并且是小数据集上更好的解决方案。对于规模相对比较大的数据集,Adam会迅速收敛,并得到相当不错的结果。另一方面,如果学习率调整得正确,使用Momentum或Nesterov’s Momentum的SGD可以比这两种算法更好。

孤立森林算法通过学习样本的分布情况,如图4所示。本实施例异常数据占总样本量的比例很小;异常点的特征值与正常点的差异很大。异常样本相较普通样本可以通过较少次数的随机特征分割被孤立出来。样本空间有一批数据,其有的地方分布密集,有的地方分布稀疏,孤立森林算法通过如下方案找出这些离群点的:

假设有批数据样本点有一个特征为年龄,孤立森林随机选择认为年龄>70为异常,年龄<=70为正常,此时相当于在样本空间,画出了一个超平面。接着孤立森林再选了一个特征为收入,认为收入>1w为异常,收入<=1W为正常,此时则又在样本空间画出了一个超平面,随机的在样本空间上设置决策边界,分布稀疏位置的点可以以较大概率通过较少次数的决策边界划分被孤立出来,而分布密集位置的点以较大概率通过更多次数的决策边界划分才能被孤立。如图5所示,处于分布密集位置的x

假设一棵树通过这个方法认为x

孤立森林算法模型伪代码如下:

孤立森林算法运行过程,包括如下步骤:

1).从训练数据中随机选择Ψ个点作为子样本,放入一棵孤立树的根节点;

2).随机指定一个维度,在当前节点数据范围内,随机产生一个切割点p,切割点产生于当前节点数据中指定维度的最大值与最小值之间;

3).此切割点的选取生成了一个超平面,将当前节点数据空间切分为2个子空间:把当前所选维度下小于p的点放在当前节点的左分支,把大于(或)等于p的点放在当前节点的右分支;

4).在节点的左分支和右分支节点递归步骤2)、3),不断构造新的叶子节点,直到叶子节点上只有一个数据(无法再继续切割)或树已经生长到了所设定的高度。

结合图1,下面图2a、2b为本实施例中模型拟合效果展示结果图(即神经网络算法模型两次测试结果);表2为本实施例中离群点检测结果展示:将(人工神经网络算法)模型应用到全局数据样本,拟合预测得到所有用户的RUN_CAP估计值

参照下表1:即神经网络算法模型输出结果:

以残差比Ratio作为数据输入,利用孤立森林算法为Ratio计算异常得分,将异常得分越高的判定为越离群的数据。为了避免检测出的离群值中包含噪声,假设离群值只占总体的0.05%,孤立森林算法给出的离群值样本如下表2:

参照下表2:孤立森林算法模型输出结果:

从业务角度分析模型结果看,合同容量较大而运行容量理论上通常也较大,上表2标记结果符合离群点的业务先验知识。

本发明以电力用户档案数据作为研究对象,在检测数据集上通过神经网络拟合模型,经过测试集验证,模型拟合效果较好。随后对于每个测试实例,使用拟合函数给出被检测属性的估计值,然后计算估计值与实际值之间的残差,使用残差比作为异常检测的检测数据,通过孤立森林算法给出每一个实例的异常得分和异常判定,通过观察数据结果,结合业务逻辑,判定模型效果较为良好。

需要说明的是,在本发明中术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、法、物品或者设备所固有的要素。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和方案之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于元数据驱动的电力通信大数据质量管理方法
  • 一种基于样本局部密度离群点检测的背景建模方法
技术分类

06120115565732