R-ARIMA参数。如何确定arima(p,d,q)参数?

时间:2017-01-09 09:22:06

标签: r time-series predict

我从谷歌趋势中提取每周数据值,我想在R中应用时间序列来预测未来值。我尝试过使用auto.arima(),但结果似乎只是所有未来预测的一个常量值,如果我在arima(c(p,d,q))手动给出随机参数,我得到的各种类型的结果。那么如何为我的数据确定合适的值。

data2<-ts(data$Volume)
[1]  64  74  64  68 100  87  79  72  66  74  58  68  65  71  71  71  63  65 62  58  58
[22]  58  58  60  56  51  56  52  58  59  58  60  66  67  69  67  80  66  73  73  72  68
[43]  66  70  69  66  68  67  60  50  36  50
fit<-auto.arima(data2)
pred<-predict(fit,n.ahead=30, interaval="prediction", se.fit="FALSE") 
plot(pred)
pred

enter image description here

fit<-arima(data2,c(3,1,1)
pred<-predict(fit,n.ahead=30, interaval="prediction", se.fit="FALSE") 
plot(pred)
pred

enter image description here

3 个答案:

答案 0 :(得分:0)

这个答案假设你知道参数(p,d和q)是什么意思,如果没有,你需要做一些阅读。现在,ARIMA调用中提供了两组参数:趋势和季节性。

  1. 首先通过简单绘制时间序列或使用分解函数来确定您的数据是否有任何趋势或季节性
  2. 当您知道是否需要趋势和/或季节差异时,您可以尝试d和/或D参数的某些值,并可视化差异系列以确定适当的值。或者,您可以对差异系列执行ACF,并在相关结束前以负值开始停止。

  3. 现在,ACF和PACF绘制差异(静止)系列。确定您希望保留AR / MA条款的延迟。通常将其中任何一个保持为非零值应该没问题。根据经验,如果ACF快速下降到负值,则使用MA,否则如果逐渐下降,则使用AR。

答案 1 :(得分:0)

它显示一条直线,因为您的数据似乎没有相关性。

运行:

pacf(dat2)

没有滞后值显示出显着的相关性,并且也显示在auto.arima选择的拟合中。查看您提供的数据子集看起来不像ARIMA将是此数据的良好模型选择。

答案 2 :(得分:0)

你必须首先通过查看ACF和Residuals图或选择AIC最少的arima模型来选择最适合的sarima模型,然后你可以用函数预测:m = predict(fit,n.ahead =)。然后使用m $ pred来查找未来的预测,使用m $ se来查找其上限和下限。