首页 理论教育 风电行业大数据处理方法

风电行业大数据处理方法

时间:2023-06-25 理论教育 版权反馈
【摘要】:风电大数据的处理对振荡识别来说至关重要。图7.2风电场运行过程中产生的大数据成分目前广泛使用的风电机组主要有双馈、定速和永磁直驱风电机组。所以风电场大数据也往往是各类监测系统所重点关注的对象。图7.5系统接入点的数据构成2.风电大数据预处理风电场采集得到的数据一般不会直接进行分析,原因是,一方面,原始数据并不完整,有价值的信息会受到脏数据掺杂。

风电行业大数据处理方法

电场运行过程中每时每刻会产生海量的数据,这些数据不仅涵盖电网内部的运行参量,而且包含其他相关变量信息。这些数据来源的厂家和类型均不一致,对后续的数据分析带来了巨大的麻烦。风电大数据的处理对振荡识别来说至关重要。

1.风电大数据的构成

电力行业和其他行业相比更需要对大数据进行研究。随着大数据技术的不断发展,电网运行时产生的大量数据能否实现电力信息化,当前正是这样一个重要的转折点。从应用前景考虑,研究风电大数据的研究非常有意义。

按照电气连接和硬件配置来分类的话,风电大数据可以分为三个层次,数据分别来自风电场、风电机组和系统接入点。风电大数据的构成如图7.2所示,风电场大数据由一次设备数据、二次设备数据和设备测温数据组成;风电机组大数据由电气量数据、机械量数据和其他数据组成;电力系统接入点大数据主要包括有潮流数据、AGC、AVC、STATCOM等。

图7.2 风电场运行过程中产生的大数据成分

目前广泛使用的风电机组主要有双馈、定速和永磁直驱风电机组。这三类风电机组运行时产生的数据类型也并不相同。如图7.3所示,风电机组运行中会产生三类数据机械量数据、电气量数据和其他数据。

图7.3 来源于风电机组的数据构成

风电场内部的大数据一般由设备配置以及运行与维护情况进行分类,一般分为一次高压设备的运行数据、二次保护设备的运行数据以及与重要设备运行状态的节点温度数据这三大类,具体类型以及详细的信息可参照图7.4所示。上述节点的运行数据通常来源于风电场本身,这些数据的内部也蕴藏着风电场运行状态的具体信息。所以风电场大数据也往往是各类监测系统所重点关注的对象。

图7.4 风电场大数据的主要构成

根据风电场在电力系统接入点的电气连接结构和控制器的运行情况,电力系统接入点数据的主要构成如图7.5所示。

图7.5 系统接入点的数据构成

2.风电大数据预处理

风电场采集得到的数据一般不会直接进行分析,原因是,一方面,原始数据并不完整,有价值的信息会受到脏数据掺杂。另一方面,未经预处理的数据会存在数据格式、量纲等不一致情况,对后续数据分析产生不良影响。大数据挖掘和处理是建立在数据准确的基础上的,因此进行数据预先处理相当有必要。

1)基于PCA和t-SNE进行风电大数据处理

(1)主成分分析原理

主成分分析法的思想是寻找一个或几个投影方向,使得原始数据样本在投影后的方差最大。从机器学习的角度,这种投影方法可以理解对特征的重构或者是组合。对于原始的m维特征通过投影到新的n维空间上,并且一般满足n<m,这n维空间表述的特征就是主成分。其中,需要指出的是,这个n维空间表述的特征和原先的m维特征的含义并不一样,是通过线性组合后的新的特征。主成分选择的主要考量方式是通过方差,新特征的方差越大,越能体现这个特征包含的信息量,因此在计算上,会累计方差的贡献百分比进行主成分的选择。一般选取累计贡献百分比在75%~95%左右的维度作为PCA降维的参考维度。

有样本集X={x1,x2,…,xm},假定样本集进行了中心化,即再假定投影变换后的新坐标系为{w1,w2,…,wd},其中wi是标准正交基向量,‖wi2=1。

若某数据点xi在新坐标系w中的投影为WTxi,如果在这个新坐标系下原始样本集中数据点的投影可以被有效分隔,则在新坐标系下不同样本数据点的方差为。因此优化目标为最大化这个方差:

