30种回归预测组合模型的matlab代码

  整理了30种回归预测组合模型的matlab代码,效果优异,配备数据集,选取了MSE、RMSE、MAE、MAPE四种评价指标。模型主要有CNN-BiLSTM-GRU,CNN-BiLSTM-Attention、CNN-BILSTM-Adaboost、ELM-Adaboost、RF-Adaboost、TCN-GRU-Attention、TCN-BiGRU-Attention等等。

代码获取链接:30种回归预测组合模型的matlab代码

1、CNN-GRU

…………训练集误差指标…………

1.均方差(MSE):5.4571

2.根均方差(RMSE):2.336

3.平均绝对误差(MAE):1.8588

4.平均相对百分误差(MAPE):6.1163%

5.R2:75.8178%

…………CNN-BiGRU-测试集误差指标…………

1.均方差(MSE):14.1105

2.根均方差(RMSE):3.7564

3.平均绝对误差(MAE):2.4333

4.平均相对百分误差(MAPE):7.8314%

5.R2:18.7983%

2、CNN-LSSVM

…………训练集误差指标…………

1.均方差(MSE):6.3618

2.根均方差(RMSE):2.5223

3.平均绝对误差(MAE):1.9019

4.平均相对百分误差(MAPE):6.4803%

5.R2:69.0622%

…………CNN-LSSVM测试集误差指标…………

1.均方差(MSE):10.6481

2.根均方差(RMSE):3.2631

3.平均绝对误差(MAE):2.1829

4.平均相对百分误差(MAPE):7.0261%

5.R2:49.9877%

3、ELM-Adaboost

1.均方差(MSE):1510.6054

2.根均方差(RMSE):38.8665

3.平均绝对误差(MAE):29.3337

4.平均相对百分误差(MAPE):0.99604%

5.R2:99.9615%

6.剩余预测残差RPD:50.9503

…………ELM-Adaboost测试集误差指标…………

1.均方差(MSE):703.2068

2.根均方差(RMSE):26.518

3.平均绝对误差(MAE):17.4717

4.平均相对百分误差(MAPE):0.53958%

5.R2:99.9789%

6.剩余预测残差RPD:69.1373

4、RF-Adaboost

…RF-Adaboost训练集误差指标…………

1.均方差(MSE):16131.4795

2.根均方差(RMSE):127.0098

3.平均绝对误差(MAE):86.2572

4.平均相对百分误差(MAPE):2.5626%

5.R2:99.5389%

6.剩余预测残差RPD:14.727

…………RF-Adaboost测试集误差指标…………

1.均方差(MSE):84314.6317

2.根均方差(RMSE):290.3698

3.平均绝对误差(MAE):207.9698

4.平均相对百分误差(MAPE):6.3907%

5.R2:97.3893%

6.剩余预测残差RPD:6.1921

5、tcn-bigru

…………训练集误差指标…………

1.均方差(MSE):10130.8496

2.根均方差(RMSE):100.6521

3.平均绝对误差(MAE):69.7368

4.平均相对百分误差(MAPE):1.2992%

5.R2:99.7207%

…………训练集误差指标…………

1.均方差(MSE):10130.8496

2.根均方差(RMSE):100.6521

3.平均绝对误差(MAE):69.7368

4.平均相对百分误差(MAPE):1.2992%

5.R2:99.7207%

…………tcn-bigru测试集误差指标…………

1.均方差(MSE):21390.8906

2.根均方差(RMSE):146.2563

3.平均绝对误差(MAE):95.9158

4.平均相对百分误差(MAPE):1.7985%

5.R2:99.4693%

  • 17
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
梯度提升回归树(Gradient Boosting Regression Tree)是一集成学习方法,它通过迭代地训练多个回归模型,并将它们组合起来,来达到更好的回归预测效果。下面是一个基于Matlab的梯度提升回归模型的实现代码示例: ```matlab % 导入数据 data = load('data.mat'); X = data.X; y = data.y; % 设置梯度提升回归树的参数 numIter = 100; % 迭代次数 learnRate = 0.1; % 学习率 maxDepth = 3; % 回归树的最大深度 % 初始化预测值为常数 F0 = mean(y); % 训练多个回归模型,并将它们组合起来 for k = 1:numIter % 计算残差 resid = y - F0; % 训练回归模型 tree = fitrtree(X, resid, 'MaxNumSplits', maxDepth); % 根据回归模型预测值 pred = predict(tree, X); % 更新预测值 Fk = F0 + learnRate * pred; F0 = Fk; % 计算当前回归模型的损失 loss = sum((y - Fk).^2); % 输出每次迭代的损失 disp(['Iteration: ' num2str(k) ', Loss: ' num2str(loss)]); end % 使用梯度提升回归模型进行预测 y_pred = Fk; ``` 在以上代码中,我们首先导入数据,然后设置梯度提升回归模型的参数,包括迭代次数(numIter)、学习率(learnRate)和回归树的最大深度(maxDepth)。 然后,我们初始化预测值为常数F0,然后开始迭代训练多个回归模型。在每次迭代中,我们计算残差,然后使用fitrtree函数训练一棵回归模型,并根据该模型的预测值更新预测值Fk,最后计算当前回归模型的损失并输出。 最后,我们使用训练完成的梯度提升回归模型进行预测,得到预测值y_pred。 上述代码仅为梯度提升回归模型的一个简单实现示例,实际应用中可能需要更多的参数设置和模型调优。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值