matlab svr 预测,SVR 多目标预测
程序代码:
close all;
clear;
clc;
format compact;
load i_source.mat;
% 提取数据
[m,n] = size(B);
ts = B(1:180,1);
tsx = B(1:180,2:n);
figure;
plot(ts,'LineWidth',2);
title('点信源波达方向随时间的变化规律','FontSize',12);
xlabel('时间','FontSize',12);
ylabel('波达方向','FontSize',12);
grid on;
% % 数据预处理,将原始数据进行归一化
ts = ts';
tsx = tsx';
% mapminmax为matlab自带的映射函数
% 对ts进行归一化
[TS,TSps] = mapminmax(ts,1,2);
% 画出原始上证指数的每日开盘数归一化后的图像
figure;
plot(TS,'LineWidth',2);
title('原始点信源波达方向归一化后随时间变化的图像','FontSize',12);
xlabel('时间','FontSize',12);
ylabel('归一化后的波达方向','FontSize',12);
grid on;
% 对TS进行转置,以符合libsvm工具箱的数据格式要求
TS = TS';
% mapminmax为matlab自带的映射函数
% 对tsx进行归一化
[TSX,TSXps] = mapminmax(tsx,1,2);
% 对TSX进行转置,以符合libsvm工具箱的数据格式要求
TSX = TSX';
%% 选择回归预测分析最佳的SVM参数c&g
% 首先进行粗略选择:
[bestmse,bestc,bestg] = SVMcgForRegress(TS,TSX,-8,8,-8,8);
% 打印粗略选择结果
disp('打印粗略选择结果');
str = sprintf( 'Best Cross Validation MSE = %g Best c = %g Best g = %g',bestmse,bestc,bestg);
disp(str);
% 根据粗略选择的结果图再进行精细选择:
[bestmse,bestc,bestg] = SVMcgForRegress(TS,TSX,-4,4,-4,4,3,0.5,0.5,0.05);
% 打印精细选择结果
disp('打印精细选择结果');
str = sprintf( 'Best Cross Validation MSE = %g Best c = %g Best g = %g',bestmse,bestc,bestg);
disp(str);
%% 利用回归预测分析最佳的参数进行SVM网络训练
cmd = ['-c ', num2str(bestc), ' -g ', num2str(bestg) , ' -s 3 -p 0.01'];
model = svmtrain(TS,TSX,cmd);
model.Parameters
%%预测两个数据
load i_snr1.mat
% ts = A(180,1);
% tsx = A(180,2:451);
ts=[A(20,1);A(80,1)];
tsx=[A(20,2:451);A(80,2:451)];
ts = ts';
tsx = tsx';
% mapminmax为matlab自带的映射函数
% 对ts进行归一化
[TS,TSps] = mapminmax(ts,1,2);
% 对TS进行转置,以符合libsvm工具箱的数据格式要求
TS = TS';
% mapminmax为matlab自带的映射函数
% 对tsx进行归一化
[TSX,TSXps] = mapminmax(tsx,1,2);
% 对TSX进行转置,以符合libsvm工具箱的数据格式要求
TSX = TSX';
%% SVM网络回归预测
[predict,mse] = svmpredict(TS,TSX,model);
predict = mapminmax('reverse',predict',TSps);
predict = predict'
% 打印回归结果
str = sprintf( '均方误差 MSE = %g 相关系数 R = %g%%',mse(2),mse(3)*100);
disp(str);
t=[20;80];
% t=180;
%% 结果分析
figure;
hold on;
plot(t,ts,'-o');
plot(t,predict,'r-^');
legend('原始数据','回归预测数据');
hold off;
title('原始数据和回归预测数据对比','FontSize',12);
xlabel('时间','FontSize',12);
ylabel('波达方向','FontSize',12);
grid on;
figure;
error = predict - ts';
plot(t,error,'rd');
title('误差图(predicted data - original data)','FontSize',12);
xlabel('时间','FontSize',12);
ylabel('误差量','FontSize',12);
grid on;
figure;
error = (predict - ts')./ts';
plot(t,error,'rd');
title('相对误差图(predicted data - original data)/original data','FontSize',12);
xlabel('时间','FontSize',12);
ylabel('相对误差量','FontSize',12);
grid on;
snapnow;
问题:[predict,mse] = svmpredict(TS,TSX,model);
因为TS是一个列向量,如果svmpredict只能预测单目标,那么我想同时预测两个或多个值怎么办?
所贴的程序为我用model同时预测两个值,但是得到的预测结果不正确。
[本帖最后由 faruto 于 2010-5-16 14:47 编辑]
2010-5-15 13:12 上传
点击文件名下载附件
1.16 MB, 下载次数: 11942
i_source.mat和i_snr1.mat文件
matlab svr 预测,SVR 多目标预测相关推荐
- MATLAB-基于长短期记忆网络(LSTM)的SP500的股票价格预测 股价预测 matlab实战 数据分析 数据可视化 时序数据预测 变种RNN 股票预测
MATLAB-基于长短期记忆网络(LSTM)的SP500的股票价格预测 股价预测 matlab实战 数据分析 数据可视化 时序数据预测 变种RNN 股票预测 摘要 近些年,随着计算机技术的不断发展,神 ...
- Matlab之DNN:基于Matlab利用神经网络模型(epochs=10000000)预测勒布朗詹姆斯的2018年总决赛(骑士VS勇士)第一场得分、篮板、助攻
Matlab之DNN:基于Matlab利用神经网络模型(epochs=10000000)预测勒布朗詹姆斯的2018年总决赛(骑士VS勇士)第一场得分.篮板.助攻 目录 输出结果 预测勒布朗詹姆斯的20 ...
- 《MATLAB 神经网络43个案例分析》:第32章 小波神经网络的时间序列预测——短时交通流量预测
<MATLAB 神经网络43个案例分析>:第32章 小波神经网络的时间序列预测--短时交通流量预测 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB ...
- 利用MATLAB 2016a进行BP神经网络的预测(含有神经网络工具箱)
最近一段时间在研究如何利用预测其销量个数,在网上搜索了一下,发现了很多模型来预测,比如利用回归模型.时间序列模型,GM(1,1)模型,可是自己在结合实际的工作内容,发现这几种模型预测的精度不是很高,于 ...
- 《Python机器学习——预测分析核心算法》——2.5 用实数值属性预测实数值目标:评估红酒口感...
本节书摘来异步社区<Python机器学习--预测分析核心算法>一书中的第2章,第2.5节,作者:[美]Michael Bowles(鲍尔斯),更多章节内容可以访问云栖社区"异步社 ...
- 【电力预测】基于matlab GUI灰色模型电力负荷预测【含Matlab源码 769期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [电力负荷预测]基于matlab GUI灰色模型电力负荷预测[含Matlab源码 769期] 获取代码方式2: 通过订阅紫极神光博客付费专 ...
- AI:人工智能领域算法思维导图集合之有监督学习/无监督学习/强化学习类型的具体算法简介(预测函数/优化目标/求解算法)、分类/回归/聚类/降维算法模型选择思路、11类机器学习算法详细分类之详细攻略
AI:人工智能领域算法思维导图集合之有监督学习/无监督学习/强化学习类型的具体算法简介(预测函数/优化目标/求解算法).分类/回归/聚类/降维算法模型选择思路.11类机器学习算法详细分类(决策树/贝叶 ...
- MATLAB用GARCH-EVT-Copula极值理论模型VaR预测分析股票投资组合
全文链接:http://tecdat.cn/?p=30426 对VaR计算方法的改进,以更好的度量开放式基金的风险.本项目把基金所持股票看成是一个投资组合,引入Copula来描述多只股票间的非线性相关 ...
- 分类预测 | MATLAB实现CNN卷积神经网络数据分类预测
分类预测 | MATLAB实现CNN卷积神经网络数据分类预测 目录 分类预测 | MATLAB实现CNN卷积神经网络数据分类预测 基本介绍 模型设计 学习总结 参考资料 基本介绍 使用卷积网络的潜在好 ...
- 机器学习之MATLAB代码--SSA-CNN-BiLSTM做电池容量预测(十)
机器学习之MATLAB代码--SSA-CNN-BiLSTM做电池容量预测(十) 代码 数据 结果 代码 代码按照如下顺序: 1. clc close all clear alldata=xlsread ...
最新文章
- 五分钟带你了解哈希算法
- javascript 计算器、动态时钟、表格复选框全选(扩展)、轮播图、36选7、随机数...
- Nacos-服务多级存储模型
- python tkinter计算器实例_Python+tkinter使用80行代码实现一个计算器实例
- 求剁手的分享,如何简单开发js图表
- java遇到无穷大抛异常_Java中一个for语句导致无穷大死循环的例子
- Python爬虫抓取 python tutorial中文版,保存为word
- Spring Cloud 微服务下的权限解决方案
- HDU [1529] || POJ [P1275] Cashier Employment
- 企业级 布署 vmvare Esxi 5.0.0 从零开始教程 (二) vSphere clinet 安装
- 网关报错:com.netflix.zuul.exception.ZuulException: Filter threw Exception,调用服务和网关陷入死循环,重复报相同的错误
- python实践日记二
- 深度研报:回顾「NFT」和「元宇宙」冰火两重天的11月
- 编译java源文件(在cmd下编译)傻瓜式教学
- mysql strict_MySQL模式 Strict Mode知识点详解
- 基于WEB在线音乐工厂的设计与实现
- 【蜂口 | AI人工智能】三维人脸重建——龙鹏 深度学习与人脸图像应用连载(十)
- 工作流Airflow的性能优化,应对dag数目的激增
- Chips交互操作和集合论
- Opengl入门基础-shader着色器画方形并且填颜色
热门文章
- 酷派、华为不能打印log解决办法
- 6年iOS开发程序员总结组件化—让你的项目一步到位
- SQL Server 2014新特性——基数评估(白皮书阅读笔记)
- MVC+Ninject+三层架构+代码生成 -- 总结(四、數據層)
- (Question)CSS中position的绝对定位问题
- 51单片机实现对24C02进行页写、顺序读取并显示验证
- C++代理类,句柄(智能指针)_C++沉思录笔记
- 2008找回企业久违的网速
- Fedora 7 播放器totem
- 小巧的日志记录组件 - 开源研究系列文章