对于式(7.1)使用拉格朗日乘子法可得

因此只需对协方差矩阵XXT进行特征值分解,将求得的特征值排序:λ1≥λ2≥…≥λm。一般,选取累计贡献率在75%~95%左右的维度作为PCA降维后的参考维度。因此按照累计方差贡献来对计算求得的主成分进行排序,满足累计贡献率的要求的前x个成分就是通过此算法选择出的主成分。

方差贡献率和累计方差贡献率分别为

再取前x个特征值对应的特征向量构成W=(w1,w2,…,wx),就是主成分分析的解。通过以上的分析可以得出,主成分分析作为一种特征提取的方法,本质就是寻找一个或几个投影方向,使得样本值投影后的方差最大。这种投影可以理解对特征的重构或者是组合。

(2)t-分布邻域嵌入原理

t-分布邻域嵌入(t-distributed stochastic neighbor embedding,t-SNE)是用于降维的一种机器学习算法,是由Laurens van der Maaten和Geoffrey Hinton提出的对邻域嵌入算法(stochastic neighbor embedding,SNE)的改进,是一种非线性降维算法,非常适用于高维数据降维到二维或者三维从而进行可视化。本质是在高维空间将数据点间的相似性映射到低维空间。与PCA方法相比,t-SNE这一算法的优势为:不仅实现非线性降维,而且解决了映射后低维数据点拥挤问题;可视化效果良好,为聚类等方法提供基础。

SNE是通过仿射变换将数据点映射到概率分布上。从数学的角度可以这样理解,SNE是先将欧式距离转换为条件概率来表达点与点之间的相似度。

给定N个高维的数据x1,x2,…,xN,SNE算法首先构建正比于xi和xj之间相似度的条件概率pij

其中,σi对不同的点xi的取值不同,因为关注两者的相似度,故设置px|x=0。

对于低维度下的yi,且指定高斯分布的方差为,qji表示两点之间的相似度,计算公式如下:

同式,设pi|i=0。如果yi,yj准确的保留了xi,xj的概率分布,说明降维效果比较好,有下式成立:

由上述可知,SNE的目标就是找到一个可以最小化pij和qji的不同的数据表达方式。可以通过优化pij和qji这两个概率分布之间的距离,即KL散度(Kullback-Leibler divergences),目标函数如下式:

式中,Pi表示给定xi后其他数据点的条件概率分布。由于KL散度具有不对称性的特点,在映射关系中不同距离的惩罚项权重不同,距离较远的两个点来表达距离较近的两个点的惩罚比较大,因此SNE倾向于保留数据的局部特征。

不同的点具有不同的σi,Pi的熵会随着σi的增加而增加。SNE使用困惑度(perplexity)的概念,通过二分搜索来寻找最佳的σ。其中困惑度指:

式(7.9)的H(Pi)是Pi的熵:

困惑度的物理解释为某个点附近有效近邻点的个数。确定σ的取值后,问题就变成梯度的求解,由于目标函数与softmax非常的类似,softmax的目标函数对应的梯度是y-p。因此可以推导SNE的目标函数的梯度公式如下:

一般使用较小的σ下的高斯分布进行初始化,为加速优化过程和避免陷入局部最优解,梯度更新中需使用一个较大的动量,即参数更新需要引入之前的梯度累加的指数衰减项,参数更新公式如下:

式中,Y(t)表示迭代t次的解,η表示学习速率,α(t)表示迭代t次的动量。另外,初始优化阶段每次迭代中可以引入一些高斯噪声,然后类似模拟退火算法,逐渐减小该噪声从而避免陷入局部最优解。

SNE的缺点在于难以优化,且存在拥挤问题,为解决这些问题Laurens van der Maaten和Hinton等人提出了t-SNE的方法。

t-SNE在低维空间下使用t分布来表征两点之间的相似度。由于正态分布和t分布的概率分布形态的不同,由图7.6可见,深色部分代表正态分布,虚线代表t分布,可以看到,t分布比正态分布更具与长尾效应,也就是说在数据值比较紧凑的高维空间,通过t分布可以使数据在降维后的空间散开程度更大。如图7.6(a)所见,在没有异常值的情况下,t分布可以更好地描述边缘数据,如图7.6(b)可见,有异常值的情况下,t分布也能更好的反应数据的概率分布。较小的距离在映射后比正态分布的距离更大,很好的捕获了数据的整体特征。

