博客
关于我
【预测模型】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/

    你可能感兴趣的文章
    Mysql,sql文件导入和导出
    查看>>
    MYSQL:int类型升级到bigint,对PHP开发语言影响
    查看>>
    Mysql:mysql 5.X 报错 ERROR 1193 (HY000): Unknown system variable ‘validate_password_length‘
    查看>>
    MySQL:MySQL执行一条SQL查询语句的执行过程
    查看>>
    Mysql:SQL性能分析
    查看>>
    mysql:SQL按时间查询方法总结
    查看>>
    MySQL:什么样的字段适合加索引?什么样的字段不适合加索引
    查看>>
    MySQL:判断逗号分隔的字符串中是否包含某个字符串
    查看>>
    MySQL:某个ip连接mysql失败次数过多,导致ip锁定
    查看>>
    MySQL:索引失效场景总结
    查看>>
    Mysql:避免重复的插入数据方法汇总
    查看>>
    MyS中的IF
    查看>>
    M_Map工具箱简介及地理图形绘制
    查看>>
    m_Orchestrate learning system---二十二、html代码如何变的容易
    查看>>
    M×N 形状 numpy.ndarray 的滑动窗口
    查看>>
    m个苹果放入n个盘子问题
    查看>>
    n = 3 , while n , continue
    查看>>
    n 叉树后序遍历转换为链表问题的深入探讨
    查看>>
    N!
    查看>>
    N-Gram的基本原理
    查看>>