Questions tagged «arima»

指在时间序列建模中用于数据描述和预测的AutoRegressive集成移动平均模型。该模型通过包含差异项来概括ARMA模型,这对于消除趋势和处理某些类型的非平稳性很有用。

4
可以使用ARIMA对趋势平稳序列进行建模吗?
我对使用ARIMA(X)进行建模所需的平稳序列有疑问/困惑。我在推理(干预效果)方面考虑的更多,但我想知道预测与推理是否会对响应产生任何影响。 题: 我阅读的所有介绍性资源都指出该系列需要固定下来,这对我来说很有意义,这就是有马中的“ I”出现的地方(与众不同)。 让我感到困惑的是,ARIMA(X)中趋势和漂移的使用以及对平稳需求的暗示(如果有)。 使用常数/漂移项和/或趋势变量作为外生变量(即加“ t”作为回归变量)是否否定了序列是平稳的要求?答案是否不同取决于序列是否具有单位根(例如adf检验)或具有确定性趋势但没有单位根? 要么 在使用ARIMA(X)之前,通过微分和/或去趋势使序列始终保持静止吗?

1
何时使用指数平滑vs ARIMA?
最近,我在工作时进行一些月度预测并阅读Rob Hyndman的书时一直在刷新我的预测知识,但我苦苦挣扎的一个地方是何时使用指数平滑模型与ARIMA模型。根据经验,应该使用一种方法还是另一种方法? 另外,由于您无法使用AIC进行比较,因此您只需要按RMSE,MAE等进行比较? 目前,我只是每个都建立一些并比较错误度量,但是我不确定是否有更好的方法。

2
每天,每周和每年定期预测每小时时间序列
主要编辑:到目前为止,我要非常感谢Dave&Nick的回答。好消息是我开始工作了(原理是从海德曼教授的批量预测职位上借来的)。合并未完成的查询: a)如何增加auto.arima的最大迭代次数-似乎在有大量外生变量的情况下,auto.arima在达到最终模型之前达到了最大迭代次数。如果我误解了,请纠正我。 b)来自尼克的一个答案强调,我对小时间隔的预测仅从这些小时间隔中得出,不受当天早些时候发生的事件的影响。我的直觉来自于处理这些数据,告诉我这通常不会引起重大问题,但是我愿意就如何处理这些问题提出建议。 c)Dave指出,我需要一种更为复杂的方法来识别我的预测变量周围的提前/滞后时间。是否有人在R中使用编程方法有经验?我当然希望会有局限性,但是我想尽我最大的努力来开展这个项目,我毫不怀疑这也一定会对其他人有用。 d)新查询但与手头任务完全相关-选择订单时auto.arima是否考虑回归因素? 我正在尝试预测商店的造访。我要求能够考虑到假期,leap年和零星事件(主要是离群值);在此基础上,我发现ARIMAX是我最好的选择,它使用外生变量尝试对多个季节以及上述因素进行建模。 每小时24小时记录一次数据。事实证明这是有问题的,因为我的数据中有零个数字,尤其是在一天中访问量很少的时间,有时甚至在商店刚开业时根本没有访问量。而且,营业时间相对不稳定。 而且,将一个完整的时间序列作为一个具有3年以上历史数据的时间序列进行预测时,计算时间非常庞大。我认为通过将一天中的每个小时作为单独的时间序列进行计算,可以使其速度更快,并且在一天中较忙的时间进行测试似乎可以产生更高的准确性,但事实又证明,早/晚时间的问题是持续访问。我相信使用auto.arima将使过程受益,但是在达到最大迭代次数之前(因此使用手动拟合和maxit子句),它似乎无法收敛于模型。 我曾尝试通过创建一个当访问量= 0时的外生变量来处理“丢失”数据。同样,这对于一天中繁忙的时间(当唯一的无人访问时间是商店关门时)非常有用。在这些情况下,外生变量似乎可以成功地处理此问题,从而进行前瞻性预测,并且不包括前一天关闭的影响。但是,我不确定如何使用此原理来预测商店开张但并不总是会造访的安静时间。 在Hyndman教授关于R中的批量预测的帖子的帮助下,我试图建立一个循环来预测24系列,但它似乎不想从下午1点开始进行预测,也无法弄清原因。我得到“ optim中的错误(init [mask],armafn,method = optim.method,hessian = TRUE ::非有限有限差分值[1]”),但是由于所有系列的长度均相等,因此我基本上在使用同一矩阵,我不明白为什么会这样,这意味着矩阵不是全等级的,不是吗,如何用这种方法避免这种情况? https://www.dropbox.com/s/26ov3xp4ayig4ws/Data.zip date() #Read input files INPUT <- read.csv("Input.csv") XREGFDATA <- read.csv("xreg.csv") #Subset time series data from the input file TS <- ts(INPUT[,2:25], f=7) fcast <- matrix(0, nrow=nrow(XREGFDATA),ncol=ncol(TS)) #Create matrix of exogenous variables …

