svm股票

chenologin2分享 时间:

SVM回归预测程序问题,求帮助

《MATLAB神经网络30个案例分析》里面有一个用SVM做股票开盘价分析的程序 他里面有这么几句 ts = sh(2:m,1); tsx = sh(1:m-1,:); %归一化 。

model = svmtrain(TS,TSX,cmd); [predict,mse, decision_values] = svmpredict(TS,TSX,model); 他这个不是在用训练集预测自己吗?这样有什么意义? 另外我的时间序列每次只有一个数据,预测的时候是不是就只有一个特征? 谢谢!!

svm的模型越大,预测时间会不会变长

SVM理论是在统计学习理论的基础上发展起来的,由于统计学习理论和SVM方法对有限样本情况下模式识别中的一些根本性的问题进行了系统的理论研究,很大程度上解决了以往的机器学习中模型的选择与过学习问题、非线性和维数灾难、局部极小点问题等。

应用SVM进行回归预测的步骤具体如下:1)实验规模的选取,决定训练集的数量、测试集的数量,以及两者的比例;2)预测参数的选取;3)对实验数据进行规范化处理;4)核函数的确定;5)核函数参数的确定。

其中参数的选择对SVM的性能来说是十分重要的,对于本文的核函数使用RBF核函数,对于RBF核函数,SVM参数包括折衷参数C、核宽度C和不敏感参数E。

目前SVM方法的参数、核函数的参数选择,在国际上都还没有形成统一的模式,也就是说最优SVM算法参数选择还只能是凭借经验、实验对比、大范围的搜寻和交叉检验等进行寻优。

实际应用中经常为了方便,主观设定一个较小的正数作为E的取值,本文首先在C和C的一定范围内取多个值来训练,定下各个参数取值的大概范围,然后利用留一法来具体选定参数值 股价时间序列的SVM模型最高阶确定 股价数据是一个时间序列,从时间序列的特征分析得知,股价具有时滞、后效性,当天的股价不仅还与当天各种特征有关,还与前几天的股价及特征相关,所以有必要把前几天的股价和特征作为自变量来考虑。

最高阶确定基本原理是从低阶开始对系统建模,然后逐步增加模型的阶数,并用F检验对这些模型进行判别来确定最高阶n,这样才能更客观反映股票价格的时滞特性。

具体操作步骤如下:假定一多输入单输出回归模型有N个样本、一个因变量(股价)、m- 1个自变量(特征),由低阶到高阶递推地采用SVM模型去拟合系统(这儿的拓阶就是把昨天股价当做自变量,对特征同时拓阶),并依次对相邻两个SVM模型采用F检验的方法判断模型阶次增加是否合适[ 7]。

对相邻两模型SVM ( n)和SVM ( n+ 1)而言,有统计量Fi为:Fi=QSVR (n)- QSVR( n+1)QSVR (n)1N - m n - (m -1)mi =1,2,,, n(1)它服从自由度分别为m和(N - m n - (m -1) )的F分布,其中QSVR (n)和QSVR( n+1)分别为SVR ( n)和QSVR( n+1)的剩余离差平方和,若Fi前向浮动特征筛选 经过上述模型最高阶数的确定后,虽然确定了阶数为n的SVM模型,即n个特征,但其中某些特征对模型的预测精度有不利影响,本文采用基于SVM和留一法的前向浮动特征特征筛选算法选择对提高预测精度有利影响的特征。

令B= {xj: j=1,2,,, k}表示特征全集, Am表示由B中的m个特征组成的特征子集,评价函数MSE (Am)和MSE (Ai) i =1,2,,, m -1的值都已知。

本文采用的前向浮动特征筛选算法如下[9]:1)设置m =0, A0为空集,利用前向特征筛选方法寻找两个特征组成特征子集Am(m =2);2)使用前向特征筛选方法从未选择的特征子集(B -Am)中选择特征xm +1,得到子集Am+1;3)如果迭代次数达到预设值则退出,否则执行4);4)选择特征子集Am+1中最不重要的特征。

如果xm+1是最不重要的特征即对任意jXm +1, J (Am +1- xm+1)FJ(Am +1- xj)成立,那么令m = m +1,返回2) (由于xm+1是最不重要的特征,所以无需从Am中排除原有的特征);如果最不重要的特征是xr( r =1,2,,, m )且MSE (Am+1- xr) 预测评价指标及参比模型 训练结果评估阶段是对训练得出的模型推广能力进行验证,所谓推广能力是指经训练后的模型对未在训练集中出现的样本做出正确反应的能力。

为了评价本文模型的优劣,选择BPANN、多变量自回归时间序列模型( CAR)和没有进行拓阶和特征筛选的SVM作为参比模型。

采用均方误差(mean squared error, MSE)和平均绝对误差百分率(mean ab-solute percentage error, MAPE)作为评价指标。

MSE和MAP定义如下:M SE=E(yi- y^i)2n( 2)MAPE=E| yi- y^i| /yin( 3)其中yi为真值, y^i为预测值, n为预测样本数。

如果得出M SE, MAPE结果较小,则说明该评估模型的推广能力强,或泛化能力强,否则就说明其推广能力较差

数据挖掘工程师一般都做什么?

数据挖掘指的是在长期积累的数据中分析和挖掘有价值的信息以供决策。

这个概念主要还是因为ERP(企业资源计划)和OA(办公自动化)软件系统的广泛使用和发展的基础上出现的一个概念。

因为企业在使用这些软件系统的过程中,虽然运营的状态和管理以及成本有很大的节约,大大提高了企业的运营效率,可是这些系统却只能对企业的状态和管理进行一个状态性的记录,对长期记录下来的这些数据的分析和在挖掘能力是非常有限的,虽然众多软件供应商想出各种办法来利用其这些数据,比如出各种报表甚至自定义的报表,可是仍然受制于ERP和OA本身设计的缺陷,因为它们原本就不是设计来做数据分析的。

想用机器学习做数据预测,大概就是根据材料的以往实验数据预测将来...

展开全部 数据预测不一定需要用到机器学习,回归分析足够了,而且这样的外推常常不一定准确,还需要对结果进行统计学检验,如果要用到机器学习的话我推荐你是用matlab,里面的算法都是封装好的直接使用,我也推荐你几个预测算法GRNN(广义回归神经网络):这个方法涉及到神经网络,对小样本数据有较好预测。

SVM回归预测分析SVM的信息粒化时序回归预测:svm学过机器学习都应该了解,它不仅可以用于分类,同样可用于数据预测外推,一个股票预测的例子很有意思其他的还有自组织竞争网络(模式分类、预测)、灰色神经网络预测原创答案,打字回答不易,如果满意望采纳,谢谢!...

103772