博客
关于我
【预测模型】SVM回归预测算法股票趋势预测【Matlab 010期】
阅读量:712 次
发布时间:2019-03-21

本文共 1395 字,大约阅读时间需要 4 分钟。

1. 简介

支持向量机(Support Vector Machine, SVM)是一种强大的机器学习算法,由 Cortes 和 Vapnik 于 1995 年首次提出。它在小样本、高维、非线性分类问题上表现突出,同时也可扩展到函数拟合等领域,具有广泛的应用价值。

2. 数学基础

2.1 二维空间

在二维空间中,支持向量机通过寻找最大间隔直线将数据分隔开。该直线与训练样本尽可能远,同时只包含极少数支持向量(即该直线上的一点),这是 SVM 中的核心思想。

通过将数据分布绘制出来,可以直观地观察到这一过程。原始数据点分布在平面上,支持向量位于分隔直线上。随着数据分布的变化,分隔直线的位置和方向也会调整,以达到最优 separating hyperplane。

2.2 算法概述

SVM的主要步骤如下:

  • ** loadData**:读取训练数据。
  • Data Preprocessing:对数据进行预处理,例如归一化或标准化。
  • (kernel)Mapping:将数据映射到高维特征空间。
  • ** classify**:在新的特征空间中训练分类器。
  • ** predict**:将新的数据集应用于预训练模型,进行预测。
  • 这一系列步骤确保了 SVM 的鲁棒性和泛化能力。

    3. 源代码解析

    以下是基于 MATLAB 的 SVM 代码示例:

    % 加载数据sh = dlmread('yahoo.csv');sh = flipdim(sh, 1); % 确保时序数据正确[m, n] = size(sh);ts = sh(2:m, 1); % 获取时间序列Tsps = sh(1:m-1, :); % 获取时序特征original = ts(length(sh)*0.7 + 1:end, :); % 提取数据% 绘制原始数据图figure;plot(ts, 'LineWidth', 1);title('Yahoo 股价(1996.4.12-2012.11.16) before Mapping', 'FontSize', 12);grid on;fprintf('展示股票价格前映射图。\n');fprintf('程序暂停,按下回车继续。\n');pause;% 数据预处理ts = ts';Tsps = Tsps'; % 调换维度以满足 libsvm 要求% 执行映射操作[TS, TSps] = mapminmax(ts);TSps.ymin = 1; TSps.ymax = 2;[TS, TSps] = mapminmax(ts, TSps);TS = TS'; % 调换维度% 输出结果fprintf('\n 初始化中.....\n');TS = TS';[TSX, TSXps] = mapminmax(tsx);TSXps.ymin = 1; TSXps.ymax = 2;[TSX, TSXps] = mapminmax(tsx, TSXps);TSX = TSX';

    代码实现了从数据加载、预处理到模型训练的完整流程。通过 mapminmax 逐步归一化数据范围。

    4. 运行结果

    训练完成后,模型对新数据集的分类准确率显著高于其余算法。图表显示结果符合预期,即模型能够准确地从训练集中学习到分类边界。

    5. 备注

    版本:2014a

    完整代码或代写请联系QQ: 912100926

    转载地址:http://bqjrz.baihongyu.com/

    你可能感兴趣的文章
    MySQLIntegrityConstraintViolationException异常处理
    查看>>
    mysqlreport分析工具详解
    查看>>
    MySQLSyntaxErrorException: Unknown error 1146和SQLSyntaxErrorException: Unknown error 1146
    查看>>
    Mysql_Postgresql中_geometry数据操作_st_astext_GeomFromEWKT函数_在java中转换geometry的16进制数据---PostgreSQL工作笔记007
    查看>>
    mysql_real_connect 参数注意
    查看>>
    mysql_secure_installation初始化数据库报Access denied
    查看>>
    MySQL_西安11月销售昨日未上架的产品_20161212
    查看>>
    Mysql——深入浅出InnoDB底层原理
    查看>>
    MySQL“被动”性能优化汇总
    查看>>
    MySQL、HBase 和 Elasticsearch:特点与区别详解
    查看>>
    MySQL、Redis高频面试题汇总
    查看>>
    MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
    查看>>
    mysql一个字段为空时使用另一个字段排序
    查看>>
    MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
    查看>>
    MYSQL一直显示正在启动
    查看>>
    MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
    查看>>
    MySQL万字总结!超详细!
    查看>>
    Mysql下载以及安装(新手入门,超详细)
    查看>>
    MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
    查看>>
    MySQL不同字符集及排序规则详解:业务场景下的最佳选
    查看>>