【预测模型】基于BP神经网络、LSTM、GRNN实现风电功率预测附matlab代码

简介: 【预测模型】基于BP神经网络、LSTM、GRNN实现风电功率预测附matlab代码

 1 简介

风电功率预测结果的准确性,不仅关系到风力发电厂的综合运行效率,也与区域运行成本具备直接联系,基于BP神经网络、LSTM、GRNN实现风电功率预测。经过实例分析,证明设计的方法对风电功率的预测结果误差均在最优误差范围内,预测的数值具有更高的价值。

2 部分代码

%% ARMA 预测

clc,clear,close all

load data%导入数据

T=30;

buchang=size(unnamed,1)-T;%预测步长

y = unnamed(1:T);

[m,n]=size(y);

%% %% 3.确定ARMA模型阶数

% ACF和PACF法,确定阶数

figure

subplot(211),autocorr( y );

subplot(212),parcorr( y );

figure

dy = diff( y );

subplot(211),autocorr( dy );

subplot(212),parcorr( dy );

%% ARIMA 模型

Mdl = arima(5,1,0);

EstMdl = estimate(Mdl,y);

res = infer(EstMdl,y); %res即残差

% 模型验证

figure

subplot(2,2,1)

plot(res./sqrt(EstMdl.Variance))

title('Standardized Residuals')

subplot(2,2,2),qqplot(res)

subplot(2,2,3),autocorr(res)

subplot(2,2,4),parcorr(res)

% 预测

[yF,yMSE] = forecast(EstMdl,buchang,'Y0',y);

UB = yF + 1.96*sqrt(yMSE); %95置信区间下限

LB = yF - 1.96*sqrt(yMSE); %95置信区间下限

yF=[unnamed(1:T);yF];

figure(4)

h4 = plot(unnamed,'b');

hold on

h5 = plot(yF,'r','LineWidth',2);

h6 = plot(m+1:m+buchang,UB,'k--','LineWidth',1.5);

plot(m+1:m+buchang,LB,'k--','LineWidth',1.5);

legend('实际幅值','预测幅值');

xlabel('时间序列')

ylabel('幅值')

title('arma预测图')

bp_mse = mean((yF-unnamed).^2);%mse

disp(['ARMA预测的mse=',num2str(bp_mse)])

bp_mae = mean(abs(yF-unnamed));%mae

disp(['ARMA预测的mae=',num2str(bp_mae)])

bp_rmse = sqrt(mean((yF-unnamed).^2));%均方差

disp(['ARMA预测的rmse=',num2str(bp_rmse)])

3 仿真结果

image.gif编辑

image.gif编辑

4 参考文献

[1]丁宇宇, 陈颖, 周海. 基于MATLAB语言的BP神经网络风电功率超短期预测模型[C]// 中国电机工程学会电力系统自动化专业委员会三届一次会议暨2011年学术交流会. 中国电机工程学会, 2011.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

相关文章
|
3月前
|
传感器 算法 安全
基于分布式模型预测控制DMPC的单向拓扑结构下异构车辆车队研究(Matlab代码实现)
基于分布式模型预测控制DMPC的单向拓扑结构下异构车辆车队研究(Matlab代码实现)
121 4
|
3月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
214 2
|
3月前
|
传感器 机器学习/深度学习 编解码
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
【电缆】中压电缆局部放电的传输模型研究(Matlab代码实现)
130 3
|
3月前
|
机器学习/深度学习 数据采集 算法
基于VMD-CPA-KELM-IOWAl-CSA-LSSVM碳排放的混合预测模型研究(Matlab代码实现)
基于VMD-CPA-KELM-IOWAl-CSA-LSSVM碳排放的混合预测模型研究(Matlab代码实现)
148 5
|
3月前
|
传感器 资源调度 算法
基于无迹卡尔曼滤波(UKF)与模型预测控制(MPC)的多无人机避撞研究(Matlab代码实现)
基于无迹卡尔曼滤波(UKF)与模型预测控制(MPC)的多无人机避撞研究(Matlab代码实现)
171 1
|
3月前
|
机器学习/深度学习 数据采集 并行计算
基于DTW(动态弯曲距离)-Kmeans的时间序列聚类分析模型(Matlab代码实现)
基于DTW(动态弯曲距离)-Kmeans的时间序列聚类分析模型(Matlab代码实现)
339 1
|
3月前
|
机器学习/深度学习 数据采集 传感器
【WOA-CNN-LSTM】基于鲸鱼算法优化深度学习预测模型的超参数研究(Matlab代码实现)
【WOA-CNN-LSTM】基于鲸鱼算法优化深度学习预测模型的超参数研究(Matlab代码实现)
222 0
|
12月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
265 17
|
12月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
226 10
|
12月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。