图7.6 正态分布和t分布曲线对比

使用了t分布之后的q变化如下:

另外,在计算的时间复杂度上,由于t-分布是高斯分布的线性和,并不会加大时间复杂度。通过t-分布优化后梯度如式(7.14)。

根据上述算法的推导,总结后可以得到如图7.7的t-SNE算法流程图

(www.xing528.com)

图7.7 t-SNE算法流程图

2)算例分析

采用的样本数据来自某风电机组采集的数据段。采样开始时间为2013年8月6日13点33分,一共2 400 000组数据。剔除缺测变量后,NWP数据剩余降水量、气压、温度、湿度、不同高度的风速和风向等22个动力学指标,详细见表7.1。从表7.1可以看出,NWP数据的维数非常高,并且不能确定每个特征是否会对风电场运行状态产生影响,如果不加处理直接输入后续的预测模型,过多的数据不仅会导致运算时间大大增加,甚至还会影响模型表达特征的能力,因此需要通过合适的算法从中选择有价值的特征。本部分将分别采用上述介绍的PCA和t-SNE方法进行特征选择。

表7.1 NWP指标

*1 ppm=0.000 1%。

(1)基于PCA的风电大数据降维分析

原始数据量纲并不一致,因此首先对数据进行归一化处理,统一各参数的量纲。对归一化的数据求解其协方差矩阵,解得其特征根和方差贡献百分比,并对方差贡献百分比进行排序。表7.2是计算后的前十个主成分的成分变量名,特征值,方差贡献百分比和累计方差贡献百分比。

表7.2 前十个特征的特征值、方差贡献百分比和累计方差百分比

从表7.2中可以看出,第一个成分Z1的贡献率为89.273%,Z2的贡献率为6.467%,两者的累积方差贡献率为95.74%。说明Z1和Z2基本包含了原始数据的全部信息,可以反映原始多个变量中包含的主要信息,由主成分判断依据可以得出主成分为Z1和Z2。还有一种选择主成分的方法是检查方差相对于成分个数的散点图,并选择图形接近水平的点,此外可以看出第二个主成分Z2后图形接近水平,其他成分变量贡献率非常低,因此确定主成分为Z1和Z2。通过主成分分析,将22维的原始数据降低至2维,大大减少后续模型的运算消耗。

表7.3中的原参数变量X1~X10分别表示雨量,气压,相对湿度,温度,最大风速,最小风速,风向,风速,空气密度,风力等级。成分得分系数r是[-1,1]中的实数。当r>0时,两变量正相关,反之,则负相关。|r|越大,两变量的相关程度越高。因为Z1这个主成分的方差贡献率为89.273%,远大于6.467%的Z2。因此以下以Z1为例进行分析,从表7.3成分得分系数矩阵可以看出,Z1这个第一主成分主要与原参数变量X8相关联,关联系数为0.964 7,X8对应的是风速,其次Z1与X7相关联,关联系数是-0.088 72,X7对应的是风向,也就是说特征抽取得到的Z1是对所有特征进行线性变换后得到的特征衍生,它主要包含了风速和风向信息,既保证了信息最大程度的保留,又降低了维度。

表7.3 成分得分系数矩阵

(2)基于t-SNE算法的风电大数据降维分析

为去除NWP样本的噪声且在低维度空间直观反映风电场气象数据的特性,这里采用t-SNE算法将样本集从22维降到2维空间,困惑度设定为20,迭代5 000次。选取40样本日共3 000个数据来展示t-SNE算法的降维结果,如图2.7所示。图中的圆点表示数据点,不同颜色深浅代表不同的变量。

如图7.8所示,使用t-SNE算法能在二维空间比较清晰表示所有数据点,不同特征的数据大部分数据点呈现一段或者几段的短线结构,且t-SNE比较明显地把不同类别的数据分割了开来。但同时可以发现,有一些数据点发生了重合,例如图中的两种颜色重合在一起,比较难以区分。因此下面尝试采用t-SNE算法把原始样本集降维至3维子空间。困惑度设定为20,迭代5 000次。同样选取40样本日共3 000个数据来展示降维结果,如图7.9所示,图中的圆点表示数据点,不同颜色代表不同的变量。

