【SVM时间序列预测】粒子群算法优化支持向量机PSO-SVM时间序列预测【含Matlab源码 259期】

⛄一、运行结果

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

✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式
⛳️座右铭:行百里者,半于九十。

更多Matlab仿真内容点击👇
Matlab图像处理(进阶版)
路径规划(Matlab)
神经网络预测与分类(Matlab)
优化求解(Matlab)
语音处理(Matlab)
信号处理(Matlab)
车间调度(Matlab)

⛄二、粒子群算法优化SVM预测简介

1 支持向量机方法
支持向量机的理论基础是结构风险最小化原则和VC维理论, 它是一种新型的机器学习方法, 并不是单纯地考虑经验风险, 还考虑了置信风险, 相比于传统的统计方法, 具有更强的推广能力, 能较好地解决非线性、高维度、局部极小等问题。SVM是在低维空间寻找最优分类面存在困难, 就将输入空间通过内积函数的变换映射到高维空间, 使得高维空间变得线性可分, 从而寻找到最优分类面。

在支持向量机方法中, 把线性可分推广到非线性可分, 引进适当的变换, 将原本在低维空间的训练点映射到高维Hilbert空间, 然后在高维空间中寻找一个超维平面, 使得这些样本点在高维空间中变得线性可分。在这个转化过程中, 最关键的就是找到这个非线性变换映射函数。Vapnik提出了核函数的方法, 该方法通过找到一个函数K (·, ·) , 使得K (xi, yj) =φ (xi) ·φ (xj) , 从而避免了高维的点积运算, 这样我们不需要知道映射函数φ (x) 的具体形式。
在这里插入图片描述
相应的决策函数为
在这里插入图片描述
在实际问题中, 比较常见的是非线性问题, 而核函数的正确选取是解决非线性函数的关键。常见的核函数主要有3类, 分别是多项式核函数、高斯核函数和神经网络核函数。其中, 高斯核函数是效果最好的核函数, 这是因为它所对应的Hilbert空间的维数是无穷, 而有限训练样本在该Hilbert空间中肯定是线性可分的。由于该核函数只有一个参数σ, 寻优时间耗费比较少, 准确性也较高, 能很好解决许多问题。正是高斯核函数具有这种优势, 因而在工程实际中常被广泛应用。惩罚系数C和核函数参数σ是影响支持向量分类机的性能两个主要因素, 而核函数参数σ决定高斯核半径的大小, 若能选取合适的参数, 就能将训练样本在特征空间中正确分类。

在高斯核函数分类过程中, 针对事前预测的风险与实际存在风险承担的多少, 惩罚系数C能够很好地掌控与平衡, 将实际风险降到最低。对于某一个具体的分类问题, 在其样本空间中C取值过小时, 虽然置信风险很小, 但是经验风险值会很大, 此时的实际风险并未取得最小值, 称这种现象为“欠学习”。若参数C超过某一确定值后, 支持向量分类机的结构复杂性会变大, 经验风险和推广能力反而不会发生什么变化。

核函数是定义这样一个变换, 可以将平面上不能线性可分的训练点转换到高维空间, 从而能够在高维空间内线性可分。而高斯核函数的参数σ会影响这种变换关系, 影响训练点的可分性。经验风险的选择对降低实际风险具有很大的作用, 而经验风险又被参数σ所影响, 那么选择参数σ就得谨慎。由于置信风险随着VC维的增加而变小, 经验风险随着VC维的增加而变大, 所以要寻求一个合适的VC维使得经验风险和置信风险之和最小, 这样就需要找到一个合适的参数σ。

2 基于PSO—SVM的参数选择
按照上述分析, 为了能够得到较好的分类性能, 提高其泛化能力, 必须寻找合适的惩罚系数C和核函数参数σ。

在过去, 对于参数的选择方法有交叉验证法、网格搜索法、经验法, 但是这些方法寻找到一个合适的值耗费的时间比较长, 效率很低。所以, 可以考虑寻找一种更为迅速快捷的优化方式来对参数进行优化。PSO算法参数少, 容易实现, 在训练过程中, 对种群数量M、最大搜索次数N等参数的调整非常方便, 可以更快地获得优化的参数, 因此本文尝试使用PSO优化SVM分类器的参数。

2.1 交叉验证优化支持向量机参数选择
该方法的主要步骤如下:设定参数 (C, σ) , 且lg C∈[-10, 10], lgσ∈[-10, 10], 且对步长lg1网格搜索C和σ;选取全局最小值, 进而确定最优参数。其中,
在这里插入图片描述
式中:n为样本总数;Gi为以第i个样本为验证样本的测试集;yi为第i个样本实际值;yi*为第i样本的SVM输出值。

十倍交叉验证就是将一个数据集划分成10份, 对其中1份进行轮流测试, 剩余9份作为训练集进行训练, 最后将10次结果的均值作为对算法精度的估计。这种精度测试方法虽然常用, 但判断时间相对较长, 判断率相对较低。

2.2 粒子群优化支持向量机的参数选择
粒子群算法不但能加速惩罚因子C和核函数参数σ的寻优过程, 也能达到较高的精度。为了更好提高粒子群算法的性能和效率, 选择最佳的参数是必不可少的。由于参数对支持向量机算法的性能影响很大, 因此, 对参数的选择变得非常重要。本文中利用粒子群算法的全局搜索能力和局部搜索能力, 可以对支持向量机建模过程中所需要的参数进行合理优化, 得到参数的最优解, 其算法流程图如下图1所示。
在这里插入图片描述
图1 粒子群优化支持向量机参数流程图

⛄三、部分源代码

clear;clc;close all;
%% load Data;
data=xlsread(‘SVM训练数据-改.xls’,‘负荷明细数据’,‘B3:B6602’);
% 6600/24=275天
%上一天24个数据作为输入 预测下一天的24个数据
for i=1:274
X(i,:)=data((i-1)24+1:i24);
Y(i,:)=data(i*24+1:(i+1)*24);
end
% 归一化
[inputn,inputps]=mapminmax(X’,0,1);
X=inputn’;
[outputn,outputps]=mapminmax(Y’,0,1);
Y=outputn’;

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]汪华斌,卢自立,邱杰汉,刘文浩,张玲.基于粒子群算法优化支持向量机的岩爆预测研究[J].地下空间与工程学报. 2017,13(02)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

🍅 仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值