R语言svm支持向量机多元回归预测

数据用的还是之前的股票数据

library(e1071)

x<-read.table("gu.txt",header=T)

x[,1]<-1:4695 #将第一列的时间数据换成1:length的向量


#建立模型

m <- svm(x[1:4600,5]~ .,x[1:4600,-5], cost = 1000, gamma = 0.0001)
#预测

p<-predict(m,x[4601:4695,-5])
#取实际值

r<-x[4601:4695,5]

#计算相对误差

s<-0
for(i in 1:95)
{
if(abs(p[i]-r[i])<0.15)
s<-s+1
}
s

#输出结果s为86,说明90%以上的预测结果与实际值的误差都在0.15之内,取0.15计算相对误差,用mean算得实际值的均值为11.9,所以相对误差为1.26%

#计算趋势预测准确率

aa<-0
bb<-0
for(i in 1:94)
{
aa[i]<-r[i+1]-r[i]
bb[i]<-p[i+1]-p[i]
}
ss<-0
for(j in 1:94)
{
if(aa[j]*bb[j]>=0)
{
ss<-ss+1
}
}
ss

ss为80,所以趋势准确率为85.1%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值