区间预测 | MATLAB实现QRFR随机森林分位数回归多输入单输出区间预测

区间预测 | MATLAB实现QRFR随机森林分位数回归多输入单输出区间预测

目录

    • 区间预测 | MATLAB实现QRFR随机森林分位数回归多输入单输出区间预测
      • 效果一览
      • 基本介绍
      • 模型描述
      • 程序设计
      • 参考资料

效果一览

区间预测 | MATLAB实现QRFR随机森林分位数回归多输入单输出区间预测_第1张图片

区间预测 | MATLAB实现QRFR随机森林分位数回归多输入单输出区间预测_第2张图片
区间预测 | MATLAB实现QRFR随机森林分位数回归多输入单输出区间预测_第3张图片
区间预测 | MATLAB实现QRFR随机森林分位数回归多输入单输出区间预测_第4张图片
区间预测 | MATLAB实现QRFR随机森林分位数回归多输入单输出区间预测_第5张图片

基本介绍

MATLAB实现QRFR随机森林分位数回归多输入单输出区间预测
Matlab实现基于QRFR随机森林分位数多变量回归区间预测模型(完整源码和数据)
1.Matlab实现基于QRFR随机森林分位数多变量回归区间预测模型;
2.基于随机森林回归(RFR)分位数多变量回归区间预测,Matlab代码,多变量输入单变量输出模型(最后一列输出),data为数据集,QRFR为主程序,其余为函数文件,无需运行;
3.评价指标包括:R2、MAE、MSE、RMsE和区间覆盖率和区间平均宽度百分比等,代码质量极高,方便学习和替换数据;
4.运行环境Matlab2018及以上。

模型描述

随机森林(Random Forest)是一种集成学习算法,它基于多个决策树进行预测,并通过投票或平均值的方式来得出最终的预测结果。随机森林在回归问题中表现良好,可以用于多输入单输出(Multiple Input Single Output,MISO)的回归任务。而预测区间则需要引入分位数回归。
分位数回归(Quantile Regression)是一种回归分析方法,它可以用于对不同分位数的目标值进行预测。在MISO回归任务中,如果需要预测目标值的区间范围,可以使用分位数回归来实现。具体来说,可以训练多个随机森林模型,每个模型用于预测不同分位数的目标值。例如,可以训练一个模型用于预测目标值的下四分位数,另一个模型用于预测目标值的中位数,还有一个模型用于预测目标值的上四分位数等。这些模型可以使用相同的输入特征,但输出不同的目标值。
当需要预测一个输入样本的目标值区间时,可以分别用这些随机森林模型来预测不同分位数的目标值,然后将它们组合起来形成一个区间。例如,可以将下四分位数和上四分位数的预测结果组成一个区间,表示目标值的范围。这样,就可以得到一个可靠的目标值区间预测结果。

程序设计

  • 完整程序和数据获取方式1:私信博主,同等价值程序兑换;

  • 完整程序和数据下载方式2(资源处直接下载):MATLAB实现QRFR随机森林分位数多输入单输出回归区间预测

  • 完整程序和数据下载方式3(订阅《RF随机森林》专栏,数据订阅后私信我获取):MATLAB实现QRFR随机森林分位数多输入单输出回归区间预测

%%  数据集分析
outdim = 1;                                  % 最后一列为输出
num_size = 0.7;                              % 训练集占数据集比例
num_train_s = round(num_size * num_samples); % 训练集样本个数
f_ = size(res, 2) - outdim;                  % 输入特征维度

%%  划分训练集和测试集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);

P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);

%%  数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);

[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);

%%  转置以适应模型
p_train = p_train'; p_test = p_test';
t_train = t_train'; t_test = t_test';

%%  模型创建

%%  仿真测试


%%  数据反归一化
L_sim1 = mapminmax('reverse', l_sim1, ps_output);
L_sim2 = mapminmax('reverse', l_sim2, ps_output);

T_sim1 = mapminmax('reverse', t_sim1, ps_output);
T_sim2 = mapminmax('reverse', t_sim2, ps_output);

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/127931217
[2] https://blog.csdn.net/kjm13182345320/article/details/127418340

你可能感兴趣的:(区间预测,QRFR,随机森林分位数回归,多输入单输出回归预测)