当前位置: 首页 > news >正文

【光伏功率预测】基于EMD-PCA-LSTM的光伏功率预测模型(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 文献来源

🌈4 Matlab代码、数据、文章讲解


💥1 概述

文献来源:

摘 要:提高光伏发电功率预测精度,对于保证电力系统的安全调度和稳定运行具有重要意义。本文提出一种经验模态分解 (EMD)、主成分分析(PCA)和长短期记忆神经网络(LSTM)相结合的光伏功率预测模型。充分考虑制约光伏输出功率的5种环境因素,首先利用EMD将环境因素序列进行分解,得到数据信号在不同时间尺度上的变化情况,降低环境因素序列的非平稳

性;其次利用PCA提取特征序列的关键影响因子,消除原始序列的相关性和冗余性,降低模型输入的维度;最终利用LSTM网络对多变量特征序列进行动态时间建模,实现对光伏发电功率的预测。采用山西省某电站的8个月实测数据进行验证,实验结果表明,该预测模型较传统光伏功率预测方法有更高的精确度。

关键词:光伏发电;主成分分析;长短期记忆神经网络;经验模态分解;光伏功率预测

光伏功率的准确预测关乎电网的合理调度、安全运行和系统稳定[1-6] 。随着电厂规模的不断扩增,电厂的数据量也呈爆炸式的增长,传统的神经网络光伏功率预测模型[7-10]一方面受电厂来源数据的制约,忽略了部分环境因素对光伏功率的影响[11] ,缺乏对多元环境序列信息的有效利用;另一方面,由于光伏功率与多元环境序列信息呈非线性变化,随着网络输入变量的增多,会导致模型收敛速度减慢[12-14] ,并出现过拟合问题;同时因欠缺对光伏功率随时间变化这 一特性的考量[15] ,限制了预测精度的提升。因此,要提高光伏功率预测模型的准确性,不仅要充分利用影响光伏功率的关键环境因素,也要进一步挖掘光伏功率预测与关键环境因素随时间变化的本质特征。长短期记忆[16] (long short term memory,LSTM)网络模型是深度神经网络的一种形式,适合处理和预测时间序列中间隔和延迟较长的问题,并在工业领域有广泛应用。文献[17]利用长短期记忆模型和时间序列建模在风电功率预测方面进行了研究和探索,但是

将 LSTM 应用于光伏发电功率预测领域的相关研究相对较少[18-19] 。因此,本文以 LSTM 网络为核心构建光伏功率预测模型。

本文在充分考虑制约光伏发电功率的 5 个主要环境因素即太阳辐照度、组件温度、空气温度、相对湿度和大气压力的前提下,针对光伏发电功率具有不稳定性和明显的间歇波

动的特点,提出一种基于 EMD-PCA-LSTM 的光伏输出功率预测模型。利用经验模态分解[20(] empirical mode decomposition,EMD)方法首先将 5 种环境序列进行分解,得到不同时间尺度下的本征模态分量和剩余分量,通过将环境序列分解为各种不同的特征波动序列和细节性,从而将原始环境信号中存在的不同尺度波动或趋势逐级分解出来,产生一系列具有不同特征尺度的数据序列,增加特征的多样性。然后利用主成分分析方法[21(] principal component analysis,PCA)筛选出影响光伏输出功率的关键因子,降低模型输入参数的维度,消除由 EMD分解得到的不同波动序列的冗余性和相关性。最后,通过 LSTM 神经网络完成对多变量时间序列和光伏功率序列之间的动态时间建模,构建预测模型,最终实现对光伏输出功率的预测。与传统的 BP 神经网络[22] 、机器学习算法 XGboost 模型[23] 以及单一的 LSTM 模型、EMD-LSTM模型进行对比分析,结果表明,本文提出的模型预测精度更高

📚2 运行结果

运行视频:

【光伏功率预测】基于EMD-PCA-LSTM的光伏功率预测模型(Matlab代码实现)

 

 

🎉3 文献来源

部分理论来源于网络,如有侵权请联系删除。

[1]张雲钦,程起泽,蒋文杰,刘晓峰,沈亮,陈泽华.基于EMD-PCA-LSTM的光伏功率预测模型[J].太阳能学报,2021,42(09):62-69.DOI:10.19912/j.0254-0096.tynxb.2019-0817.

🌈4 Matlab代码、数据、文章讲解

http://www.lryc.cn/news/2213.html

相关文章:

  • 大数据Kylin(二):Kylin安装使用
  • 我们的微服务中为什么需要网关?
  • 互联网医院源码 线上问诊 智慧医院源码 C#源码
  • 基于昇腾计算语言AscendCL开发AI推理应用
  • JS document.write()换行
  • Java高级-集合-Collection部分
  • Android性能优化:getResources()与Binder交火导致的界面卡顿优化
  • 常见的内存操作函数
  • python关键字
  • C语言 | 预处理知识详解 #预处理指令有哪些?他们如何使用?宏和函数有哪些区别?...#
  • 如何实现LFU缓存(最近最少频率使用)
  • 【C++之容器篇】精华:vector常见函数的接口的熟悉与使用
  • InstructGPT
  • RTOS之一环境搭建(基于TM4C123GXL)
  • 151、【动态规划】AcWing ——2. 01背包问题:二维数组+一维数组(C++版本)
  • DS期末复习卷(二)
  • 大数据技术架构(组件)31——Spark:Optimize--->JVM On Compute
  • ETL基础概念及要求详解
  • 刷题记录:牛客NC23054华华开始学信息学 线段树+分块
  • 二叉搜索树(查找,插入,删除)
  • C# PictureEdit 加载图片
  • 3种方法设置PDF“打开密码”,总有一种适合你
  • 第三章 数据链路层(点到点的传输服务)-计算机网络(笔记)
  • volatile关键字与CAS机制
  • LeetCode题解 动态规划(四):416 分割等和子集;1049 最后一块石头的重量 II
  • 【FFMPEG源码分析】从ffplay源码摸清ffmpeg框架(二)
  • PCIE 学习笔记(入门简介)
  • 锁的优化机制了解嘛?请进!
  • 5.点赞功能 Redis
  • Java序列化和反序列化(详解)