【MATLAB第51期】基于MATLAB的WOA-ORELM-LSTM多输入单输出回归预测模型,鲸鱼算法WOA优化异常鲁棒极限学习机ORELM超参数,修正LSTM残差

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 残差修正一般适用于LSTM参数较好,数据集较好的情况。在此基础上,若通过进化算法优化LSTM参数会增加运行工作量。而残差修正一般适用于时间序列预测,用进化算法优化残差修正模型比深度学习模型的收敛速度快不少。残差修正后的结果,也可以对未来进行修正预测,但是研究意义大于实用意义。

【MATLAB第51期】基于MATLAB的WOA-ORELM-LSTM多输入单输出回归预测模型,鲸鱼算法WOA优化异常鲁棒极限学习机ORELM超参数,修正LSTM残差

一、效果展示

1.鲸鱼算法优化ORELM隐含层节点及C值2超参。
b88d2a837e9889cc18b6bf24f7abe381_60f631e6aef849de92c11ce66cd8641a.png

2.ORELM优化前后对比
image.png

3.WOA-ORELM修正LSTM残差效果。
af8e4af36bf5fffa1e321985d0918472_d02381f9eceb4996b534834dd35cf957.png

二、数据展示

一列数据,案例数据为541个样本,测试最后30个样本。
数据标准化处理。

data=xlsread('数据.xls');
data1=data';
N=30;%预测个数   
N1=size(data,1)-N;
numTimeStepsTrain = floor(N1);%N1数据训练 ,剩余30用来测试
dataTrain = data(1:numTimeStepsTrain+1,:);% 训练数据
dataTest = data(numTimeStepsTrain:end,:); % 预测数据
%标准化处理
mu = mean(dataTrain,'ALL');
sig = std(dataTrain,0,'ALL');
dataTrainStandardized = (dataTrain - mu) / sig;
XTrain = dataTrainStandardized(1:end-1,:);%训练输入
YTrain = dataTrainStandardized(2:end,:);%训练输出

三、LSTM模型结果

LSTM采用默认参数,测试集预测结果如下:
c48ff1a692bdce1540f027bafbdf523e_b127cf115169423c9a14e46087f38a33.png

四、WOA-ORELM模型

1.WOA-ORELM优化LSTM残差。

error=YPred-YTest;% 残差
ELMXTrain = error(:,1:end-1);%训练输入 
ELMYTrain = error(:,2:end,:);%训练输出

2.鲸鱼算法WOA参数设置:

SearchAgents_no=100; % Number of search agents 种群数量
Max_iteration=20; % Maximum numbef of iterations 设定最大迭代次数
lb=[0.1,10]; % C值  和 隐含层神经元数
ub=[2^30,200];
dim=2;
fobj=@minerror;

3.最终结果

-----------1------------
ORELM_LSTM均方根误差(RMSE):0.003523
ORELM_LSTM平均绝对误差(MAE):0.0025534
ORELM_LSTM平均相对百分误差(MAPE):0.37779%
ORELM_LSTM R-square决定系数(R2):0.98497
-----------2------------
WOA-ORELM-LSTM均方根误差(RMSE):0.0019373
WOA-ORELM-LSTM平均绝对误差(MAE):0.0017745
WOA-ORELM-LSTM平均相对百分误差(MAPE):0.26036%
WOA-ORELM-LSTM R-square决定系数(R2):0.99873

五、分析总结

  1. 残差修正一般适用于LSTM参数较好,数据集较好的情况。在此基础上,若通过进化算法优化LSTM参数会增加运行工作量。
  2. 而残差修正一般适用于时间序列预测,用进化算法优化残差修正模型比深度学习模型的收敛速度快不少。
  3. 残差修正后的结果,也可以对未来进行修正预测,但是研究意义大于实用意义。

六、代码获取

私信回复“51期”可获取下载链接,因链接为人工发送,请耐心等待。

相关文章
|
9月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
763 0
|
9月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
392 8
|
9月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
448 8
|
9月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
1078 0
|
9月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
282 0
|
9月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
281 0
|
9月前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
381 8
|
9月前
|
机器学习/深度学习 数据采集 测试技术
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
330 8
|
9月前
|
编解码 运维 算法
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
776 12
|
9月前
|
人工智能 数据可视化 网络性能优化
【顶级SCI复现】虚拟电厂的多时间尺度调度:在考虑储能系统容量衰减的同时,整合发电与多用户负荷的灵活性研究(Matlab代码实现)
【顶级SCI复现】虚拟电厂的多时间尺度调度:在考虑储能系统容量衰减的同时,整合发电与多用户负荷的灵活性研究(Matlab代码实现)
283 9

热门文章

最新文章