区间预测 | Matlab实现LSSVM-ABKDE的最小二乘支持向量机结合自适应带宽核密度估计多变量回归区间预测

区间预测 | Matlab实现LSSVM-ABKDE的最小二乘支持向量机结合自适应带宽核密度估计多变量回归区间预测

目录

    • 区间预测 | Matlab实现LSSVM-ABKDE的最小二乘支持向量机结合自适应带宽核密度估计多变量回归区间预测
      • 效果一览
      • 基本介绍
      • 程序设计
      • 参考资料

效果一览

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基本介绍

1.Matlab实现LSSVM-ABKDE基于最小二乘支持向量机结合自适应带宽核函数密度估计的多变量回归区间预测(完整源码和数据)
2.LSSVM-ABKDE基于最小二乘支持向量机结合自适应带宽核函数密度估计的多变量回归预测(点预测+概率预测+核密度估计) Matlab语言
3.多变量单输出,包括点预测+概率预测+核密度估计曲线,MatlabR2021a及以上版本运行,提供多种置信区间!评价指标包括R2、MAE、RMSE、MAPE、区间覆盖率picp、区间平均宽度百分比pinaw等。
4.算法新颖,对固定带宽核函数进行了改进。
5.直接替换Excel数据即可用,注释清晰,适合新手小白,直接运行main文件一键出图。
6.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。

在这里插入图片描述

程序设计

  • 完整程序和数据获取方式资源处下载Matlab实现LSSVM-ABKDE的最小二乘支持向量机结合自适应带宽核密度估计多变量回归区间预测。
%%  数据导入
res = xlsread("data.xlsx");

%%  数据分析
res = rmmissing(res);                        % 删除缺失值
num_size = 0.7;                              % 训练集占数据集比例
outdim = 1;                                  % 最后一列为输出
num_samples = size(res, 1);                  % 样本个数
%res = res(randperm(num_samples), :);        % 打乱数据集(不希望打乱时,注释该行)
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';

%%  参数设置
type       = 'f';                % 模型类型f回归,c分类
kernel     = 'RBF_kernel';       % RBF 核函数  
%             poly_kernel        % 多项式核函数 
%             MLP_kernel         % 多层感知机核函数
%             lin_kernel         % 线性核函数
proprecess = 'preprocess';       % 是否归一化
gam = 750;                       % 核函数参数
sig = 25;                        % 惩罚参数

%%  建立模型
model = initlssvm(p_train, t_train, type, gam, sig, kernel, proprecess); 
%% *自适应带宽核密度估计
figure;
[y,t,optim_width,~,~,confb95] = ABKDE(Error);
hold on
window=fill([t,fliplr(t)],[confb95(1,:),fliplr(confb95(2,:))],[7 7 7]/8,'FaceAlpha',0.5);
window.EdgeColor = 'none';
plot(t,confb95(1,:),'Color',[7 7 7]/9,'LineWidth',1);
plot(t,confb95(2,:),'Color',[7 7 7]/9,'LineWidth',1);
plot(t,y,'Color',[0.9 0.2 0.2],'LineWidth',2);
[f0,xi0] = ksdensity(Error,'Function','pdf');
plot(xi0,f0,'LineWidth',1.5,'Color',"#7E2F8E");
xlim([min(t) max(t)]);
legend({'95%置信核密度估计曲线','','','优化自适应带宽核密度估计曲线','未优化固定带宽核密度估计曲线'});
grid on;
ylabel('概率密度');
xlabel('预测误差');
set(gca,'TickDir','out'); 
set(gcf,'color','w')

for m = 1:length(z)
    Q1(m) = QuantSol_FUN(t,y,1-z(m));         %  下界
    Q2(m) = QuantSol_FUN(t,y,z(m));           %  上界
end

for m = 1:length(z)
    Lower(:,m) = T_sim2 + Q1(m);
    Upper(:,m) = T_sim2 + Q2(m);
end

%% *绘图*
PlotProbability(T_sim2,T_test,numel(T_test),Lower,Upper,0,N,[0 100 0]/255); %概率绘图

