一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于VMD-Lasso-CNN-LSTM的用户用电能耗预测方法

2022-07-02 12:43:11 来源:中国专利 TAG:

一种基于vmd-lasso-cnn-lstm的用户用电能耗预测方法
技术领域
1.本发明涉及一种基于vmd-lasso-cnn-lstm的用户用电能耗预测方法,属于电力系统技术领域。


背景技术:

2.近年来,随着智能感知以及无线通讯技术的发展、智能电网的建设规模不断扩大,积累了大量电力相关数据。如何从海量的历史能耗数据中挖掘特征信息,建立准确可靠的电能消耗预测模型,明晰电能能耗的分布以及变化规律,将为电力系统的智能调度、运行以及维护提供科学的决策依据。然而,用户用电能耗是一种时间序列,通常受到节假日、季节效应、气候等外部因素的影响,从而呈现出复杂的非线性特征。此外,数据规模大、维度高以及时效性强等特点,极大的提升了数据解析难度,为基于数据驱动方法的能耗预测带来了极大的挑战。传统的用电能耗预测方法包括线性回归分析、趋势外推法以及周期因子模型法等。而传统的预测方法在处理非线性、非平稳、高复杂性的时间序列时,预测效果并不理想。
3.由于emd分解易造成模态混叠现象,分解结果较差,且不能自己调节需要分解出的子模态分量个数,而vmd作为一种自适应、完全非递归的模态变分的方法,有效的避免了在分解结果中出现的模态混叠和端点效应现象;可以人为设定分解出的模态分量的个数,可以把原始时间序列信号分解为固有的k个模态分量imf,具有较强的自适应性,在处理非平稳较复杂的数据时,有明显的优势。为了有效地捕捉数据的深层特征,提高预测模型精度,本发明提出了一种基于vmd-lasso-cnn-lstm的用户用电能耗预测方法。


技术实现要素:

