哪个好心人谁能帮我申请一个雅虎账户申请国际邮箱?非常感谢,我的邮箱317589739@qq.com

& R语言解读自回归模型
R语言解读自回归模型
,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大。
R语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器。随着越来越多的工程背景的人的加入,R语言的社区在迅速扩大成长。现在已不仅仅是统计领域,教育,银行,电商,互联网….都在使用R语言。
要成为有理想的极客,我们不能停留在语法上,要掌握牢固的数学,概率,统计知识,同时还要有创新精神,把R语言发挥到各个领域。让我们一起动起来吧,开始R的极客理想。
关于作者:
张丹(Conan), 程序员R,Nodejs,Java
weibo:@Conan_Z
转载请注明出处:
时间序列是金融分析中常用到的一种数据格式,自回归模型是分析时间序列数据的一种基本的方法。通过建立自回归模型,找到数据自身周期性的规律,从而帮助我们理解金融市场的发展变化。
在时间序列分析中,有一个常用的模型包括,MA,ARMA,ARIMA,ARCH,GARCH,他们的主要区别是适用条件不同,且是层层递进的,后面的一个模型解决了前一个模型的某个固有问题。本文以AR模型做为开始,将对时间序列分析体系,进行完整的介绍,并用R语言进行模型实现。
由于本文为非统计的专业文章,所以当出现与教课书不符的描述,请以教课书为准。本文力求用简化的语言,来介绍自回归模型的知识,同时配合R语言的实现。
自回归模型介绍
用R语言构建自回归模型
模型识别ACF/PACF
1. 自回归模型(AR)
自回归模型(Autoregressive model),简称AR模型,是统计上一种处理时间序列的方法,用来描述当前值与历史值之间的关系,用变量自身的历史时间数据对自身进行预测,自回归模型必须满足平稳性的要求。比如,时间序列数据集X 的历史各期数据从X1至Xt-1,假设它们为线性关系,可以对当期Xt的表现进行预测。X的当期值等于一个或数个落后期的线性组合,加常数项,加随机误差。
p阶自回归过程的公式定义:
字段解释:
Xt是当期的X的表现
p是阶数,i为从1到p的值
φi是自相关系数
t为时间周期
εt是均值为0,标准差为δ 的随机误差,同时δ是独立于t的
对于一阶自回模型,用AR(1)来表示,简化后的公式为:
自回归是从线性回归分析中发展而来,只是把自变量x对因变量y的分析,变成自变量x对自身的分析。如果你需要了解线性回归的知识,请参考文章。
自回归模型的限制
自回归模型是用自身的数据来进行预测,但是这种方法受到一定的限制:
必须具有平稳性,平稳性要求随机过程的随机特征不随时间变化。
必须具有自相关性,如果自相关系数(φi)小于0.5,则不宜采用,否则预测结果极不准确。
自回归只适用于预测与自身前期相关的现象,即受自身历史因素影响较大的现象。对于受其他因素影响的现象,不宜采用自回归,可以改用向量自回归模型。
平稳性时间序列的特点
平稳性要求产生时间序列Y的随机过程的随机特征不随时间变化,则称过程是平稳的;假如该随机过程的随机特征随时间变化,则称过程是非平稳的。
平稳性是由样本时间序列所得到的拟合曲线,在未来的一段期间内能顺着现有的形态能一直地延续下去;如果数据非平稳,则说明样本拟合曲线的形态不具有延续的特点,也就是说拟合出来的曲线将不符合当前曲线的形态。
随机变量Yt的均值和方差均与时间t无关
随机变量Yt和Ys的协方差只与时间差(步长)t-s有关
对于平稳时间序列在数学上有比较丰富的处理手段,非平稳的时间序列通过差分等手段转化为平稳时间序列处理
2. 用R语言构建自回归模型
了解了自回归模型的定义,我们就可以用R语言来模拟一下自回归模型的构建和计算过程。
生成一个随机游走的数据集,满足平稳性的要求。
# 随机游走的数据集
> set.seed(0)
> x<-w for(t in 2:1000) x[t] tsx head(tsx,15)
[1] 1......4136409
[7] 1......5538238
[13] 2...8174901
> plot(tsx)
# 生成可视化图形
> a<-ar(tsx);a
# 进行自回归建模
ar(x = tsx)
Coefficients:
Order selected 1
sigma^2 estimated as
数据的如图展示:
自相关系数为0.9879 ,这是一个非常强的自相关性,所以上述的数列符合自相关的特性。
R语言中ar()函数提供了多种自相关系数的估计,包括"yule-walker", "burg", "ols", "mle", "yw",默认是用yule-walker方法,常用的方法还有最小二乘法(ols),极大似然法(mle)。
我们用最小二乘法,来进行参数估计。
> b<-ar(tsx,method = "ols");b
ar(x = tsx, method = "ols")
Coefficients:
Intercept: -0.017 (0.03149)
Order selected 1
sigma^2 estimated as
用最小二乘法的计算结果,则自相关系统数为0.9911,截距为-0.017。只有使用最小二乘法进行参数估计的时候,才会有截距。
我们用极大似然法,来进行参数估计。
> d<-ar(tsx,method = "mle");d
ar(x = tsx, method = "mle")
Coefficients:
Order selected 1
sigma^2 estimated as
用极大似然法计算结果,则自相关系统数为0.9904。对于上面3种估计方法,自相关系数的值都是很接近的。
3. 模型识别ACF/PACF
在上面的例子中,我们默认是用一阶的自回归模型AR(1),进行程序实现的。在实际应用中,自回归模型AR时间序列的阶数P是未知的,必须根据实际数据来决定,就要对AR模型定阶数。常的方法就是利用自相关函数(ACF)和偏自相关函数(PACF)来确定自回归模型的阶数。在ACF/PACF不能确定的情况下,还需要用AIC(Aikaike info Criterion)、BIC(Bayesian information criterion)的信息准则函数来确定阶数。
自回归模型的确立过程,是通过确定阶数,参数估计,再次确定阶数的方法进行判断。自相关函数ACF,用来确定采用自回归模型是否合适。如果自相关函数具有拖尾性,则AR模型为合适模型。偏自相关函数PACF用来确定模型的阶数,如果从某个阶数之后,偏自相关函数的值都很接近0,则取相应的阶数作为模型阶数,偏自相关函数通过截尾性确定阶数。
1. 自相关函数ACF(autocorrelation function)
将一个有序的随机变量序列与其自身相比较,这就是自相关函数在统计学中的定义。每个不存在相位差的序列,都与其自身相似,即在此情况下,自相关函数值最大。如果序列中的组成部分相互之间存在相关性(不再是随机的),则由以下相关值方程所计算的值不再为零,这样的组成部分为自相关。
自相关函数反映了同一序列在不同时序的取值之间的相关程序。
ACF的公式为:
Pk,为ACF的标准误差
t,为数据集的长度
k,为滞后,取值从1到t-1,表示相距 k个时间间隔的序列值之间的相关性
Yt,为样本在t时期的值
Yt-k,为样本在t-k时期的值
μ,为样本的均值
所得的自相关值Pk的取值范围为[-1,1],1为最大正相关值,-1则为最大负相关值,0为不相关。
根据上面公式,我们可以手动计算出tsx数据集的ACF值
> u v # 1阶滞后
> p1 # 2阶滞后
> p2 # 3阶滞后
> p3<-sum((x[1:(length(tsx)-3)]-u)*(x[4:length(tsx)]-u))/((length(tsx)-1)*v);p3
[1] 0.9635961
同时,我们可以用R语言中的acf()函数来计算,会打印前30个滞后的ACF值。
> acf(tsx)$acf
[1,] 1.0000000
[2,] 0.9878619
[3,] 0.9760271
[4,] 0.9635961
[5,] 0.9503371
[6,] 0.9384022
[7,] 0.9263075
[8,] 0.9142540
[9,] 0.9024862
[10,] 0.8914740
[11,] 0.8809663
[12,] 0.8711005
[13,] 0.8628609
[14,] 0.8544984
[15,] 0.8462270
[16,] 0.8384758
[17,] 0.8301834
[18,] 0.8229206
[19,] 0.8161523
[20,] 0.8081941
[21,] 0.8009467
[22,] 0.7942255
[23,] 0.7886249
[24,] 0.7838154
[25,] 0.7789733
[26,] 0.7749697
[27,] 0.7709313
[28,] 0.7662547
[29,] 0.7623381
[30,] 0.7604101
[31,] 0.7577333
比较前3个值的计算结果,与我们自己的计算结果是一样的,同时可以用R语言进行可视化输出。
> acf(tsx)
从上图中看出,数据的ACF为拖尾,存在很严重的自相关性。接下来,这时候我们用偏自相关函数确定一下AR的阶数。
2. 偏自相关函数(PACF)(partial autocorrelation function)
偏自相关函数是有自相关函数推到而来。对于一个平稳AR(p)模型,求出滞后k自相关系数p(k)时,实际上得到并不是x(t)与x(t-k)之间单纯的相关关系。因为x(t)同时还会受到中间k-1个随机变量x(t-1)、x(t-2)、……、x(t-k+1)的影响,而这k-1个随机变量又都和x(t-k)具有相关关系,所以自相关系数p(k)里实际掺杂了其他变量对x(t)与x(t-k)的影响。
为了能单纯测度x(t-k)对x(t)的影响,引进偏自相关系数的概念。对于平稳时间序列{x(t)},所谓滞后k偏自相关系数指在给定中间k-1个随机变量x(t-1)、x(t-2)、……、x(t-k+1)的条件下,或者说,在剔除了中间k-1个随机变量x(t-1)、x(t-2)、……、x(t-k+1)的干扰之后,x(t-k)对x(t)影响的相关程度。
简单来说,就是自相关系数ACF还包含了其他变量的影响,而偏自相关系数PACF是严格这两个变量之间的相关性。在ACF中存在着线性关系和非线性关系,偏自相关函数就是把线性关系从自动关系性中消除。当PACF近似于0,表明两个时间点之间的关系性是完全由线性关系所造成的。
通过R语言的pacf()函数来进行偏自相关函数计算。
> pacf(tsx)$acf
# 可视化输出
> pacf(tsx)
从上面的这个结果分析,当滞后为1时AR模型显著,滞后为其他值是PACF的值接近于0不显著。所以,对于数据集tsx来说,数据满足AR(1)的自回归模型。对于上文中参数估计出的1阶自相关系数值是可以用的。
4. 模型预测
通过模型识别,我们已经确定了数据集tsx是符合AR(1)的建模条件的,同时我们也创建了AR(1)模型。接下来,就可以利用这个自回测的模型的进行预测,通过规律发现价值。在R语言中,我们可以用predict()函数,实现预测的计算。
使用AR(1)模型进行预测,并保留前5个预测点。
> predict(a,10,n.ahead=5L)
Time Series:
Frequency = 1
[1] 9.....217627
Time Series:
Frequency = 1
[1] 1.....359189
上面结果中,变量$pred表示预测值,变量$se为误差。
我可以生成可视化的图,更直观的看到预测的结果。
# 生成50个预测值
> tsp plot(tsx)
# 把预测值和误差画出来
> lines(tsp$pred,col='red')
> lines(tsp$pred+tsp$se,col='blue')
> lines(tsp$pred-tsp$se,col='blue')
图中,黑色线为原始数据的,红色线为预测值,蓝色线为预测值的范围。这样我们就利用AR(1)模型,实现了对规律的预测计算。
上面关于预测和可视化的过程,我们是通过原生的predict()函数和plot()函数完成的。在R语言中,可以用forecast包来简化上面的操作过程,让代码更少,操作更便捷。
# 加载forecast包
> library('forecast')
# 生成模型AR(1)
tsp2 plot(tsp2)
查看forecast()计算后的预测结果。
Point Forecast
-15.718 -14..65369
-15.625 -13..32092
-15.472 -13..86966
-15.379 -12..28726
-15.294 -12..58432
-15.125 -12..80922
-15.093 -11..05541
-14.972 -11..28705
-9.6129750
-14.891 -11..47919
-9.2102846
-14.791 -10..65216
-8.8287673
-14.657 -10..80877
-8.4655994
-14.530 -10..95121
-8.1185723
-14.424 -10..08123
-7.7859174
-7.4661903
-7.1581923
-6.8609139
通过forecast()函数,直接生成了Forecast值,80%概率的预测值范围,和95%概率的预测值范围。
在明白了整个自回归模型的设计思路、建模过程、检验条件、预测计算、可视化展示的完整操作后,我们就可以真正地把自回归模型用到实际的业务中。发现规律,发现价值!!
自回归模型只是开始,下一篇继续介绍移动平均模型(MA)的建模和使用过程。
转载请注明出处:
This entry was posted in ,
Designed by【R语言在最优化中的应用】用goalprog包求解线性目标规划
标规划问题及其数学模型目标规划(goal programming) 是运筹学中的一个重要分支,它是为解决多目标决策问题而发展起来的一种数学方法。目标规划可以按照确定的若干目标值及其实现的优先次序,在给定约束条件下寻找偏离目标值最小的解的数学方法。它在处理实际决策问题时,承认各项决策要求 (即使是冲突的)的存在有合理性;在做最终决策时,不强调其绝对意义上的最优性。由于目标规划在一定程度上弥补了线性规划的局限性,因此,目标规划被认为是一种较之线性规划更接近于实际决策工程的工具。目标规划数学模型的一般形式为:(2)模型2的约束条件中,第一行有偏差变量,为目标约束,第二行没有偏差变量,同线性规划里的约束条件一样,为绝对约束。可以证明,在模型2有解的情况下,可以将其化为只含有目标约束的目标规划问题,方法是给所有的绝对约束赋予足够高级别的优先因子,从这个角度来看,线性规划为目标规划的特殊情况,而目标规划则为线性规划的自然推广。根据以上分析,可将模型 (2) 简化并用矩阵和向量记为:(3)模型(3)中,所有的约束都为目标约束,每一个目标约束都对应一对偏差变量。用goalprog包求解目标规划R中,goalprog包 (Novomestky, 2008) 可以求解形式为模型(3) 的目标规划问题,核心函数为llgp(),用法如下:llgp(coefficients, targets,achievements, maxiter = 1000, verbose = FALSE)参数中,coefficients为约束变量(不包括偏差变量) 的系数矩阵,即模型 (3) 中的矩阵 A。targets为系数矩阵对应的约束向量,即模型 (3) 中的向量 g。achievements为关于目标函数 (默认求最小值) 的数据框,是由 4 个向量构成:objective、priority、p和 n。其中数据框的每一行对应一个软约束条件,objective和 priority 为正整数,分别表示针对第几对偏差变量 (第 n 对偏差变量必须出现在第 n 个目标约束中) 和该偏差变量的优先级别,p 和 n 分别表示 d+(正偏差变量)、d-(负偏差变量) 的权系数。maxiter为最大迭代次数,取正整数,默认为 1000。verbose为逻辑变量(取 TRUE或 FALSE ),决定是否输出中间过程,默认不输出。例某工厂生产两种产品,受到原材料供应和设备工时的限制,在单位利润等有关数据已知的条件下,要求制定一个获利最大的生产计划,具体数据见表在决策时,按重要程度的先后顺序,要考虑如下意见:1.原材料严重短缺,生产中应避免浪费,不得突破使用限额;2.由于产品 B 销售疲软,故希望产品 B 的产量不超过产品 A 的一半;3.最好能节约 4 h 的设备工时;4.计划利润不少于 48 元。以上四条意见中,显然第一条为绝对约束,第二至四条为目标约束。请根据这些要求决定两种产品生产量。解:这是典型的多目标规划问题,建立目标规划模型如下:该模型中含绝对约束条件,将绝对约束条件转化为一级目标约束条件,得到模型如下:该模型符合模型 (3) 的形式,可以直接调用 llgp() 函数来求解该问题,注意:R中根据achievements数据框中的 priority 来判断绝对优先级别,不用再设置 P1,P2,P3。R代码和部分输出结果如下:& library(goalprog)& coefficients=matrix(c(5,1,4,6,10,-2,4,8),4)& targets=c(60,0,36,48)& achievements=data.frame(objective=1:4,priority=c(1,2,3,4),p=c(1,0,1,0),n=c(0,1,0,1))& soln=llgp(coefficients,targets,achievements)& soln$converged[1] TRUE& soln$out Decision variables
2.观察输出结果,可以知道该问题已经得到最优解 (soln$converged 为 TRUE 时,表示最优解已经找到),此时 x1,x2分别取 4.8,2.4,即应生产 A 产品 4.8 个单位,B 产品 2.4 个单位。需要说明的是,由于约束较少,本题有四个满意解,这里仅仅得到一个。此外,程序结果输出较多,上面的soln$out 仅选取了一部分。下面再看一个稍微复杂的例子。求下列目标规划问题:解:这是一个多目标规划问题,可以直接调用 llgp() 函数求解。R代码及运行结果如下 (为了便于展示,输出了一些参数的信息):& library(goalprog)& coefficients=matrix(c(1,1,5,1,1,0,3,1),4)& targets=c(10,4,56,12)& achievements=data.frame(objective=1:4,priority=c(1,1,2,3),p=c(2,3,0,1),n=c(0,0,1,0))& soln=llgp(coefficients,targets,achievements)& soln$converged[1] TRUE& soln$out Decision variables
6.析输出结果,可以知道该问题已经得到最优解,此时 x1,x2分别为 4,6。求个红包
& 上一篇:
& 下一篇:
【R语言在最优化中的应用】用goalprog包求解线性目标规划 [相关推荐]
Copyright & , All rights reserved.尚人绣是一家专注于个性生活的网站让现代生活充满个性化色彩。您还可以使用以下方式登录
当前位置:&>&&>& > 数据分析中常见的七种回归分析以及R语言实现(一)--简单线性模型
r语言多元线性回归 数据分析中常见的七种回归分析以及R语言实现(一)--简单线性模型
导读:刚刚学习数据分析的人应该知道回归分析是作为预测用的一种模型,它主要是通过函数来表达因变量(连续值)和自变量变量的关系,通俗的来说就是Y和X的关系通过公式表达出来  刚刚学习数据分析的人应该知道回归分析是作为预测用的一种模型,它主要是通过函数来表达因变量(连续值)和自变量变量的关系,通俗的来说就是Y和X的关系通过公式表达出来;这样能够表明因变量和自变量之间的显著关系并且是函数关系,还可以表明多个自变量对一个因变量的影响强度,回归分析主要运用在预测分析上,虽然说是预测,但是有时候我们的回归模型只是被用来解释现场,并不需要去预测,例如,科学家猜想人的体重和某种特定的食物消耗有关;   1、线性回归   在古典的线性回归模型中是要满足几个假定:   A假设自变量和因变量存在线性关系,具体的说就是假设因变量Y,是一些自变量X1,X2,..,XN的一个线性函数它的表达式   B零均值假定,就是假定回归线通过X与Y的条件均值组成的点;   C同方差假定,就是各个随机误差项的离散程度是相同的,也就是说对于每个X,随机项相对均值的分散程度是相同   D无自相关,就是随机扰动项之间是互不相关的,互补影响,也就是说随机扰动项是完全随机分布的   E因变量和扰动项是完全不相关的假定;   F扰动项正态性假定,就是假定扰动项服从均值为零,方差为司格马的正太分布
  其中回归模型的表达式写法如下   其中e是随机扰动项,也有写法是这样,Y=a+bX+e,其中a是截距项,b是斜率,e是随机扰动项;
     参数最优---最小二乘法   竟然存在参数,那么如何获取到最佳的参数呢,简单线性模型使用的普通最小二乘法,这里就不写明写详细步骤了,这个可以利用搜索引擎查的得到,我就说说它的主要思想就好,因为我们在拟合过程的时候我们要使回归线尽量靠近所有的样本点,这时候我们就要使它们残差尽量小,因为残差是有负有正,所以我们就采用平方去处理,采用平方和最小原则,通过求导,使其导数为零,求解得到最优的参数,这样就能够使回归模型应该使所有观察值的残差平方和最小;大致就是这样,文字描述有些吃力,有什么问题可以评论一起交流   R语言实践   这里我使用的我最近读和做笔记的R语言核心技术手册的包nutshell中的team.batting.00to08数据,这个数据是2000年到2008年棒球队的数据,我们想要看看棒球队的得分和每个变量的关系;   载入数据   library(nutshell)   data(&team.batting.00to08&)   查看数据的前六行      这就说明了数据已经被我们完全的载入进来了,也知道有多少个变量以及变量的名字,这时候我们要大体的知道一下大体的概括,这时候使用的summary()函数   summary(team.batting.00to08)      在棒球中RUNS就是球队的得分,时间是从2000年到2008年等   这时候想看看各个变量之间相关性如何   ,粗劣的使用cor函数得到它们之间的相关系数矩阵,因为数据框存在字符,所以我们要提出第一第二列   cor(team.batting.00to08[,3:10])      大致可以判断的出来得分和跑动距离和全垒打(homerus)相关系数较大;   这里我们经常使用R语言里面的Lm函数去拟合以上变量,然后得到模型,然后使用summary()函数打印更多关于模型的信息   runs.lm &- lm(runs~singles+doubles+triples+homeruns+walks+hitbypitch+sacrificeflies+stolenbases+caughtstealing,data=team.batting.00to08)   summary(runs.lm)      从上图结果可以知道,R的可决系数是0.9114,模型F值较大,通过显著性检验,其中变量caughtstealing和stolenbases和runs不显著的关系,这个需要剔除;   我们可以手动剔除也可以使用step函数自动剔除   runs.lm_a &- lm(runs~singles+doubles+triples+homeruns+walks+hitbypitch+sacrificeflies,data=team.batting.00to08)   runs.lm_b&-step(runs.lm)      这个就讲到这里,这个下面几篇文章会讲到用什么方法得到这样的结果   参考文献代码   R语言核心技术手册 End   号外:12月29日周四晚,甲骨文公司商务智能资深技术顾问赵昌明主讲《Oracle大数据分析之数据探索在金融业的应用》 报名方式 :扫描下方二维码 | 阅读原文就爱阅读网友整理上传,为您提供最全的知识大全,期待您的分享,转载请注明出处。
