时序预测 | MATLAB实现基于LSSVM-Adaboost最小二乘支持向量机结合AdaBoost时间序列预测

news2024/12/24 8:26:22

时序预测 | MATLAB实现基于LSSVM-Adaboost最小二乘支持向量机结合AdaBoost时间序列预测

目录

    • 时序预测 | MATLAB实现基于LSSVM-Adaboost最小二乘支持向量机结合AdaBoost时间序列预测
      • 预测效果
      • 基本介绍
      • 模型描述
      • 程序设计
      • 参考资料

预测效果

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

基本介绍

1.MATLAB实现基于LSSVM-Adaboost最小二乘支持向量机结合AdaBoost时间序列预测(风电功率预测);
2.运行环境为Matlab2020b;
3.data为数据集,excel数据,单变量时间序列数据,LSSVM_AdaboostTS.m为主程序,运行即可,所有文件放在一个文件夹;
4.命令窗口输出R2、MAE、MAPE、RMSE多指标评价。

模型描述

LSSVM-AdaBoost是一种将LSSVM和AdaBoost两种机器学习技术结合起来使用的方法,旨在提高模型的性能和鲁棒性。具体而言,AdaBoost则是一种集成学习方法,它将多个弱学习器组合起来形成一个强学习器,其中每个学习器都是针对不同数据集和特征表示训练的。LSSVM-AdaBoost算法的基本思想是将LSSVM作为基模型,利用AdaBoost算法对其进行增强。具体而言,我们可以训练多个LSSVM模型,每个模型使用不同的数据集和特征表示,然后将它们的预测结果组合起来,形成一个更准确和鲁棒的模型。

程序设计

  • 完整源码和数据获取方式:私信回复MATLAB实现基于LSSVM-Adaboost最小二乘支持向量机结合AdaBoost时间序列预测
%% 预测
t_sim1 = predict(net, p_train); 
t_sim2 = predict(net, p_test ); 

%%  数据反归一化
T_sim1 = mapminmax('reverse', t_sim1, ps_output);
T_sim2 = mapminmax('reverse', t_sim2, ps_output);

