Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
给出奇数结果的R-ARIMA模型_R_Time Series - Fatal编程技术网

给出奇数结果的R-ARIMA模型

给出奇数结果的R-ARIMA模型,r,time-series,R,Time Series,我试图在R中使用ARIMA模型来预测数据。我的时间序列的一部分如下所示: dt = msts(data$val, seasonal.periods=c(7, 30)) fit = auto.arima(dt) plot(forecast(fit, 300)) 对你来说,这只是一段时间,让你了解它。我有从2010年到2015年的每日数据 我想预测未来的情况。我正在使用forecast库,我的代码如下所示: dt = msts(data$val, seasonal.periods=c(7, 30

我试图在R中使用ARIMA模型来预测数据。我的时间序列的一部分如下所示:

dt = msts(data$val, seasonal.periods=c(7, 30))
fit = auto.arima(dt)
plot(forecast(fit, 300))

对你来说,这只是一段时间,让你了解它。我有从2010年到2015年的每日数据

我想预测未来的情况。我正在使用
forecast
库,我的代码如下所示:

dt = msts(data$val, seasonal.periods=c(7, 30))
fit = auto.arima(dt)
plot(forecast(fit, 300))
这导致:

这个模型既不好也不有趣。我的
seasonal.periods
是由我定义的,因为我希望看到每周和每月的季节性,但是结果看起来是一样的,没有定义季节性的时段

我错过什么了吗?预测很快就会发生变化,从一点到另一点变化非常非常小

编辑:

为了进一步说明我所说的,这里有一个具体的例子。假设我有以下假数据集:

x = 1:500
y = 0.5*c(NA, head(x, -1)) - 0.4*c(NA, NA, head(x, -2)) + rnorm(500, 0, 5)
这是一个AR(2)模型,其系数
0.5
0.4
。绘制此时间序列会产生:

因此,我创建了一个ARIMA模型,并绘制了预测结果:

plot(forecast(auto.arima(y), 300))
结果是:


为什么ARIMA函数不能学习这个明显的模型?如果我使用
arima
函数并强制它尝试AR(2)模型,我不会得到更好的结果。

auto。arima
不处理多个季节性周期。为此,请使用
tbats

dt = msts(data$val, seasonal.periods=c(7, 30))
fit = tbats(dt)
plot(forecast(fit, 300))

auto.arima
将只使用最大的季节性时段,并尽可能做到最好。

嘿@Rob Hyndman谢谢你,我没有意识到这一点。tbats确实提供了更好的结果,但我仍然不确定为什么arima函数甚至不能提供简单的arima模型。请参阅我的编辑。这不是AR(2)模型。右侧的滞后项表示
x
,因此该模型为线性趋势加上噪声。然而,
auto.arima
应该仍然能够做得更好。由于某种原因,它错过了这一趋势。