欢迎转载:
推荐:    那么将损失限制为;策略二:与上述策略类似,但若预测未来价格上升,如;用测试数据集配合以上两个交易策略,可以检验模型的;(三)数据挖掘算法;按照上述方法和策略,分别用不同的算法建立数据挖掘;1.人工神经网络(ArtificialNeura;人工神经网络是一组连接的输入/输出单元,其中每个;利用R中的函数实现一个带有隐藏层的前馈神经网络;(6)其中,是原始变量的
那么将损失限制为。①
策略二:与上述策略类似,但若预测未来价格上升,如果有足够的资金,那么总是建立新的多头仓位,此外,该策略允许一直持有该仓位到达目标利润或达到最大允许的损失,而没有10天的时间限制。
用测试数据集配合以上两个交易策略,可以检验模型的实用情况。
(三)数据挖掘算法
按照上述方法和策略,分别用不同的算法建立数据挖掘模型,将测试数据代入模型,检验模型的精确度,并用测试数据按照前述交易策略模拟真实交易。
1.人工神经网络(Artificial Neural Network, ANN)。
人工神经网络是一组连接的输入/输出单元,其中每个连接都与一个权重相关联。在学习阶段,通过调整这些权重,使得它能够预测输入元组的正确类标号来学习。神经网络的优点包括其对噪声数据的高承受能力,以及它对未经训练的数据的模式分类能力。
利用R中的函数实现一个带有隐藏层的前馈神经网络。人工神经网络对预测问题中变量的尺度敏感。这种情况下,在将数据应用到神经网络前,先进行数据转换,这样可以避免神经网络模型的性能收到变量尺度的影响。将数据按照式(6)进行标准化处理,使所有变量均值为0,标准差为1。
(6)其中,是原始变量的均值,是原始变量的标准差。
2.支持向量机(SupportVector Machine,SVM)。
支持向量机是使用一种非线性映射,把原训练数据映射到较高的维上。在新的维度上,它搜索最佳分离超平面。使用到足够高维上的、合适的非线性映射,两个类的数据总可以被超平面分开。
3.多元自适应回归样条(Multivariate Adaptive Regression Splines, MARS)
多元自适应回归样条是一种非线性、非参数的回归方法。MARS模型最初是受递归分割算法中的分类回归树和广义加性模型思想启发建立的,是具有连续导数的连续型模型。
四、模型结果分析
将测试数据集代入所建模型,得到模型的分类矩阵,结果如表2。由表2可以看出,ANN回归模型的回溯精确度是相对最高的,其决策精确度也是较高的。ANN分类的决策精确度和回溯精确度也比较高,但不及ANN回归模型。SVM回归模型和MARS结果相差不大,都具有较高的决策精确度和很低的回溯精确度。而SVM分类模型的决策精确度比SVM回归模型差一些,回溯精确度高于SVM回归模型,但是不及ANN模型的回溯精确度。①若模型预测价格将要上涨,则作出反向的类似操作,这里不在赘述。
模型的分类矩阵
100万元人民币,每次的交易成本为5元人民币,交易标的为2010年1月至2014年12月的上证指数①。
ANN回归模型仿真交易时序图
①事实上,上证指数不能直接交易。
MARS模型仿真交易时序图
如图3所示为ANN回归模型策略一的仿真交易时序图,可以看出之所以策略一回报率较低,是因为在仿真中,有很多次交易是超过10天的期限而被“强制”平仓。
如图4所示为MARS模型策略二时的交易时序图,观察仓位曲线发现,该模型和策略下仿真时,仓位存量变化与股指价格变化呈现良好的协同关系,即价格将要上涨时,处于多头仓位,价格将要下降时,处于空头仓位。而且在股价震荡猛烈但多寡力量均衡的一段期间内,仓位保持相对平稳的状态,所以才会有137.54%的回报率。可以说,在该策略下这个模型是表现很好的。
最终的收益矩阵如表3所示:
仿真交易收益表
由表3可以看出,ANN分类模型和SVM模型在两种策略下的表现都不是很理想。而ANN回归模型和MARS模型在比较保守的策略一下,回报率虽然不高但相对于其他模型来说已是很高了,而在交易策略二下,二者均具有极高的回报率,尤其是MARS模型的回报率高达137%。
通过对模型的测试和仿真,在当前约束下,可以发现ANN回归模型和MARS模型具有良好的预测效果。但是现实中交易策略复杂多变,而且常常是多种因素影响的复合结果,其中甚至涉及行为学和心理学的一些内容,如此简单的交易策略其可行性有待于检验。而且各个模型中的临界值的选取往往没有一个统一的标准,临界值的选取经常是经验性的,甚至是随机的!利用高性能计算,测试不同的临界值对于模型结果的影响,从而找出相对最佳的临界值也是有必要的。
[1] 王劲松. 股市常用技术分析方法的有效性实证研究[D]. 西南财经大学, 2010.
[2]彭英. 基于灰色理论的数据挖掘在股票分析中的应用[D]. 长沙理工大学, 2006.
[3]杨希. 基于数据挖掘的股票预测研究[D]. 长春理工大学, 2008.
[4]张晨希. 数据挖掘技术在股票预测中的应用[D]. 安徽大学, 2006.
[5]Torgo L, 李洪成, 陈道轮, 等. 数据挖掘与R语言[J]. 机械工业出版社, .
[6]Kamber J H M, 数据挖掘概念与技术. 范明, 孟小峰等译[J]. 机械工业出版社, 8
[7]孟庆福, 杜元园, 曲华锋. &信用评级的新方法――多元自适应回归样条在民营企业信用评级中的应用.& 广东金融学院学
报26.5 (2011): 65-76.
三亿文库包含各类专业文献、各类资格考试、应用写作文书、高等教育、文学作品欣赏、基于R语言的数据挖掘模型在股票市场预测中的应用28等内容。 
 支持系统中的应 用,基于数据挖掘的分析方法也应该...统计分析技术中使用的数据挖掘模型有线形 分析和非线...r 为输入 层神经元数,s1 为隐层神经元数,s2 为...  基于数据挖掘的预测决策模型应用与研究_销售/营销_经管营销_专业资料。基于数据挖掘的预测决策模型应用与研究 [摘要] 数据挖掘是一门新兴的数据处理技术,是当前热门的...  数据挖 掘是一种决策支持过程, 它主要基于人工智能...R 是用于统计分析、绘图的语言和操作环境。R 是...中的应用:通过散据挖掘解决 Bayesian 网络建模过程中...  R语言数据挖掘相关包的介绍_计算机软件及应用_IT/...diana 基于模型的方法: mclust 基于密度的方法: dbscan...aov 线性混合模型:lme 主成分分析和因子分析:princomp...  本文首先阐述了以往分析股票价格分析方法以及数据挖掘技术在证券市场中应用状况, ...基于R语言的数据挖掘模型... 9页 3下载券
基于数据挖掘技术的股票... 28...  论文:基于数据挖掘技术的市财政收入分析预测模型_经济学_高等教育_教育专区。数据挖掘 泰迪杯大学生数据挖掘竞赛论文报告 竞赛作品资料包括以下两部分,请分别压缩后在...  数据挖掘在市场营销中的应用_销售/营销_经管营销_专业资料。分析了数据挖掘技术...模型化算法和其他信息处理的手法进行处理,依据分析方法,可以推断出顾 客在现有...  数据挖掘在企业中的应用_专业资料。数据挖掘在企业中...数据进行学习和分析,并建立相应问题领域中的分类模型...比如:在股票市场上对每只股票的历史数据进行分析,...  基于最近 30 期开奖号码数据的学习,建立适当的模型,再通过最近一期号码预测下一期...毕 业论文为“数据挖掘在某试车台检测系统的应用研究” ,在中国知网里可以查...

我要回帖

更多关于 雅虎账户申请 的文章

 

随机推荐