3
两个时间序列之间的关系:ARIMA
给定以下两个时间序列(x,y;见下文),在此数据中长期趋势之间的关系建模的最佳方法是什么? 当作为时间的函数进行建模时,两个时间序列都具有显着的Durbin-Watson检验,而且都不是平稳的(据我所知,这是否意味着它只需要在残差中保持平稳?)。有人告诉我,这意味着我应该先取每个时间序列的一阶差(至少,甚至是二阶),然后才能将一个模型建模为另一个函数,本质上是利用arima(1,1,0 ),arima(1,2,0)等。 我不明白为什么您需要在建模之前就下降趋势。我知道需要对自相关建模,但我不明白为什么需要进行微分。对我而言,似乎通过差分进行的去趋势消除了我们感兴趣的数据中的主要信号(在这种情况下为长期趋势),并留下了高频“噪声”(宽松地使用噪声)。确实,在模拟中,我在一个时间序列与另一个时间序列之间建立了几乎完美的关系,并且没有自相关关系,对时间序列求差使我得到的结果对于关系检测而言是违反直觉的,例如, a = 1:50 + rnorm(50, sd = 0.01) b = a + rnorm(50, sd = 1) da = diff(a); db = diff(b) summary(lmx <- lm(db ~ da)) 在这种情况下,b与a密切相关,但是b具有更多的噪声。对我来说,这表明在检测低频信号之间的关系的理想情况下,差分并不起作用。我了解到,差分通常用于时间序列分析,但是对于确定高频信号之间的关系似乎更有用。我想念什么? 示例数据 df1 <- structure(list( x = c(315.97, 316.91, 317.64, 318.45, 318.99, 319.62, 320.04, 321.38, 322.16, 323.04, 324.62, 325.68, …

3
ACF和PACF如何识别MA和AR术语的顺序?
我从事不同的时间序列已经超过2年了。我读过许多文章,其中ACF用于标识MA术语的顺序,而PACF用于标识AR。有一条经验法则,对于MA,ACF突然关闭的延迟是MA的顺序,对于PACF和AR同样。 这是我从PennState Eberly College of Science所读的文章之一。 我的问题是为什么呢?对我来说,甚至ACF都可以赋予AR术语。我需要上述拇指法则的解释。我无法直观/数学地理解拇指法则,为什么- 通常,最好使用PACF来识别AR模型。 通常,最好使用ACF而非PACF来完成MA模型的识别 请注意:-我不需要,但是“为什么”。:)

2
如何使用auto.arima插补缺失值
我有一个动物园系列,但缺少很多值。我读到auto.arima可以推论这些缺失的值吗?谁能教我该怎么做?非常感谢! 这是我尝试过的,但是没有成功: fit <- auto.arima(tsx) plot(forecast(fit))
12 arima 

2
来自汉密尔顿的ARMA(p,q)的状态空间表示
r=max(p,q+1)r=max(p,q+1)r = \max(p,q+1)yt−μ=ϕ1(yt−1−μ)+ϕ2(yt−2−μ)+...+ϕ3(yt−3−μ)+ϵt+θ1ϵt−1+...+θr−1ϵt−r+1.yt−μ=ϕ1(yt−1−μ)+ϕ2(yt−2−μ)+...+ϕ3(yt−3−μ)+ϵt+θ1ϵt−1+...+θr−1ϵt−r+1. \begin{aligned} y_t -\mu &= \phi_1(y_{t-1} -\mu) + \phi_2(y_{t-2} -\mu) + ... + \phi_3(y_{t-3} -\mu) \\ &+ \epsilon_t + \theta_1\epsilon_{t-1} + ... + \theta_{r-1}\epsilon_{t-r+1}. \end{aligned} ξt+1=⎡⎣⎢⎢⎢⎢ϕ11⋮0ϕ20⋮0…………ϕr−1001ϕr000⎤⎦⎥⎥⎥⎥ξt+⎡⎣⎢⎢⎢⎢ϵt+10⋮0⎤⎦⎥⎥⎥⎥ξt+1=[ϕ1ϕ2…ϕr−1ϕr10…00⋮⋮…0000…10]ξt+[ϵt+10⋮0] \xi_{t+1} = \begin{bmatrix} \phi_1 & \phi_2 & \dots & \phi_{r-1} & \phi_r \\ 1 & 0 & \dots & 0 & 0 …

3
ARIMA干预传递函数-如何可视化效果
我有一个干预措施的每月时间序列,我想量化此干预措施对结果的影响。我意识到该系列非常短,效果尚未得出结论。 数据 cds <- structure(c(2580L, 2263L, 3679L, 3461L, 3645L, 3716L, 3955L, 3362L, 2637L, 2524L, 2084L, 2031L, 2256L, 2401L, 3253L, 2881L, 2555L, 2585L, 3015L, 2608L, 3676L, 5763L, 4626L, 3848L, 4523L, 4186L, 4070L, 4000L, 3498L), .Dim=c(29L, 1L), .Dimnames=list(NULL, "CD"), .Tsp=c(2012, 2014.33333333333, 12), class="ts") 方法论 1)该auto.arima功能使用了干预前系列(直到2013年10月)。建议的模型为ARIMA(1,0,0),均值非零。ACF图看起来不错。 pre <- window(cds, start=c(2012, 01), end=c(2013, 09)) …

1
当AIC值较低且大致相等时,我该怎么办?
克里斯·查特菲尔德(Chris Chatfield)在(1)中我喜欢阅读许多高质量的书籍和论文,并提出以下建议: 例如,应该在具有较低AIC值和近似相等AIC值的ARIMA时间序列模型之间进行选择,而不是在其上给出最小的AIC,而是在其上给出对最近一年数据的最佳预测。 这种建议的依据是什么?如果听起来不错,为什么Forecast :: auto.arima和其他预测例程不遵循它?尚未实施?它已经在这里讨论的是寻找那些刚好给最小的车型AIC可能不是一个好主意。为什么选择让n≥1n≥1n\ge1低ARIMA模型但大约相等于(内最小AIC的1点或2的值如)不太多的时间序列预测软件的默认? (1)Chatfield,C.(1991年)。避免统计上的陷阱。统计科学,6(3),240-252。可在线获取,URL:https : //projecteuclid.org/euclid.ss/1177011686。

3
多维时间序列的干预分析
我想进行一次干预分析,以量化关于一段时间内酒精销售的政策决定的结果。但是,我对时间序列分析还很陌生,所以我有一些初学者的问题。 对文献的检查表明,其他研究人员已使用ARIMA来模拟酒精的时间序列销售,并使用虚拟变量作为回归因子来模拟干预效果。尽管这似乎是一种合理的方法,但是我的数据集比文献中介绍的数据集要稍微丰富一些。首先,我的数据集按饮料类型(即啤酒,葡萄酒,烈酒)分类,然后再按地理区域分类。 虽然我可以为每个分类的组分别创建ARIMA分析,然后比较结果,但我怀疑这里有更好的方法。谁能更熟悉多维时间序列数据,有人可以提出建议或建议吗?

1
ARIMA(1,1,0)系列的仿真
我已经将ARIMA模型拟合到原始时间序列,并且最佳模型是ARIMA(1,1,0)。现在,我想从该模型中模拟系列。我编写了简单的AR(1)模型,但是我不明白如何在ARI(1,1,0)模型中调整差异。以下用于AR(1)系列的R代码是: phi= -0.7048 z=rep(0,100) e=rnorm(n=100,0,0.345) cons=2.1 z[1]=4.1 for (i in 2:100) z[i]=cons+phi*z[i-1]+e[i] plot(ts(Y)) 我如何在上面的代码中包括差异项ARI(1,1)。在这方面,任何人都可以帮助我。
11 r  time-series  arima 

3
使用Holt-Winters还是ARIMA?
我的问题是关于Holt-Winters和ARIMA之间的概念差异。 据我了解,Holt-Winters是ARIMA的特例。但是,哪种算法比另一种算法更可取呢?也许Holt-Winters是增量式的,因此可以用作内联(更快)算法? 期待在这里有一些见识。

1
了解分数微分公式
我有一个时间序列,我想它建模为一个分整(又名FARIMA)过程。如果y t是(分数)阶d的积分,我想对其进行分数差分以使其固定。ÿŤÿŤy_tÿŤÿŤy_tddd 问题:以下定义分数微分的公式正确吗? ΔdÿŤ:= yŤ- dÿt − 1+ d(d− 1 )2 !ÿt − 2- d(d− 1 )(d− 2 )3 !ÿt − 3+ 。。。+ (− 1 )k + 1d(d− 1 )⋅ 。。。⋅ (d− k )ķ !ÿ吨- ķ+ 。。。ΔdÿŤ:=ÿŤ-dÿŤ-1个+d(d-1个)2!ÿŤ-2-d(d-1个)(d-2)3!ÿŤ-3+。。。+(-1个)ķ+1个d(d-1个)⋅。。。⋅(d-ķ)ķ!ÿŤ-ķ+。。。\Delta^d y_t := y_t - d y_{t-1} + \frac{d(d-1)}{2!} y_{t-2} - \frac{d(d-1)(d-2)}{3!} y_{t-3} + …

2
使用ARMA-GARCH模型模拟外汇价格
我已经将ARIMA(1,1,1)-GARCH(1,1)模型拟合到几年中以一分钟为间隔采样的澳元/美元汇率记录价格的时间序列,估计模型的上百万个数据点。该数据集可在此处获得。为了清楚起见,这是一个ARMA-GARCH模型,由于对原木价格进行一阶整合,因此适合对原木进行回报。原始的AUD / USD时间序列如下所示: 然后,我尝试根据拟合模型模拟时间序列,从而得到以下结果: 我既期望也希望模拟的时间序列与原始时间序列不同,但是我并不期望会有如此大的差异。从本质上讲,我希望模拟的序列的行为或大致看起来像原始序列。 这是我用来估计模型和模拟序列的R代码: library(rugarch) rows <- nrow(data) data <- (log(data[2:rows,])-log(data[1:(rows-1),])) spec <- ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(1, 1), include.mean = TRUE), distribution.model = "std") fit <- ugarchfit(spec = spec, data = data, solver = "hybrid") sim <- ugarchsim(fit, …

3
如何读取auto.arima()的p,d和q?
我如何获得模型的估计p,d and q值?ARIMA(p,d,q)auto.arima(mytimeseries) arima_model <-auto.arima(mytimeseries,ic ='bic') 如果我们看一下输出 arima_model $ arma 我们得到 [1] 1 0 0 0 1 2 0 上面顺序出现的数字是什么意思?
10 r  arima 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.