程序代码:

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 多目标预测相关推荐

  1. MATLAB-基于长短期记忆网络(LSTM)的SP500的股票价格预测 股价预测 matlab实战 数据分析 数据可视化 时序数据预测 变种RNN 股票预测

    MATLAB-基于长短期记忆网络(LSTM)的SP500的股票价格预测 股价预测 matlab实战 数据分析 数据可视化 时序数据预测 变种RNN 股票预测 摘要 近些年,随着计算机技术的不断发展,神 ...

  2. Matlab之DNN:基于Matlab利用神经网络模型(epochs=10000000)预测勒布朗詹姆斯的2018年总决赛(骑士VS勇士)第一场得分、篮板、助攻

    Matlab之DNN:基于Matlab利用神经网络模型(epochs=10000000)预测勒布朗詹姆斯的2018年总决赛(骑士VS勇士)第一场得分.篮板.助攻 目录 输出结果 预测勒布朗詹姆斯的20 ...

  3. 《MATLAB 神经网络43个案例分析》:第32章 小波神经网络的时间序列预测——短时交通流量预测

    <MATLAB 神经网络43个案例分析>:第32章 小波神经网络的时间序列预测--短时交通流量预测 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB ...

  4. 利用MATLAB 2016a进行BP神经网络的预测(含有神经网络工具箱)

    最近一段时间在研究如何利用预测其销量个数,在网上搜索了一下,发现了很多模型来预测,比如利用回归模型.时间序列模型,GM(1,1)模型,可是自己在结合实际的工作内容,发现这几种模型预测的精度不是很高,于 ...

  5. 《Python机器学习——预测分析核心算法》——2.5 用实数值属性预测实数值目标:评估红酒口感...

    本节书摘来异步社区<Python机器学习--预测分析核心算法>一书中的第2章,第2.5节,作者:[美]Michael Bowles(鲍尔斯),更多章节内容可以访问云栖社区"异步社 ...

  6. 【电力预测】基于matlab GUI灰色模型电力负荷预测【含Matlab源码 769期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [电力负荷预测]基于matlab GUI灰色模型电力负荷预测[含Matlab源码 769期] 获取代码方式2: 通过订阅紫极神光博客付费专 ...

  7. AI:人工智能领域算法思维导图集合之有监督学习/无监督学习/强化学习类型的具体算法简介(预测函数/优化目标/求解算法)、分类/回归/聚类/降维算法模型选择思路、11类机器学习算法详细分类之详细攻略

    AI:人工智能领域算法思维导图集合之有监督学习/无监督学习/强化学习类型的具体算法简介(预测函数/优化目标/求解算法).分类/回归/聚类/降维算法模型选择思路.11类机器学习算法详细分类(决策树/贝叶 ...

  8. MATLAB用GARCH-EVT-Copula极值理论模型VaR预测分析股票投资组合

    全文链接:http://tecdat.cn/?p=30426 对VaR计算方法的改进,以更好的度量开放式基金的风险.本项目把基金所持股票看成是一个投资组合,引入Copula来描述多只股票间的非线性相关 ...

  9. 分类预测 | MATLAB实现CNN卷积神经网络数据分类预测

    分类预测 | MATLAB实现CNN卷积神经网络数据分类预测 目录 分类预测 | MATLAB实现CNN卷积神经网络数据分类预测 基本介绍 模型设计 学习总结 参考资料 基本介绍 使用卷积网络的潜在好 ...

  10. 机器学习之MATLAB代码--SSA-CNN-BiLSTM做电池容量预测(十)

    机器学习之MATLAB代码--SSA-CNN-BiLSTM做电池容量预测(十) 代码 数据 结果 代码 代码按照如下顺序: 1. clc close all clear alldata=xlsread ...

最新文章

  1. 五分钟带你了解哈希算法
  2. javascript 计算器、动态时钟、表格复选框全选(扩展)、轮播图、36选7、随机数...
  3. Nacos-服务多级存储模型
  4. python tkinter计算器实例_Python+tkinter使用80行代码实现一个计算器实例
  5. 求剁手的分享,如何简单开发js图表
  6. java遇到无穷大抛异常_Java中一个for语句导致无穷大死循环的例子
  7. Python爬虫抓取 python tutorial中文版,保存为word
  8. Spring Cloud 微服务下的权限解决方案
  9. HDU [1529] || POJ [P1275] Cashier Employment
  10. 企业级 布署 vmvare Esxi 5.0.0 从零开始教程 (二) vSphere clinet 安装
  11. 网关报错:com.netflix.zuul.exception.ZuulException: Filter threw Exception,调用服务和网关陷入死循环,重复报相同的错误
  12. python实践日记二
  13. 深度研报:回顾「NFT」和「元宇宙」冰火两重天的11月
  14. 编译java源文件(在cmd下编译)傻瓜式教学
  15. mysql strict_MySQL模式 Strict Mode知识点详解
  16. 基于WEB在线音乐工厂的设计与实现
  17. 【蜂口 | AI人工智能】三维人脸重建——龙鹏 深度学习与人脸图像应用连载(十)
  18. 工作流Airflow的性能优化,应对dag数目的激增
  19. Chips交互操作和集合论
  20. Opengl入门基础-shader着色器画方形并且填颜色

热门文章

  1. 酷派、华为不能打印log解决办法
  2. 6年iOS开发程序员总结组件化—让你的项目一步到位
  3. SQL Server 2014新特性——基数评估(白皮书阅读笔记)
  4. MVC+Ninject+三层架构+代码生成 -- 总结(四、數據層)
  5. (Question)CSS中position的绝对定位问题
  6. 51单片机实现对24C02进行页写、顺序读取并显示验证
  7. C++代理类,句柄(智能指针)_C++沉思录笔记
  8. 2008找回企业久违的网速
  9. Fedora 7 播放器totem
  10. 小巧的日志记录组件 - 开源研究系列文章