• 大小: 218KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-12-24
  • 语言: Matlab
  • 标签: SVM  回归预测  

资源简介

基于SVM的回归预测分析,MATLAB直接可以运行

资源截图

代码片段和文件信息

%% Matlab神经网络43个案例分析

% 基于SVM的回归预测分析——上证指数开盘指数预测
% by 李洋(faruto)
% http://www.matlabsky.com
% Email:faruto@163.com
% http://weibo.com/faruto 
% http://blog.sina.com.cn/faruto
% 2013.01.01
%% 清空环境变量
function chapter_sh
tic;
close all;
clear;
clc;
format compact;
%% 数据的提取和预处理

% 载入测试数据上证指数(1990.12.19-2009.08.19)
% 数据是一个4579*6的double型的矩阵每一行表示每一天的上证指数
% 6列分别表示当天上证指数的开盘指数指数最高值指数最低值收盘指数当日交易量当日交易额.
load chapter_sh.mat;

% 提取数据
[mn] = size(sh);
ts = sh(2:m1);
tsx = sh(1:m-1:);

% 画出原始上证指数的每日开盘数
figure;
plot(ts‘LineWidth‘2);
title(‘上证指数的每日开盘数(1990.12.20-2009.08.19)‘‘FontSize‘12);
xlabel(‘交易日天数(1990.12.19-2009.08.19)‘‘FontSize‘12);
ylabel(‘开盘数‘‘FontSize‘12);
grid on;

% 数据预处理将原始数据进行归一化
ts = ts‘;
tsx = tsx‘;

% mapminmax为matlab自带的映射函数
% 对ts进行归一化
[TSTSps] = mapminmax(ts12);

% 画出原始上证指数的每日开盘数归一化后的图像
figure;
plot(TS‘LineWidth‘2);
title(‘原始上证指数的每日开盘数归一化后的图像‘‘FontSize‘12);
xlabel(‘交易日天数(1990.12.19-2009.08.19)‘‘FontSize‘12);
ylabel(‘归一化后的开盘数‘‘FontSize‘12);
grid on;
% 对TS进行转置以符合libsvm工具箱的数据格式要求
TS = TS‘;

% mapminmax为matlab自带的映射函数
% 对tsx进行归一化
[TSXTSXps] = mapminmax(tsx12);
% 对TSX进行转置以符合libsvm工具箱的数据格式要求
TSX = TSX‘;

%% 选择回归预测分析最佳的SVM参数c&g

% 首先进行粗略选择: 
[bestmsebestcbestg] = SVMcgForRegress(TSTSX-88-88);

% 打印粗略选择结果
disp(‘打印粗略选择结果‘);
str = sprintf( ‘Best Cross Validation MSE = %g Best c = %g Best g = %g‘bestmsebestcbestg);
disp(str);

% 根据粗略选择的结果图再进行精细选择: 
[bestmsebestcbestg] = SVMcgForRegress(TSTSX-44-4430.50.50.05);

% 打印精细选择结果
disp(‘打印精细选择结果‘);
str = sprintf( ‘Best Cross Validation MSE = %g Best c = %g Best g = %g‘bestmsebestcbestg);
disp(str);

%% 利用回归预测分析最佳的参数进行SVM网络训练
cmd = [‘-c ‘ num2str(bestc) ‘ -g ‘ num2str(bestg)  ‘ -s 3 -p 0.01‘];
model = svmtrain(TSTSXcmd);

%% SVM网络回归预测
[predictmse] = svmpredict(TSTSXmodel);
predict = mapminmax(‘reverse‘predict‘TSps);
predict = predict‘;

% 打印回归结果
str = sprintf( ‘均方误差 MSE = %g 相关系数 R = %g%%‘mse(2)mse(3)*100);
disp(str);

%% 结果分析
figure;
hold on;
plot(ts‘-o‘);
plot(predict‘r-^‘);
legend(‘原始数据‘‘回归预测数据‘);
hold off;
title(‘原始数据和回归预测数据对比‘‘FontSize‘12);
xlabel(‘交易日天数(1990.12.19-2009.08.19)‘‘FontSize‘12);
ylabel(‘开盘数‘‘FontSize‘12);
grid on;

figure;
error = predict - ts‘;
plot(error‘rd‘);
title(‘误差图(predicted data - original data)‘‘FontSize‘12);
xlabel(‘交易日天数(1990.12.19-2009.08.19)‘‘FontSize‘12);
ylabel(‘误差量‘‘FontSize‘12);
grid on;

figure;
error = (predict - ts‘)./ts‘;
plot(error‘rd‘);
title(‘相对误差图(predicted data - original data)/original data‘‘FontSize‘12);
xlabel(‘交易日天数(1990.12.19-2009.08.19)‘‘FontSize‘12);
ylabel(‘相对误差量‘‘FontSize‘12);
grid on;
snapnow;
toc;

%% 子函数 SVMcgForRegress.m
function [msebestcbestg] = SVMcgForRegress(train_labeltraincmincmaxgmingmaxvcstepgstepmsestep)
%SVMcg cross validation by faruto

%
% by faruto
%Email:patrick.lee@foxmail.com QQ:516667408 http://blog.sina.com.cn/faruto BNU
%last modified 2010.01.17
%Super Moderator @ www.ilovematlab.cn

% 若转载请注明:
% faruto and liyang  LIBSVM-farutoUltimat

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5529  2013-08-18 10:59  chapter16\chapter_sh.m

     文件     219976  2010-01-30 18:39  chapter16\chapter_sh.mat

     文件      24872  2013-08-18 11:01  chapter16\html\chapter_sh.html

     文件       3998  2013-08-18 11:01  chapter16\html\chapter_sh.png

     文件       9331  2013-08-18 10:59  chapter16\html\chapter_sh_01.png

     文件      10025  2013-08-18 10:59  chapter16\html\chapter_sh_02.png

     文件      17498  2013-08-18 11:01  chapter16\html\chapter_sh_03.png

     文件      18915  2013-08-18 11:01  chapter16\html\chapter_sh_04.png

     文件      22389  2013-08-18 11:01  chapter16\html\chapter_sh_05.png

     文件      17509  2013-08-18 11:01  chapter16\html\chapter_sh_06.png

     文件      12441  2013-08-18 11:01  chapter16\html\chapter_sh_07.png

     文件      12113  2013-08-18 11:01  chapter16\html\chapter_sh_08.png

     文件      10681  2013-08-18 11:01  chapter16\html\chapter_sh_09.png

     目录          0  2013-08-18 11:01  chapter16\html

     目录          0  2013-08-18 10:59  chapter16

----------- ---------  ---------- -----  ----

               385277                    15


评论

共有 条评论