图7.8 t-SNE算法的降维效果(后附彩图)

图7.9 t-SNE算法在数据段1的降维效果(后附彩图)

此外,为了验证t-SNE模型的泛化性,增加了此风电场其他时间的气象数据段作为实验对象,此数据段的采样开始时间为2013年8月8日,对数据采用同样预处理方式后输入模型,降维可视化结果如图7.10所示。由上述图可见,用t-SNE算法能在三维空间清晰表示所有数据点。大部分数据点呈现一段或者几段的短线状的线段结构,反映出天气变化的时间上的连续性。图中不同颜色的点代表不同特征,这些特征在三维空间被明显的区分开来,这证实了t-SNE算法在处理风电场运行数据中的气象数据的有效性。

图7.10 t-SNE算法在数据段2的降维效果(后附彩图)

分析数据点之间距离关系并不能推断出数据的定量信息,因此t-SNE降维方法的目的主要是用于可视化数据。让我们对需要挖掘的数据模式有一个宏观的认识。对于某组数据,若t-SNE在分割特征上表现良好,那么寻找到一种将这组数据投影到不同类别的机器学习方法的可能性就很大。相反的,若t-SNE在分割特征上表现一般,例如出现类别重叠的情况,那么就需要构建更复杂的模型。

(3)不同算法的降维效果对比

为了对比t-SNE算法和PCA方法的降维效果,我们把风电场气象数据段1的数据降维到2维、3维、5维和8维空间,采用可信度作为评价标准。可信度表示数据原始结构在降维至低维空间时局部结构的保留情况,可信度的大小范围是[0,1]。可信度越大,数据保留程度越好,同理可信度越低表示降维后数据保留程度越差。可信度的数学定义如下:

其中,r(i,j)表示根据低维数据点之间的成对距离来决定的低维数据点j的秩,表示低维空间中k近邻数据点的集合。以下将通过实验比较采用PCA和t-SNE将高维数据降维至2、3、5、8维后的可信度。

表7.4是使用t-SNE算法和PCA方法对数据进行降维后的可信度对比,可以发现t-SNE和PCA在二维空间已能较好保留样本点在高维空间的局部相似性。由图7.12所示,在三维空间时样本可信度曲线已经基本平行,接近饱和状态。由表7.4和图7.11可以发现t-SNE的降维可信度在实验的各低维空间均优于PCA降维方法且t-SNE基本保留了原始数据的时序特征。

表7.4 数据集低维表示的可信度对比

图7.11 PCA和t-SNE算法降维后可信度曲线

由于PCA和t-SNE原理不同,因此后者保留的属性信息更能体现样本间的差异,但根据实际情况,运行时间也是算法性能的一个重要的参考方向。t-SNE算法会计算成对条件概率并尝试最小化高维和低维概率差的总和,这个过程涉及大量的计算。根据上部分的原理分析可知,t-SNE在运算时有平方次的时间和空间复杂度,因此在数据量很大的情况下运算速度非常慢。

通过实验比较采用PCA和t-SNE将高维数据降维至2、3、5、8维过程的算法运行时间,从时耗和实验计算机的性能考虑,仅取10 000条数据进行实验比较,得到表7.5。

表7.5 PCA和t-SNE算法运行时间对比

由表7.5可知,把高维数据降维至不同的低维时,相对PCA方法,t-SNE的运行速度都非常慢。在降至2维空间的情况下,t-SNE的算法耗时是PCA的183.3倍,在降至3、5、8维空间的情况下,t-SNE的算法耗时分别是PCA的158.6、148.3、157.0倍。而且随着维数的增加,PCA和t-SNE方法的运行时间均有增加,且降至较低的2、3维的耗时远小于降至5、8维度的算法耗时。

通过比较两个不同的数据预处理方法发现,t-SNE的优点是降维可信度在试验的各个低维空间均略优于PCA降维方法,缺点是算法计算效率较低,比PCA耗时更多。因此在实际使用中,需要对各算法进行权衡,选择最适合当前场景的算法。

3.风电大数据可视化