%%  均方根误差
error1 = sqrt(sum((T_sim1' - T_train).^2) ./ M);
error2 = sqrt(sum((T_sim2' - T_test ).^2) ./ N);


%%  相关指标计算
%  R2
R1 = 1 - norm(T_train - T_sim1')^2 / norm(T_train - mean(T_train))^2;
R2 = 1 - norm(T_test  - T_sim2')^2 / norm(T_test  - mean(T_test ))^2;

disp(['训练集数据的R2为:', num2str(R1)])
disp(['测试集数据的R2为:', num2str(R2)])

%  MAE
mae1 = sum(abs(T_sim1' - T_train)) ./ M ;
mae2 = sum(abs(T_sim2' - T_test )) ./ N ;

disp(['训练集数据的MAE为:', num2str(mae1)])
disp(['测试集数据的MAE为:', num2str(mae2)])

%% 平均绝对百分比误差MAPE
MAPE1 = mean(abs((T_train - T_sim1')./T_train));
MAPE2 = mean(abs((T_test - T_sim2')./T_test));

disp(['训练集数据的MAPE为:', num2str(MAPE1)])
disp(['测试集数据的MAPE为:', num2str(MAPE2)])

%  MBE
mbe1 = sum(abs(T_sim1' - T_train)) ./ M ;
mbe2 = sum(abs(T_sim1' - T_train)) ./ N ;

disp(['训练集数据的MBE为:', num2str(mbe1)])
disp(['测试集数据的MBE为:', num2str(mbe2)])

%均方误差 MSE
mse1 = sum((T_sim1' - T_train).^2)./M;
mse2 = sum((T_sim2' - T_test).^2)./N;

disp(['训练集数据的MSE为:', num2str(mse1)])
disp(['测试集数据的MSE为:', num2str(mse2)])

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/128577926?spm=1001.2014.3001.5501
[2] https://blog.csdn.net/kjm13182345320/article/details/128573597?spm=1001.2014.3001.5501

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Cloud学习(一)【SpringCloud介绍/服务远程调用】

文章目录 单体架构分布式架构微服务微服务技术对比Spring Cloud 介绍服务拆分及远程调用 单体架构 单体架构: 将业务的所有功能集中在一个项目中开发,打成一个包部署。 优点: 架构简单部署成本低 缺点: 耦合度高 分布式架构 …

小程序day04

目标 自定义组件 创建组件 引用组件 局部引用 全局引用 组件的函数定义到metods节点中,梦回vue2. 样式 数据,方法,属性 下划线开头的称为自定义方法,非下划线开头的都是事件处理函数。 神特么,this.datathis.pro…

【计算系统】分布式训练:DDP单机多卡并行实战

分布式训练:DDP单机多卡并行 1. 分布式训练总览1.1 并行方式1.2 PyTorch中数据并行方法1.3 训练原理1. DataParallel(DP)训练原理2. DistributedDataParallel(DDP)多卡训练的原理 2. PyTorch分布式代码实战2.1 不使用DDP和混合精度加速的代码2.2 使用DDP对代码改造后…

2021年06月 Python(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试(1~6级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 对自然数1至n求和,如果将递推式f(n)f(n-1)n(n>1)转化成递归函数,则递归出口是? …

自动出价下机制设计系列 (二) : 面向私有约束的激励兼容机制设计

本文作者:真柏、妙临 欢迎关注:阿里妈妈技术公众号>> 导读:这篇是阿里妈妈在自动出价下机制设计系列的第二篇工作(🔗 第一篇:面向异质目标函数广告主的拍卖机制设计)。在自动出价中&…

猫罐头哪家好?5款良心性价比的猫罐头推荐!

在我们日常的宠物喂养中,猫罐头已经成为了许多猫奴们的必备利器。但面对五花八门的猫罐头品牌,如何为你的猫咪挑选一个既合适又满意的猫罐头呢?作为一家宠物店的老江湖,我已经在宠物行业摸爬滚打了七年,店里的猫儿队伍…

数据库的基础增删查改操作(二)

TOC 一.条件查询的练习题 – 查询英语不及格的同学及英语成绩 ( < 60 ) – 查询语文成绩好于英语成绩的同学 查询语文成绩高于60,英语成绩低于60 查询li开头的学生姓名 1.and与or 查询语文成绩大于80分&#xff0c;且英语成绩大于80分的同学 SELECT * FROM exam_result W…

Anaconda如何创建一个环境

activate env_name 激活环境&#xff0c;env_name&#xff1a;环境名 deactivate env_name 激活环境 conda list …

java八股文(mysql篇)

什么是关系型数据库&#xff1f; 其是建立在关系模型基础上的一种数据库&#xff0c;这种关系分为&#xff1a;一对一&#xff0c;一对多&#xff0c;多对多。 我们的数据存放在表中&#xff0c;在表中会有一至多个字段&#xff0c;一行就是一条数据。 mysql有哪些字段呢&…

pg安装pgagent插件以创建job

一 下载 官方下载地址Download 二 安装 2.1 安装cmake 执行cmake -version查看版本&#xff0c;如果能看到版本信息&#xff0c;就不用重复安装了。 cd /usr/local/ tar xvf cmake-3.16.5-Linux-x86_64.tar.gzcd cmake-3.16.5-Linux-x86_64/binvi /etc/profile 在最后新增…

哇,膜拜,师父竟然懂HARAKIRI的意思(附Linux常用命令)

哇&#xff0c;膜拜&#xff0c;师父竟然懂HARAKIRI的意思 我在看服务器日志的时候&#xff0c;发现有好几行开头都写着HARAKIRI 还以为是什么机制&#xff0c;就去问了问AI&#xff0c;结果它也不懂&#xff0c;百度也没查到 就去问师父&#xff0c;他一下就说出&#xff0c…

Kubernetes - pod详解

Pod基础概念&#xff1a; Pod是kubernetes中最小的资源管理组件&#xff0c;Pod也是最小化运行容器化应用的资源对象。一个Pod代表着集群中运行的一个进程。kubernetes中其他大多数组件都是围绕着Pod来进行支撑和扩展Pod功能的&#xff0c;例如&#xff0c;用于管理Pod运行的S…

动手学Matplotlib画图,Matplotlib 是一个非常强大的 Python 画图工具。【Matplotlib学习笔记】

一、第一章 1.基本用法 import matplotlib.pyplot as plt import numpy as npx np.linspace(-1,1,50) y 2*x 1 plt.plot(x,y) plt.show()2.figure图像 import matplotlib.pyplot as plt import numpy as npx np.linspace(-1,1,50) y1 2*x 1 y2 x**2 plt.figure() plt…

6.ELK之Elasticsearch嵌套(Nested)类型

0、前言 在Elasticsearch实际应用中经常会遇到嵌套文档的情况&#xff0c;而且会有“对象数组彼此独立地进行索引和查询的诉求”。在ES中这种嵌套文档称为父子文档&#xff0c;父子文档“彼此独立地进行查询”至少有以下两种方式&#xff1a; 1&#xff09;父子文档。在ES的5.…

基于人工蜂鸟算法的无人机航迹规划-附代码

基于人工蜂鸟算法的无人机航迹规划 文章目录 基于人工蜂鸟算法的无人机航迹规划1.人工蜂鸟搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用人工蜂鸟算法来优化无人机航迹规划。 …

【kubernetes】k8s组件

文章目录 1、概述2、控制平面组件&#xff08;Control Plane Components&#xff09;2.1 kube-apiserver2.2 etcd2.3 kube-scheduler2.4 kube-controller-manager2.5 cloud-controller-manager 3、Node组件3.1 kubelet3.2 kube-proxy3.3 容器运行时&#xff08;Container Runti…

基础算法-回溯算法-案例

现象&#xff1a; 基础算法-回溯算法-案例 基础算法-回溯算法从不同角度出发 去寻找答案 找到答案或者走不通了(根据需求:找一个答案还是列举全部答案) 则回溯返回继续从下一条路出发 去寻找答案, 一直到走完 常见案例&#xff1a; 案例一&#xff1a; 通过输入一个不重复数…

找到【SVM】中最优的惩罚项系数C

因为本来SVM是想找到间隔最大的分割面&#xff0c;所以C越大&#xff0c;SVC会选择边际更小的&#xff0c;能够更好的分类所有训练点的决策边界&#xff0c;不过模型的训练时间也会越长。如果C的设定值较小&#xff0c;那SVC会尽量最大化边界&#xff0c;决策功能会更简单&…

4.求1000以内的所有完数

#include<stdio.h> // 完数&#xff1a;一个数的所有的真因子 (即除了自身以外的约数)的和&#xff0c;恰好等于它自身 // 1 不是完数 // 4的因子&#xff1a;1 2 4 除了本身 4 不等于 1&#xff0b;2 所以4不是完数void fun(void){int sum,i,j;for(i2;i<1000;i)…

架构师必备-DDD之落地实践

1. 走进 DDD 1.1 为什么要用 DDD &#xff1f; 面向对象设计&#xff0c;数据行为绑定&#xff0c;告别贫血模型&#xff1b;降低复杂度&#xff0c;分而治之&#xff1b;优先考虑领域模型&#xff0c;而不是切割数据和行为&#xff1b;准确传达业务规则&#xff0c;业务优先…