%% *核密度估计*
time_index = [25;50;75;100]; %确定采样点,注意元素不要超过预测样本的个数!!
num_KD = numel(time_index);
PlotKernelDensity(Lower,Upper,time_index,T_test',num_KD);
set(gcf,'color','w')

参考资料

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/324197.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Spring 篇】SpringMVC的数据响应:编织美妙的返回乐章

在Web开发的舞台上,数据响应就如同一场美妙的音乐演奏,而SpringMVC作为这场音乐的指挥者,如何优雅地将数据传递给前端,引发了无尽的思考和探索。本篇博客将带你走进SpringMVC的数据响应世界,解开其中的奥秘&#xff0c…

在windows11系统上利用docker搭建ubuntu记录

我的windows11系统上,之前已经安装好了window版本的docker,没有安装的小伙伴需要去安装一下。 下面直接记录安装linux的步骤: 一、创建linux容器 1、拉取镜像 docker pull ubuntu 2、查看镜像 docker images 3、创建容器 docker run --…

Kafka消费流程

Kafka消费流程 消息是如何被消费者消费掉的。其中最核心的有以下内容。 1、多线程安全问题 2、群组协调 3、分区再均衡 1.多线程安全问题 当多个线程访问某个类时,这个类始终都能表现出正确的行为,那么就称这个类是线程安全的。 对于线程安全&…

VTK开发调试环境下载(VTK开发环境一步到位直接开发,无需自己配置编译 VS2017+Qt5.12.10+VTK)

一、无与伦比的优势 直接下载代码就可以调试的VTK代码仓库。 二、资源制作原理 这个资源根据VTK源码 编译出动态库文件 pdb lib dll 文件( x64 debug ) 并将这两者同时放在一个代码仓库里,下载就能用。 三、使用方法(vtk-so…

如何结合主从复制,不停服情况下解决分库分表

首先我们要知道主从复制和分库分表两个概念,在此基础上可以将问题分为几个阶段来执行,参考了公众号 双写读老 双写双读 写新读新

为什么单片机上的程序不怎么使用malloc,而PC上经常使用?

为什么单片机上的程序不怎么使用malloc,而PC上经常使用? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿…

【新】Unity Meta Quest MR 开发(一):Passthrough 透视配置

文章目录 📕教程说明📕配置透视的串流调试功能📕第一步:设置 OVRManager📕第二步:添加 OVRPassthroughLayer 脚本📕第三步:在场景中添加虚拟物体📕第四步:设置…

2024年腾讯云服务器配置价格表(机型/磁盘/宽带/CPU)

腾讯云服务器租用价格表:轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年,540元三年、2核4G5M带宽218元一年,2核4G5M带宽756元三年、轻量4核8G12M服务器446元一年、646元15个月,云服务器CVM S5实例2核2G配置280.8元一年…

vue配置qiankun及打包上线

项目结构 基座:vue3 子应用A:vue3 子应用B: react 子应用C:vue3vite 项目目录: 配置基座 首先下载qiankun yarn add qiankun # 或者 npm i qiankun -S 所有子应用也要安装,vue-vite项目安装 cnpm ins…

【shell】读取表格文件的数据

碎碎念 shell在处理复杂问题的时候不具备优势,如果业务环境能够使用python的话用python又简单又好用,但是很多云平台的现场可能需要shell脚本文件(还好是要求bash) 但是现在有一个业务场景就是运维人员会把参数写在excel表格中 …

不同光照下HUD抬头显示器光干扰试验用太阳光模拟器

HUD干扰太阳光模拟器是机载光电系统测试中常见的问题之一。在机载光电系统测试中,太阳光模拟器是一种重要的测试设备,它可以模拟不同光照条件下的机载光电系统性能,为系统优化和调试提供数据支持。然而,当太阳光模拟器与HUD交叉作…

Python之列表中常见的方法

1.创建一个列表 list1 [1, 2, 3, 4] list2 list("1234") print(list1, list2) print(list1 list2) # 以上创建的两个列表是等价的,都是[1, 2, 3, 4] 2.添加新元素 # 末尾追加 a [1, 2, 3, 4, 5] a.append(6) print(a)# 指定位置的前面插入一个元素 a.insert(2, 1…

Java泛型的继承和通配符

泛型的继承和通配符 继承 两个容器所容纳的类类型是有子类父类的关系的 但是容器之间没有 反证法&#xff1a; 假设做法成立 ArrayList<Object> list1 null;ArrayList<String> list2 - new ArrayList<>();list1list2 list 指向list2的容器实例 list1.add&…

积极参与建设“一带一路”,川宁生物与微构工场达成战略合作

2024年1月12日&#xff0c;北京微构工场生物技术有限公司&#xff08;以下简称“微构工场”&#xff09;与伊犁川宁生物技术股份有限公司&#xff08;“川宁生物”&#xff09;宣布签订战略合作协议&#xff0c;双方将共同出资设立合资公司&#xff0c;加速生物制造产业化落地&…

第N1周:one-hot编码案例

>- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营](https://mp.weixin.qq.com/s/rbOOmire8OocQ90QM78DRA) 中的学习记录博客** >- **&#x1f356; 原作者&#xff1a;[K同学啊 | 接辅导、项目定制](https://mtyjkh.blog.csdn.net/)** 1.one-hot编码概念 想…

误删除文件的恢复

记一次误删除文件&#xff0c;恢复过程 ubuntu系统 vscode 写代码 *rm -r * 删除整个目录git 提交代码的时候&#xff0c;删除无用的build目录&#xff0c;错误操作把上一级目录整个删除了。。。 恢复过程 求助同事大佬 “使用rm -r 删除的东西&#xff0c;不经过回收站&…

远距离相位激光测距传感PHR系列性能及通信接口说明

远距离相位激光测距传感PHR系列包含PHR-120100&#xff08;测距120米&#xff09;、PHR-200100&#xff08;测距200米&#xff09;&#xff0c;广泛适用于隧道检测, 堆垛机定位, 行车定位, 工业窑车定位, 智能物流, 高位拣货车定位, AGV避障, 轮渡减震胎定位, 窑车测距, 炼钢厂…

mybatis基本注解、增删改查、结果集映射、一对一、一对多

mybatis注解 基本注解新增删除修改查询 结果映射注解Results结果映射一对一映射一对多映射 基本注解 新增 功能&#xff1a;Insert完成新增操作&#xff0c;类似配置文件的 元素&#xff1b; 说明&#xff1a;新增时所用的参数取值是接口方法的入参&#xff0c;可以是对象&a…

burp靶场-path traversal

路径遍历 1.路径遍历漏洞 ### 什么是路径遍历 路径遍历也称为目录遍历。这些漏洞使攻击者能够读取正在运行应用程序的服务器上的任意文件。这可能包括&#xff1a; 应用程序代码和数据。 后端系统的凭据。 敏感的操作系统文件。### <img src"/loadImage?filename218…

RDMA编程实践-SEND-RECEICVE原语应用

RDMA编程实践 本文描述了RDMA编程过程中的SEND-RECEIVE双边原语的代码实现。包含多个版本&#xff0c;1、client向server发送消息&#xff0c;server回复client收到消息(ACK)&#xff0c;然后两边断开连接。2、server端循环等待客户端建立连接&#xff0c;client发送一次消息后…