区间预测

2023-10-29

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

效果一览

1

2
3
4
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回归任务中,如果需要预测目标值的区间范围,可以使用分位数回归来实现。具体来说,可以训练多个随机森林模型,每个模型用于预测不同分位数的目标值。例如,可以训练一个模型用于预测目标值的下四分位数,另一个模型用于预测目标值的中位数,还有一个模型用于预测目标值的上四分位数等。这些模型可以使用相同的输入特征,但输出不同的目标值。
当需要预测一个输入样本的目标值区间时,可以分别用这些随机森林模型来预测不同分位数的目标值,然后将它们组合起来形成一个区间。例如,可以将下四分位数和上四分位数的预测结果组成一个区间,表示目标值的范围。这样,就可以得到一个可靠的目标值区间预测结果。

程序设计

%%  数据集分析
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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

区间预测 的相关文章

  • C++学习(四八四)anaconda常用命令

    安装tensorflow pip install tensorflow gpu 2 3 0 i https pypi tuna tsinghua edu cn simple pip install tensorflow 安装最新版tenso
  • POJ 2689 Prime Distance(素数区间筛法--经典题)

    大致题意 给定 L R 区间 找出区间内的每个素数 数据范围 1 lt L lt R lt 2 147 483 647 R L lt 1 000 000 R的数值太大 所以不能直接筛 0 R 的 要空间和时间优化 用到区间筛法 另外注意不能
  • 新型的编程语言:eC

    http www cnbeta com articles 61048 htm eC 是一位加拿大人jerome历时十二年开发的一门编译型编程语言 拥有C 项目的性能和Java的跨平台性以及Python的方便性 目前eC拥有自己的IDE 专用
  • android 优秀控件以及开源项目

    原文地址为http www trinea cn Android android open source projects view 作者Trinea 主要介绍那些不错个性化的View 包括ListView ActionBar Menu Vi
  • 设计模式课件

    设计模式 创建型设计模式的分类 定义 结构型设计模式的分类 定义 行为型设计模式的分类 定义 设计模式的分类 在23种设计模式中 每一种属于哪一种的设计模式 设计模式的应用场景 设计模式的图形 考察较少 创建型设计模式的分类 定义 中英文的
  • 【踩雷小记】pytorch用transforms同时旋转图像和标签

    对于transforms中带有概率参数的函数 例如 transforms RandomHorizontalFlip p 0 5 依概率p进行水平翻转 transforms RandomVerticalFlip p 0 5 依概率p进行垂直翻
  • linux I2C之RTC8025、fm24cl16

    说明 主设备I2C 0挂载两个从设备fm24cl16铁电和RTC rx8025t 内核 linux3 10 32 平台 nuc972 1 板级文件修改 arch arm much nuc970 dev c 1 1 i2c 0的platfor

