当前位置: 首页 > news >正文

区间预测 | 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));           %  上界
endfor 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

http://www.lryc.cn/news/281541.html

相关文章:

  • 基于深度学习的实例分割的Web应用
  • 20240115如何在线识别俄语字幕?
  • Flink 处理函数(1)—— 基本处理函数
  • Linux系统下编译MPlayer
  • 事务的ACID属性是什么?为什么它们很重要?
  • 计算机毕业设计 基于Java的手机销售网站的设计与实现 Java实战项目 附源码+文档+视频讲解
  • Redis相关命令详解及其原理
  • go语言中的GoMock
  • DIFFWAVE: A VERSATILE DIFFUSION MODEL FOR AUDIO SYNTHESIS (Paper reading)
  • 排序算法8----归并排序(非递归)(C)
  • Golang 里的 context
  • PHP短链接url还原成长链接
  • redis原理(三)redis命令
  • 教程:在Django中实现微信授权登录
  • YOLOv5改进 | 主干篇 | 12月份最新成果TransNeXt特征提取网络(全网首发)
  • 【java八股文】之计算机网络系列篇
  • SpringAMQP的使用
  • MATLAB - 使用运动学 DH 参数构建机械臂
  • 2024年腾讯云新用户优惠云服务器价格多少?
  • 如何在原型中实现继承和多态
  • MySQL/Oracle 的 字符串拼接
  • 【Java SE语法篇】10.String类
  • 【Python】数据可视化--基于TMDB_5000_Movie数据集
  • 学习Vue的插槽总结
  • 第九篇 API设计原则与最佳实践
  • 新版AndroidStudio配置maven阿里云镜像
  • 【OSG案例详细分析与讲解】之十一:【多效果的3D动画】
  • 一道使用LinkedList和Stack解决的算法题
  • 通用外设-W25Q64
  • Spring MVC MVC介绍和入门案例