4.本发明针对现有技术的不足,提供一种基于数据预处理和特征选择的能耗预测方法。该组合模型不仅有效地捕捉数据的深层特征,降低数据复杂度,还提高了预测模型的精度。
5.为了克服上述现有技术的不足,本发明提供了如下的技术方案:
6.本发明提供了一种基于vmd-lasso-cnn-lstm的用户用电能耗预测方法,包括如下步骤:
7.s1.通过智能电表采集用户用电能耗数据,每隔10分钟采集一次用户用电数据,对于其中的缺失值或奇异值,将该值用前后两个值的平均值进行填补,得到原始用电能耗数据。
8.s2.通过变分模态分解(vmd)算法对数据进行预处理,将原始数据序列信号分解成k个不同的子序列;具体步骤如下:
9.2.1变分模态分解(vmd)算法将信号的分解方式转化为变分问题,通过计算受约束变分问题,获取全局最优解,从而实现对信号的分解,在这种循环求解过程中,各个模态分量的中心频率以及带宽不断地更新,最终得到若干个较窄带宽的固有模态分量。
10.2.2定义本征模函数为幅频-调制(am-fm)信号,其表达式为:
[0011][0012]
式中,ak(t)为瞬时幅值,为uk(t)的相位。
[0013]
2.3构造变分问题。
[0014]
2.3.1计算各模块带宽。通过希尔伯特变换(hilbert)求解每个模态函数uk(t)的边际谱,得到分量的单边频谱为:
[0015][0016]
其中,δ(t)是冲激函数,j是虚部,t代表时间,“*”表示卷积运算,k是模态分量的总数。
[0017]
2.3.2对每一模态函数对应中心频率wk的指数项混叠,通过将uk(t)的每个模态函数的频谱调制到基频带:
[0018][0019]
其中,是复平面上模态函数中心频率的相量描述,wk是第k个模态分量相应的中心频率。
[0020]
2.3.3运用高斯平滑方法对每个模态分量确定其模态的带宽,对于一个原始信号x(t),转变成求解带约束的变分问题:
[0021][0022]
式中:{uk}={u1,...,uk}为分解得到的k个模态函数分量;{wk}={w1,...,wk}为各模态函数imf的中心频率,f(t)为输入信号,为对t求偏导。
[0023]
2.4求解变分问题。
[0024]
2.4.1为了求解该变分模型的最优解引入二次惩罚项α和拉格朗日算子λ,将2.3.3中式子转化为无约束形式来求解目标函数,增广拉格朗日表达式如下:
[0025][0026]
其中,λ(t)为拉格朗日乘子,通过交替乘子方向算法,迭代更新各个模态分量的中心频率ωk以及各模态形态uk,并且计算寻优增广拉格朗日的鞍点。
[0027]
2.4.2对λ1,n进行初始化操作,n=n 1,k=1:k
[0028]
2.4.3在2.4.1式中引入参数α,并将该参数定义为二次惩罚因子。然后通过一种交替方向乘子法,采取反复交替更新的方式去求解,为了更新模态uk,可将
迭代等价为如下最小化问题:
[0029][0030]
其中,x为uk的集和。
[0031]
2.4.4将2.4.3中式子采用parseval/plancherel傅里叶等距变换,将之求解问题转变到频域中:
[0032][0033]
其中,sgn(w wk),分别为f(t),ui(t),λ(t)的傅里叶变换形式。
[0034]
对上式进行转化w用w-wk代替,并将其转为非负频率区间积分样式,然后进行求解:
[0035][0036]
此时,得到二次优化问题的解为:
[0037][0038]
中心频率wk不会出现重构函数的保真项中,只会出现在先前的带宽项中。关于wk等价最小化表达式为:
[0039][0040]
将中心频率转到频域中求解:
[0041][0042]
得到中心频率的更新表达式:
[0043][0044]
式中:为当前剩余分量的维纳滤波,为当前模态函数功率谱的重心,对进行傅里叶逆变换,实部则为{uk(t)}。
[0045]
2.4.5通过下式完成对λ的更新
[0046][0047]
2.4.6设定判断阈值ε,重复以上步骤直到下式满足判断阈值迭代停止。
[0048][0049]
2.4.7得到k个子序列imf。
[0050]
s3.用lasso算法对每一个用电能耗子序列进行数据变量筛选,筛选出具有代表性的预测变量,将其作为预测模型的输入;具体步骤如下:
[0051]
3.1lasso回归算法是一种同时进行特征选择和正则化的线性回归分析方法。在一般线性最小二乘的计算前提下,通过在拟合中采用一范数作为惩罚项来解决算法过拟合的问题;其基本思想是在回归系数绝对值之和小于一个阈值的情况下,使残差平方和最小化,将相关性低的特征变量的系数压缩为0并删除,达到降维的目的。其基本算法理论如下:
[0052]
设定线性回归模型为:
[0053]
y=x
τ
β ε
[0054]
式中,x=[x1,x2,...,xi,...,xn]
τ
,xi=[x
i,1
,x
i,2
,...,x
i,m
]
τ
∈r1×m为经过vmd处理的子序列数据,y=[y1,y2,...,yn]
τ
∈rn×1为响应变量,β=[β1,β2,...,βm]
τ
∈rm×1为模型系数,ε=[ε1,ε2,...,εn]
τ
∈rn×1为误差向量。
[0055]
lasso回归在使得误差平方和达到最小的基础上添加了对回归系数的1范数约束,可以用下式描述:
[0056][0057]
当增加约束函数时,即lasso,具体表示为:
[0058][0059]
其中,λ为参数估计的惩罚系数。
[0060]
3.2lasso具体解决步骤如下:
[0061]
3.2.1将vmd分解出的子序列imf作为lasso算法的输入,划分训练集与测试集;
[0062]
3.2.2通过交叉验证求解λ的参数值,并通过损失函数的最小值确定λ值,衡量回归模型对数据的拟合效果;
[0063]
3.2.3通过lasso回归的函数,改变正则化参数alpha值,将一些不显著的系数β压缩为0,从而达到变量选择的目的;
[0064]
3.2.4对k个imf变量分别进行lasso算法筛选,选择出相关性最强的代表性变量作为cnn-lstm预测模型的输入。
[0065]
s4.用卷积神经网络(cnn)对长短期记忆神经网络(lstm)进行改进,将lasso算法的输出作为cnn-lstm的输入对用电能耗数据进行预测;具体步骤如下:
[0066]
4.1由于lstm神经网络记忆模块的性能不足会导致预测滞后等问题,因此,本文引入卷积神经网络(cnn)对lstm进行改进,在lstm神经网络模型处理数据前,利用卷积神经网络(cnn)提取高阶特征信息提取,在提升模型预测精度的同时降低了计算复杂度。此外,两者使用相同的权重,不仅降低了网络负载增量,还提高lstm神经网络记忆能力。
[0067]
改进后的lstm神经网络模型的三个“门”(遗忘门、输入门以及输出门)计算公式
为:
[0068][0069][0070][0071][0072][0073]ht
=o
t
*tanhc
t
[0074]
其中,是t时刻的输入向量,σ是sigmoid函数和tanh是双曲线正切函数,σ,tanh均为激活函数,遗忘门f
t
,输入门i
t
和输出门o
t
对应的各门限的加权矩阵为wf,wi,wo,各转换偏差值bf,bi和bo,*表示矩阵相乘,h
t
是记忆单元输出的隐含信息,h
t-1
是记忆单元输入的隐含信息,c
t-1
是上一时刻的单元状态,是在当前时刻网络单元状态,即记忆单元,c
t
是下一时刻的输入。
[0075]
4.2 cnn-lstm的模型预测步骤具体如下:
[0076]
4.2.1将各个经过lasso算法提取的变量作为模型的输入数据,将数据重构为符合lstm要求的数据格式,即[样本,时间步,特征];
[0077]
4.2.2建立cnn-lstm模型,通过模型调试寻优,cnn采用卷积层 卷积层 池化层的组合建模,第一层卷积核数量为256,第二层卷积核数量为128;kernel_size=2;激活函数activation为relu;池化层pool_size=2。并建立三层lstm模型,适应性动量估计算法(adam)会对每一个参数计算自适应的学习率,因此使用adam算法作为梯度优化算法;而为了避免在训练数据中出现过拟合的现象,用dropout方法对神经网络进行正则化,以0.15的概率随机丢弃一些神经元之间的权重连接,提升模型的泛化能力。使用“tanh”作为激活函数activation;用“mse”作为损失函数loss;通过模型调试寻优,最终确定batch_size=1000,epochs=5,三层神经元分别为128,128,128。
[0078]
4.2.3通过cnn-lstm模型得出k个imf分量的预测数据集。
[0079]
4.2.4最终将k个imf分量的预测数据集相加,得出最终预测值l(t)。
[0080]
s5.为评估模型预测的效果,采用平均绝对百分比误差(mean absolute percent error,mape)指标对模型的预测对比能力进行量化评估:
[0081][0082]
其中,yi为实际值,y'i为预测值。
[0083]
与现有技术相比,本发明的有益效果在于:
[0084]
(1)本发明在传统的预测方法上提出了一种对数据进行预处理的方法。vmd作为一种自适应、完全非递归的模态变分的方法,有效的避免了在分解结果中出现的模态混叠和端点效应现象,有效的消除了高频噪声信号。
[0085]
(2)本发明用lasso算法对各个子序列的数据变量进行筛选,提取代表性变量作为预测输入,有效捕捉数据特征,提高模型预测准确率;
[0086]
(3)本发明充分利用了cnn强大的空间特征提取能力对高阶特征信息进行提取,改
善了lstm神经网络记忆模块的性能不足会导致预测滞后等问题,在提升模型预测精度的同时降低了计算复杂度,通过对两个模型优势的充分利用,实现了提升模型预测的准确率及解释性。
附图说明
[0087]
图1为vmd-lasso-cnn-lstm模型算法流程图
[0088]
图2为vmd算法流程图
[0089]
图3为cnn-lstm模型原理图
具体实施方式
[0090]
以本实施例中,一种基于prophet-lstm模型的用户用电能耗预测方法,如图1所示,包括:
[0091]
s1.通过智能电表采集用户用电能耗数据,每隔10分钟采集一次用户用电数据,对于其中的缺失值或奇异值,将该值用前后两个值的平均值进行填补,得到原始用电能耗数据。
[0092]
s2.通过变分模态分解(vmd)算法对数据进行预处理,将原始数据序列信号分解成k个不同的子序列,如图2所示。
[0093]
具体步骤如下:
[0094]
2.1变分模态分解(vmd)算法将信号的分解方式转化为变分问题,通过计算受约束变分问题,获取全局最优解,从而实现对信号的分解,在这种循环求解过程中,各个模态分量的中心频率以及带宽不断地更新,最终得到若干个较窄带宽的固有模态分量。
[0095]
2.2定义本征模函数为幅频-调制(am-fm)信号,其表达式为:
[0096][0097]
式中,ak(t)为瞬时幅值,为uk(t)的相位。
[0098]
2.3构造变分问题。
[0099]
2.3.1计算各模块带宽。通过希尔伯特变换(hilbert)求解每个模态函数uk(t)的边际谱,得到分量的单边频谱为:
[0100][0101]
其中,δ(t)是冲激函数,j是虚部,t代表时间,“*”表示卷积运算,k是模态分量的总数。
[0102]
2.3.2对每一模态函数对应中心频率wk的指数项混叠,通过将uk(t)的每个模态函数的频谱调制到基频带:
[0103][0104]
其中,是复平面上模态函数中心频率的相量描述,wk是第k个模态分量相应的中心频率。
[0105]
2.3.3运用高斯平滑方法对每个模态分量确定其模态的带宽,对于一个原始信号x
(t),转变成求解带约束的变分问题:
[0106][0107]
式中:{uk}={u1,...,uk}为分解得到的k个模态函数分量;{wk}={w1,...,wk}为各模态函数imf的中心频率,f(t)为输入信号,为对t求偏导。
[0108]
2.4求解变分问题。
[0109]
2.4.1为了求解该变分模型的最优解引入二次惩罚项α和拉格朗日算子λ,将2.3.3中式子转化为无约束形式来求解目标函数,增广拉格朗日表达式如下:
[0110][0111]
其中,λ(t)为拉格朗日乘子,通过交替乘子方向算法,迭代更新各个模态分量的中心频率ωk以及各模态形态uk,并且计算寻优增广拉格朗日的鞍点。
[0112]
2.4.2对λ1,n进行初始化操作,n=n 1,k=1:k
[0113]
2.4.3在2.4.1式中引入参数α,并将该参数定义为二次惩罚因子。然后通过一种交替方向乘子法,采取反复交替更新和λ
n 1
的方式去求解,为了更新模态uk,可将迭代等价为如下最小化问题:
[0114][0115]
其中,x为uk的集和。
[0116]
2.4.4将2.4.3中式子采用parseval/plancherel傅里叶等距变换,将之求解问题转变到频域中:
[0117][0118]
其中,sgn(w wk),分别为f(t),ui(t),λ(t)的傅里叶变换形式。
[0119]
对上式进行转化w用w-wk代替,并将其转为非负频率区间积分样式,然后进行求解:
[0120]
[0121]
此时,得到二次优化问题的解为:
[0122][0123]
中心频率wk不会出现重构函数的保真项中,只会出现在先前的带宽项中。关于wk等价最小化表达式为:
[0124][0125]
将中心频率转到频域中求解:
[0126][0127]
得到中心频率的更新表达式:
[0128][0129]
式中:为当前剩余分量的维纳滤波,为当前模态函数功率谱的重心,对进行傅里叶逆变换,实部则为{uk(t)}。
[0130]
2.4.5通过下式完成对λ的更新
[0131][0132]
2.4.6设定判断阈值ε,重复以上步骤直到下式满足判断阈值迭代停止。
[0133][0134]
2.4.7得到k个子序列imf。
[0135]
s3.用lasso算法对每一个用电能耗子序列进行数据变量筛选,筛选出具有代表性的预测变量,将其作为预测模型的输入;具体步骤如下:
[0136]
3.1lasso回归算法是一种同时进行特征选择和正则化的线性回归分析方法。在一般线性最小二乘的计算前提下,通过在拟合中采用一范数作为惩罚项来解决算法过拟合的问题;其基本思想是在回归系数绝对值之和小于一个阈值的情况下,使残差平方和最小化,将相关性低的特征变量的系数压缩为0并删除,达到降维的目的。其基本算法理论如下:
[0137]
设定线性回归模型为:
[0138]
y=x
τ
β ε
[0139]
式中,x=[x1,x2,...,xi,...,xn]
τ
,xi=[x
i,1
,x
i,2
,...,x
i,m
]
τ
∈r1×m为经过vmd处理的子序列数据,y=[y1,y2,...,yn]
τ
∈rn×1为响应变量,β=[β1,β2,...,βm]
τ
∈rm×1为模型系数,ε=[ε1,ε2,...,εn]
τ
∈rn×1为误差向量。
[0140]
lasso回归在使得误差平方和达到最小的基础上添加了对回归系数的1范数约束,可以用下式描述:
[0141][0142]
当增加约束函数时,即lasso,具体表示为:
[0143][0144]
其中,λ为参数估计的惩罚系数。
[0145]
3.2 lasso具体解决步骤如下:
[0146]
3.2.1将vmd分解出的子序列imf作为lasso算法的输入,划分训练集与测试集;
[0147]
3.2.2通过交叉验证求解λ的参数值,并通过损失函数的最小值确定λ值,衡量回归模型对数据的拟合效果;
[0148]
3.2.3通过lasso回归的函数,改变正则化参数alpha值,将一些不显著的系数β压缩为0,从而达到变量选择的目的;
[0149]
3.2.4对k个imf变量分别进行lasso算法筛选,选择出相关性最强的代表性变量作为cnn-lstm预测模型的输入。
[0150]
s4.用卷积神经网络(cnn)对长短期记忆神经网络(lstm)进行改进,其原理图如图3所示。将lasso算法的输出作为cnn-lstm的输入对用电能耗数据进行预测,具体步骤如下:
[0151]
4.1由于lstm神经网络记忆模块的性能不足会导致预测滞后等问题,因此,本文引入卷积神经网络(cnn)对lstm进行改进,在lstm神经网络模型处理数据前,利用卷积神经网络(cnn)提取高阶特征信息提取,在提升模型预测精度的同时降低了计算复杂度。此外,两者使用相同的权重,不仅降低了网络负载增量,还提高lstm神经网络记忆能力。
[0152]
改进后的lstm神经网络模型的三个“门”(遗忘门、输入门以及输出门)计算公式为:
[0153][0154][0155][0156][0157][0158]
ht=ot*tanhct
[0159]
其中,是t时刻的输入向量,σ是sigmoid函数和tanh是双曲线正切函数,σ,tanh均为激活函数,遗忘门ft,输入门i
t
和输出门ot对应的各门限的加权矩阵为wf,wi,wo,各转换偏差值bf,bi和bo,*表示矩阵相乘,ht是记忆单元输出的隐含信息,ht-1
是记忆单元输入的隐含信息,ct-1
是上一时刻的单元状态,是在当前时刻网络单元状态,即记忆单元,ct是下一时刻的输入。
[0160]
4.2 cnn-lstm的模型预测步骤具体如下:
[0161]
4.2.1将各个经过lasso算法提取的变量作为模型的输入数据,将数据重构为符合lstm要求的数据格式,即[样本,时间步,特征];
[0162]
4.2.2建立cnn-lstm模型,通过模型调试寻优,cnn采用卷积层 卷积层 池化层的
组合建模,第一层卷积核数量为256,第二层卷积核数量为128;kernel_size=2;激活函数activation为relu;池化层pool_size=2。并建立三层lstm模型,适应性动量估计算法(adam)会对每一个参数计算自适应的学习率,因此使用adam算法作为梯度优化算法;而为了避免在训练数据中出现过拟合的现象,用dropout方法对神经网络进行正则化,以0.15的概率随机丢弃一些神经元之间的权重连接,提升模型的泛化能力。使用“tanh”作为激活函数activation;用“mse”作为损失函数loss;通过模型调试寻优,最终确定batch_size=1000,epochs=5,三层神经元分别为128,128,128。
[0163]
4.2.3通过cnn-lstm模型得出k个imf分量的预测数据集。
[0164]
4.2.4最终将k个imf分量的预测数据集相加,得出最终预测值l(t)。
[0165]
s5.为评估模型预测的效果,采用平均绝对百分比误差(mean absolute percent error,mape)指标对模型的预测对比能力进行量化评估:
[0166][0167]
其中,yi为实际值,y'i为预测值。
[0168]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献