赞
踩
作者:李应硕,人大在读
授权转载 收藏順便 点个 赞 ,创作不易
前言:时间序列算是我接触的第一个统计学实践项目,也是它把我带进了机器学习的大门。当时的我的工作是根据过往投资和赎回量,每天预估一个需要留的钱,有点类似银行准备金。我本想自己写个代码,无奈能力不足,最后让算法工程师帮我写了一套,每天预测准确率大约90%。回头过了1年多我现在都不会,当时肯定写不出来了。正好这周末学习统计预测,上课老师讲的是ARIMA模型为主,不过老师也说了目前要更高的准确率推荐神经网络。正好我也查到了神经网络相关代码,尝试做一个ARIMA与神经网络结果比对。同时也是为了十月有一个预测比赛打基础。
ARIMA模型于1982年提出,是时间序列预测分析方法之一。ARIMA(p,d,q)中,AR是"自回归",p为自回归项数;MA为"滑动平均",q为滑动平均项数,d为使之成为平稳序列所做的差分次数(阶数)。后面ARIMA模型我是用R语言来实现的。
第一步:安装包;主要用到forecast需要下载以便预测。
第二步:下载导入数据
这里以最近两年ICBC的的历史股票行情为例。数据是2017年4月5日至2019年9月20日每天股票最高价。根据以往数据预测9月23日至9月27日ICBC股价(最高价),下载数据可见后文lstm模型开头有下载办法。
#导入下载的数据
w<-read.table("F:/ML/习题数据、案例数据、R代码/data/i.csv",sep=",",header = T)
x<-ts(w$high,start=c(2017,4,5),frequency = 365)
plot(x)
第三步:对差分序列性质进行考察
#对差分序列性质考察
plot(diff(x))
acf(diff(x))
pacf(diff(x))
结果如下图:
<Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。