随机推荐

  • HTML-网页-3D旋转相册-创意相册

    HTML 网页 3D旋转相册 代码
  • vue3跨页面锚点定位/页面跳转后使用锚点定位(vue2类似)

    实现效果 跨页面跳转后定位到页面相应位置 这个需求常在官网底部导航栏开发中遇到 vue3 ts开发官网底部导航为例 我的底部导航封装为了一个组件 所以会涉及到父子组件传参 不清楚的伙伴可以去查一下相关资料 注意 这里的跨页面锚点定位分为从一
  • DBUS接口

    我用 CSDN 这个app发现了有技术含量的博客 小伙伴们求同去 DBUS基础知识 非常全面 一起来围观吧 https blog csdn net f110300641 article details 106823611 utm sourc
  • UVa1347 Tour

    题目描述 这道题我想了很久都没有想到 看了lrj的题解才会做 首先可以想到转化成两个人向右走 关键在于状态的设计 设 f i j f i j 为走完了前 max i j max i j 的点 且两个人分别在i j的位置 且 i gt j i
  • LeetCode 336. Palindrome Pairs(回文对)

    原题网址 https leetcode com problems palindrome pairs Given a list of unique words Find all pairs of distinct indices i j in
  • Python爬虫完整代码模版

    以下是一个简单的Python爬虫完整代码模板 用于演示如何使用requests库和BeautifulSoup库爬取网页内容 import requests from bs4 import BeautifulSoup Step 1 发起HTT
  • Warning[Pa050]: non-native end of line sequence detected (this diagnostic is only issued once)

    今天在用IAR软件 给Zigbee程序写注释时 出现了这么一个警告 Warning Pa050 non native end of line sequence detected this diagnostic is only issued
  • OpenGL GLFW入门篇 - 画凸多边形

    效果图 主体代码 void DrawPolygon void glPushMatrix glLoadIdentity glTranslatef 0 0 0 0 0 f 蓝色 glColor3f 0 f 0 f 1 f glBegin GL
  • 递归函数斐波那契数列

    F 0 0 F 1 1 F n F n 1 F n 2 n 2 n N def fibonacci n 求斐波那契数列的第n个数字的值 if n 0 return 0 elif n 1 return 1 else return fibona
  • PHP表单(get,post)提交方式

    PHP 表单处理 PHP 超全局变量 GET 和 POST 用于收集表单数据 form data GET 是通过 URL 参数传递到当前脚本的变量数组 POST 是通过 HTTP POST 传递到当前脚本的变量数组 有一点很重要的事情值得注
  • 【CocosCreator入门】CocosCreator组件

    Cocos Creator是一款流行的游戏开发引擎 具有丰富的组件和工具 其中TiledMap组件可以帮助开发者快速创建 加载和渲染地图 目录 一 组件介绍 二 组件属性 三 脚本控制 3 1加载地图 3 2渲染地图 四 详细说明 五 关闭
  • Mac下Android源码(AOSP)编译环境搭建方法

    一 编译源码的背景环境 Android源码编译有什么困难 AOSP 非常庞大 需要下载 但是他是Google家的 和大陆开发者之间隔着一个GFW 官方文档 推荐使用Ubuntu 14 04进行编译 我用的是MacOS 官网也给了Mac下的编
  • 【学习笔记38】JavaScript中的本地存储

    一 localStorage 浏览器的本地存储 永久存储 打开浏览器存储上之后 关闭浏览器 信息还在 语法 window localStorage setItem key value 注意 value的值必须为字符串 key的书写符合见名知
  • 海量数据处理:MapReduce算法

    MapReduce算法是一种用于处理海量数据的分布式计算模型 它通过将数据分解成多个小任务 并在分布式计算集群中并行执行这些任务 从而实现高效的数据处理 本文将介绍MapReduce算法的原理和实现 并提供相应的源代码示例 MapReduc
  • 计算机金额函数,电脑计算机编程入门教程自学:原生JavaScript实现金额大写转换函数...

    1 function transform tranvalue 2 try 3 var i 1 4 var dw2 new Array 万 亿 大单位 5 var dw1 new Array 拾 佰 仟 小单位 6 var dw new Ar
  • nacos的安装、启动、控制台的打开

    官网 https nacos io zh cn docs quick start html 1 下载nacos包 目前稳定版本1 4 1 方式一 在github上对应下载其中一个即可 https github com alibaba nac
  • Amazon Lightsail——兼具亚马逊云科技的强大功能与 VPS 的简易性

    对于开发者而言 当你想构建系统架构时 你的面前就出现了两种选择 选择一 花时间去亲手挑选每个亚马逊云科技组件 云服务器 存储 IP 地址等 然后自己组装起来 选择二是只需要一个预先配置且预先组装的系统 就可以运行自己的 Web 应用程序 而
  • java 企业工程管理系统软件源码 自主研发 工程行业适用

    工程项目管理软件 工程项目管理系统 对建设工程项目管理组织建设 项目策划决策 规划设计 施工建设到竣工交付 总结评估 运维运营 全过程 全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一 系统管理 1 数据字典 实现对数据字典标签
  • 我的漫长python之路

    1 为什么我用一个remove却删了两个数
  • 区间预测

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