可视化作为信息最直观的方式,能够直观展示风电机组设备监测数据与运行状态的变化,不仅对风电场运行状态的认知具有重要意义,而且可以通过可视化展示风电场运行趋势为后续的趋势预测模型的搭建提供基础。

(1)可视化平台系统整体架构

风电场监测数据可视化平台的系统整体架构如图7.12所示。可视化平台主要由数据处理模块和数据可视化模块组成,数据处理模块负责处理原始数据并导入到数据库,可视化模块负责读取和聚合数据并进行可视化。其中数据可视化模块还包括组合查询条件的数据聚合操作。通过实现这两大模块,可以实现风电场监测数据可视化平台。

图7.12 风电场监测平台系统整体架构

由于风电场收集数据的系统把风电机组运行过程中产生的数据存储在csv格式的文件,由于InfluxDB并不支持csv格式文件的读写,所以这里设计了数据处理模块来实现csv文件写入数据库的操作。如图7.12所示,数据处理模块主要细分为四个步骤,首先是从csv格式的文件中获取风电数据,然后对电压、电流功率等不同的数据进行数据预处理,滤除无用数据,最后把数据写入到InfluxDB数据库。

整个风电场监测数据可视化系统采用浏览器/服务器模式,由于系统是运行在本机上的服务,因此当开启Grafana Server后,可以在本地的8080端口对平台进行访问操作。在设计模式上,本平台采用的是MVC设计模式,即把控制和视图与模型分离,因此本系统具有良好的可扩展性

(2)可视化平台系统工作流程

风电场监测数据可视化平台的工作流程如图7.13所示。从图中可以看出,用户首先登录进入可视化平台的浏览器端并选择需要观测的风电场运行数据和其类型,选择需要观测的风机编号以及带观测时间段。以上请求将发送给系统后端,系统后端会把这些请求转换为数据库的查询语句,然后在数据库中查询相应的数据并封装后返回。在可视化平台的浏览器端使用合适的可视化工具对返回值进行相应的可视化处理后返回给用户。

图7.13 系统工作流程

整个系统主要采用了InfluxDB+Grafana的解决方案。InfluxDB是一个开源的分布式时间序列数据库,用于实时的记录各类风机运行过程中的产生的数据。Grafana是一个前端显示框架,主要负责表达风机运行状态的各类数据的显示,可以动态实时的显示数据随时间的变化情况。Grafana支持InfluxDB作为后端,易于整合。

(3)可视化平台系统实现和演示

可视化平台系统利用InfluxDB数据库和Grafana可视化套件实现风电大数据的监测。Grafana中可视化面板的构成比较自由,图和表都是由用户自定义,可以自由选择图标类型、大小和位置。风电机场的各个气象因素的可视化面板如图7.14所示,主要通过表格、热力图、折线图、柱状图仪表盘和散点图的形式来实现对降水量、气压、温度、湿度、风速和风向等气象数据的可视化。

图7.14 风电场数据可视化面板

可视化仪表盘(dashboard)是Grafana的核心所在,仪表盘由排列在界面上的各个面板组成,Grafana配有各种面板,可以轻松构建所需要的查询,并自定义显示属性,以便根据需要创建对应的仪表板。Grafana中所有的面板均以插件的形式进行使用,当前内置了图(graph)、状态图(singlestat)、热力图(heatmap)、仪表盘列表(dashlist)、表格(table)以及文本(text)这六种类型的面板。每个面板(panel)都可以与来自任何已配置的Grafana数据源的数据进行交互,另外,仪表板可以使用注释来显示面板中的事件数据,使面板中的时间序列数据与其他事件相关联。

在Grafana中,不仅通过图可以看到数据的变化趋势,也能通过观察表格获得准确的数据。表格以小时为单位采用取平均值的方式聚合了原始数据,可以看到风向、风速、湿度等各个气象数据的具体数值。

Grafana还提供通过设置预警阈值的报警(alert)功能,可以进行自定义的报警配置,最常用的报警方式有钉钉预警、邮件预警和webhook预警三种方式。目前的Grafana版本中只有图面板支持报警,用户可以对不同的指标设置不同的预警规则和警报通知方式。在报警的设置中可以自定义预警的执行频率,预警的判断标准,以及可以通过查询语句query()选择预警的执行区间。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