R语言用ARIMA模型预测巧克力的兴趣趋势时间序列
2020-12-28 17:27
78 查看
原文链接:http://tecdat.cn/?p=18850
在本文中我们对在Google趋势上的关键字“ Chocolate ”序列进行预测。序列如下
> report = read.csv(url,skip=6,header=FALSE,nrows=636) > plot(X,type="l")
每月建立一个ARIMA模型比每周建立一个容易。因此,我们将每月数据序列化,将预测与观察结果进行比较。
> Y = tapply(base$X,as.factor(base$AM),mean) > Z = ts(as.numeric(Y[1:(146-24)]), start=c(2004,1),frequency=12)
在这里转换序列的对数序列。我们观察到趋势的变化(开始时是线性的,此后相对稳定)。
> X=log(as.numeric(Z)) > trend=lm(X~T+I((T-80)*(T>80)),data=db)
这是我们要建模的序列残差,
residuals(trend)
要对该序列进行建模,我们可以先查看其自相关序列
> plot(acf(Y,lag=36),lwd=5)
和偏自相关序列
> plot(pacf(Y,lag=36),lwd=5)
该序列是稳定的,但是有很强的周期性成分。我们可以尝试AR模型或ARMA(带有AR的残差不是白噪声)。
arima(Y,order=c(12,0,12), + seasonal = list(order = c(0, 0, 0 , period = 12 )
这里的残差序列是白噪声
然后,我们可以使用此模型对初始序列进行预测
> Y2=tapply(base$X,as.factor(base$AM),mean) > lines(futur,obs_reel,col="blue")
我们的模型为红色,真实的观察结果为蓝色。然后,我们可以根据这24个观测值计算误差平方和。
> sum( (obs_reel-Xp)^2 ) [1] 190.9722
但是我们可以尝试其他模型,例如通过更改趋势或通过更改ARIMA模型(通过季节性单位根)来尝试
> E=residuals(model3) > model3 Coefficients: ma1 ma2 sma1 0.2246 0.3034 -0.9999 s.e. 0.0902 0.0925 0.3503 sigma^2 estimated as 0.002842: log likelihood = 152.37, aic = -296.75
我们检查残差序列确实是白噪声
Box-Pierce test data: E X-squared = 6.326, df = 12, 20000 p-value = 0.8988
然后,我们可以对原始系列进行预测,
> Yp=predict(model3,n.ahead=24) + + predict(trend,newdata=data.frame(T=futur) > Y2=tapply( X,as.factor( AM),mean)
误差平方和低一些
> sum( (obs_reel-Xp)^2 ) [1] 173.8138
也就是说,在过去的两年中,第二个模型比以前的模型要好,是对未来几年进行预测的好方法。
最受欢迎的见解
1.在python中使用lstm和pytorch进行时间序列预测
2.python中利用长短期记忆模型lstm进行时间序列预测分析
8.r语言k-shape时间序列聚类方法对股票价格时间序列聚类
拓端研究室 拓端数据 拓端(http://tecdat.cn )创立于2016年,自成立以来,就定位为提供专业的统计分析与数据挖掘服务的提供商,致力于充分挖掘数据的价值,为客户定制个性化的数据方案与报告等。欢迎关注微信公众号:拓端数据部落、拓端数据。
相关文章推荐
- R语言 时间序列分析之ARIMA模型预测
- R语言时间序列分析之ARIMA模型预测
- 时间序列预测基础教程系列(8)_如何使用自回归综合移动平均线(ARIMA)模型进行时间序列预测(Python)
- 时间序列分析之ARIMA模型预测
- R语言 时间序列之ARIMA模型
- R语言时间序列之ARMA、ARIMA模型
- python 时间序列ARIMA模型预测
- R学习日记——时间序列分析之ARIMA模型预测
- How to Save an ARIMA Time Series Forecasting Model in Python (如何在Python中保存ARIMA时间序列预测模型)
- 时间序列分析之ARIMA模型预测__R篇
- 时间序列预测之--ARIMA模型
- R语言-时间序列-arima模型-forecast、tseries包
- 【R实践】时间序列分析之ARIMA模型预测___R篇
- python中利用ARIMA模型对时间序列问题进行预测(以洗发水销售预测为例)
- R中时间序列分析-趋势预测ARIMA
- 时间序列预测基础教程系列(15)_如何网格搜索ARIMA模型超参数(Python)
- 【时间序列】ARIMA模型在鞋服行业销售预测中的运用
- 基于时间序列的股票趋势预测模型
- 用R做时间序列分析之ARIMA模型预测
- 时间序列预测模型——ARIMA