热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【ELAMN预测】基于粒子群算法优化ELMAN神经网络实现数据回归预测matlab代码

1简介风能,作为一种重要,有潜力,无污染,可再生、可持续的能源,已经成为全球发电最为迅速的能源之一,越来越受到世界各国的青睐。近年来,为缓解能源短缺问题,改善环境,实现经济乃至人

1 简介

风能,作为一种重要,有潜力,无污染,可再生、可持续的能源,已经成为全球发电最为迅速的能源之一,越来越受到世界各国的青睐。近年来,为缓解能源短缺问题,改善环境,实现经济乃至人类的可持续发展,世界各国纷纷大力发展风能资源。然而,在实际操作中,风能固有的波动性和间歇性通常会增加风能入网的难度,致使风电场输出功率不稳定,严重影响输出的电能质量,大大增加了电网安全性和稳定性运行风险,因此,风速预测在风电相关工作中至关重要,准确、可靠的预测结果不仅有利于调度人员事先掌握风电场的功率变化情况,及时制定调度运行计划,提高能量转换效率、降低风险,增加发电量等,同时也有利于风电并网稳定运行和有效消纳,对可能存在影响电网安全稳定运行的风险及时预警,从而避免风电功率随机波动造成电能损耗甚至电网崩溃。近年来,国内外学者进行了大量风速预测相关研究,风速预测水平得到一定程度的提升。单一预测模型虽简单容易实施,但其预测精度往往较低,难以满足风电场发电的需求。相比之下,基于优化算法和数据分解法的混合预测模型对风速预测性能有很大的提升。然而,现有的模型只是使用单目标优化算法,针对预测模型精度的提高,很少关注预测结果稳定性的增强,涉及多目标优化算法的混合预测模型更是少之又少。因此,这些模型往往会降低预测结果的稳定性,对风电场发电以及风电并网的安全性和稳定性带来巨大的挑战。针对如上问题,本文构建出一个基于粒子群算法和Elman神经网络的混合预测模型,本文所提出的混合预测模型不仅可以降低预测误差,提高风速预测精度,增强预测结果的稳定性,同时对风电场发电的完善,发展以及风电并网安全管理也大有裨益。

图片


2 部分代码

%% 基于ELM的工程费用预测
clc
clear all
close all
%% 读取数据
XX=xlsread('工程费用.xlsx');
data=XX';
% % 训练集比例
[W,D]=size(data);
ratio=0.8;
tr=round(ratio*size(data,1));
%% 训练数据
input_train = data(1:tr,1:D-1)';%输入属性特征数据
output_train= data(1:tr,D)';%输出 修改这里
%% 测试数据
input_test= data(tr+1:end,1:D-1)';%输入属性特征数据
output_test =data(tr+1:end,D)';%输出
%% 数据归一化
% 训练集
[inputn,inputps] = mapminmax(input_train);
[outputn,outputps] = mapminmax(output_train);
% 测试集
input1 = mapminmax('apply',input_test,inputps);
output1 = mapminmax('apply',output_test,outputps);
%% ELM网络设置
% 隐含层神经元数量
hiddennum=10;
%极限学习机神经网络的建立
[IW,B,LW,TF,TYPE] = elmtrain(inputn,outputn,hiddennum,'sig',0);%IW输入层和隐含层之间的连接权值,B隐含层神经元的阀值,LW隐含层与输出层的连接权值,TF隐含层神经元的激活函数
%TYPE表示极限学习机的应用类型,0表示回归、拟合,1表示分类,20表示隐含层神经元的个数
%训练输入的预测结果
Tn_sim= elmpredict(inputn,IW,B,LW,TF,TYPE);
%仿真结果反归一化
T_sim = mapminmax('reverse',Tn_sim,outputps);%反归一化的结果
% 评价指标
R1=eva1(output_train,T_sim);
mape1=eva2(output_train,T_sim);
figure
plot(T_sim,'b-*','linewidth',1)
hold on
plot(output_train,'r-.','linewidth',1)
legend('预测值','实际值')
xlabel('训练集')
ylabel('工程费用')
axis tight
string = {'训练集ELM';['(mape = ' num2str(mape1) ' R^2 = ' num2str(R1) ')']};
title(string)
% %测试集
TTn_sim = elmpredict(input1,IW,B,LW,TF,TYPE);
TT_sim = mapminmax('reverse',TTn_sim,outputps);
R2=eva1(output_test,TT_sim);
mape2=eva2(output_test,TT_sim);
figure
plot(TT_sim,'b-*','linewidth',1)
hold on
plot(output_test,'r-.','linewidth',1)
xlabel('测试集')
ylabel('工程费用')
legend('预测值','实际值')
axis tight
string = {'测试集ELM';['(mape = ' num2str(mape2) ' R^2 = ' num2str(R2) ')']};
title(string)

3 仿真结果


4 参考文献

[1]牟家奇. 基于主成分分析-极限学习机的港口国监督选船研究. Diss. 大连海事大学, 2020.



推荐阅读
  • 深入浅出TensorFlow数据读写机制
    本文详细介绍TensorFlow中的数据读写操作,包括TFRecord文件的创建与读取,以及数据集(dataset)的相关概念和使用方法。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 本文档旨在帮助开发者回顾游戏开发中的人工智能技术,涵盖移动算法、群聚行为、路径规划、脚本AI、有限状态机、模糊逻辑、规则式AI、概率论与贝叶斯技术、神经网络及遗传算法等内容。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 本文详细探讨了KMP算法中next数组的构建及其应用,重点分析了未改良和改良后的next数组在字符串匹配中的作用。通过具体实例和代码实现,帮助读者更好地理解KMP算法的核心原理。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 题目描述:给定n个半开区间[a, b),要求使用两个互不重叠的记录器,求最多可以记录多少个区间。解决方案采用贪心算法,通过排序和遍历实现最优解。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 本文探讨了亚马逊Go如何通过技术创新推动零售业的发展,以及面临的市场和隐私挑战。同时,介绍了亚马逊最新的‘刷手支付’技术及其潜在影响。 ... [详细]
  • 基于2-channelnetwork的图片相似度判别一、相关理论本篇博文主要讲解2015年CVPR的一篇关于图像相似度计算的文章:《LearningtoCompar ... [详细]
author-avatar
你不知道的人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有