ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

R语言用ARIMA模型预测巧克力的兴趣趋势时间序列

2021-05-12 14:08:04  阅读:443  来源: 互联网

标签:巧克力 12 预测 模型 ARIMA 残差 base 序列


原文链接: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, 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进行时间序列预测分析

3.使用r语言进行时间序列(arima,指数平滑)分析

4.r语言多元copula-garch-模型时间序列预测

5.r语言copulas和金融时间序列案例

6.使用r语言随机波动模型sv处理时间序列中的随机波动

7.r语言时间序列tar阈值自回归模型

8.r语言k-shape时间序列聚类方法对股票价格时间序列聚类

9.python3用arima模型进行时间序列预测

 

标签:巧克力,12,预测,模型,ARIMA,残差,base,序列
来源: https://blog.51cto.com/u_15198753/2770011

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有