可以使用ARIMA对趋势平稳序列进行建模吗?


12

我对使用ARIMA(X)进行建模所需的平稳序列有疑问/困惑。我在推理(干预效果)方面考虑的更多,但我想知道预测与推理是否会对响应产生任何影响。

题:

我阅读的所有介绍性资源都指出该系列需要固定下来,这对我来说很有意义,这就是有马中的“ I”出现的地方(与众不同)。

让我感到困惑的是,ARIMA(X)中趋势和漂移的使用以及对平稳需求的暗示(如果有)。

使用常数/漂移项和/或趋势变量作为外生变量(即加“ t”作为回归变量)是否否定了序列是平稳的要求?答案是否不同取决于序列是否具有单位根(例如adf检验)或具有确定性趋势但没有单位根?

要么

在使用ARIMA(X)之前,通过微分和/或去趋势使序列始终保持静止吗?

Answers:


12

查看评论,似乎我们没有解决关于如何在确定性趋势或随机性趋势之间进行选择的问题。即,如何实践而不是每种情况的后果或性质。

一种继续进行的方法如下:首先应用ADF测试。

  • 如果单位根的null被拒绝,我们就完成了。趋势(如果有)可以由确定性线性趋势表示。
  • 如果不拒绝ADF检验的零值,那么我们将应用KPSS检验(其中零假设是相反的,平稳性或线性趋势周围的平稳性)。

    o如果KPSS测试的null被拒绝,那么我们得出结论,存在单位根,并且可以处理数据的第一个差异。根据系列的第一个差异,我们可以测试其他回归变量的重要性或选择ARMA模型。

    o如果未拒绝KPSS检验的原假设,那么我们将不得不说数据没有太多信息,因为我们无法拒绝原假设之一。在这种情况下,使用系列的第一个差异可能会更安全。

如先前的答案中所述,请记住,这些测试可能会受到异常值的影响(例如,由于记录数据时发生错误或由于例如会影响数据质量的策略更改而导致的电平转换,单个时间点的异常值)从给定时间点开始的系列)。因此,建议也对这些问题进行检查,并在包括一些潜在异常值的回归变量之后重复先前的分析。


太棒了!我上面的评论问题是否正确,如果我们看到看起来像趋势,我们将使用包含趋势的ADF测试(我发布的链接中的#3选项)?
B_Miner 2014年

最后一个问题-您如何拟合ARIMA,将ARIMA(0,1,1)拟合为一个序列,并且该差的均值非零,该怎么办?这意味着我相信您可以在模型中添加一个常数,这也代表了原始序列中的线性趋势。这种情况意味着什么?原始序列的趋势是确定性的,因为对序列进行微分并不能消除趋势吗?
B_Miner 2014年

@B_Miner关于您的第一个评论,我将从仅包含一个拦截开始。如果趋势看起来有些指数,还可以添加线性趋势的斜率参数,看看它是否显着。通常,最好从很少参数的模型开始,如果残差的诊断不令人满意,则可以考虑添加其他元素。
javlacalle 2014年

@B_Miner采取第一个差异可以消除确定性趋势和随机趋势。如果在带有截距的模型中看到差异序列中的趋势,则应考虑再次进行差异化(即测试第二个单位根)。
javlacalle 2014年

1
@pidosaurus与ADF和KPSS测试之间的协议不一致,可能是由于样本量小,存在异常值,非线性趋势......如果经过进一步检查仍不确定哪一个更合适,则可以更安全地考虑单位根的存在。快速查看您的数据可以看出存在非线性趋势,形式的二次趋势可能是合适的。a1t+a2t2
javlacalle '17

5

请记住,存在多种不稳定性,以及如何处理这些不稳定性。四个常见的是:

1)确定性趋势或趋势平稳性。如果您的序列是这种趋势,请在趋势/模型中将其去趋势或包括时间趋势。您可能想查看关于该方程的Frisch-Waugh-Lovell定理。

2)级别转换和结构中断。如果是这种情况,则应为每个中断包含一个虚拟变量,或者如果您的样本足够长,请分别对每个规则进行建模。

3)改变方差。可以分别对样本进行建模,也可以使用ARCH或GARCH建模类对变化的方差进行建模。

4)如果您的系列包含单位根。通常,然后应检查变量之间的协整关系,但由于您担心单变量预测,因此应根据集成顺序将其相差一两次。

为了使用ARIMA建模类对时间序列建模,应遵循以下步骤:

1)查看ACF和PACF以及时间序列图,以查看序列是固定的还是非固定的。

2)测试系列的单位根。这可以通过多种测试来完成,其中最常见的测试是ADF测试,Phillips-Perron(PP)测试,没有平稳性的KPSS测试或最有效的DF-GLS测试上述测试。注意!如果您的系列包含结构性断裂,则这些测试会偏向于不拒绝单位根的零值。如果您想测试这些测试的健壮性,并且如果怀疑一个或多个结构断裂,则应使用内源性结构断裂测试。两种常见的方法是Zivot-Andrews检验(允许一个内源性结构断裂)和Clemente-Montañés-Reyes允许两个结构性断裂。后者允许两种不同的模型。

3)如果系列中有一个单位根,则应该对系列进行区别。之后,您应该查看ACF,PACF和时间序列图,并可能检查第二个单位根是否安全。ACF和PACF将帮助您决定应包括多少个AR和MA术语。

4)如果序列不包含单位根,但时间序列图和ACF显示该序列具有确定性趋势,则在拟合模型时应添加趋势。有人认为,在包含确定性趋势的情况下仅对序列进行区分是完全有效的,尽管在此过程中可能会丢失信息。最好还是对其进行区分,以便看到您需要包含的许多AR和/或MA术语。但是时间趋势是正确的。

5)拟合不同的模型并进行常规的诊断检查,您可能希望使用信息标准或MSE,以便根据适合的样品选择最佳模型。

6)不要在最佳拟合模型和计算损失的功能,如MSE,MAPE,MAD看到使用它们时预测其中哪些实际执行最好的样本外预测,因为这是我们想做的事情!

7)像老板一样对样本进行预测,并对结果感到满意!


并迅速回答您的问题。是的,它可以。
2014年

由于我没有足够的声誉,因此我无法对上述内容发表评论,但是我想指出,白噪声过程是固定的。它的均值和方差不会随时间变化,因此是平稳的!
2014年

丹,好答案!关于您在这里的最后一条评论,您是说如果您最终得到的白噪声残留是固定的....那么它告诉您您已经对该系列进行了足够的建模(即正确/充分地处理了平稳性问题)?
B_Miner 2014年

1
对,就是这样。通常使用Ljung-Box Q检验来测试残差,以查看残差是否是随机的。如果它们是模型,则该模型可以很好地表示数据。我在上面的答案中忘记提及的是,在拟合模型之后,您可以查看拟合序列残差的ACF和时间序列图。这将为您提供一个很好的指示,表明您的残差是否为白噪声(ACF不应有任何明显的滞后)。无论如何,大多数统计软件包都有一个用于Ljung-Box Q测试的命令。
2014年

这是Ljung-Box Q测试的Wiki链接:en.wikipedia.org/wiki/Ljung%E2%80%93Box_test
Plissken 2014年

5

确定趋势(或其他因素,例如季节性)是确定性的还是随机的,是时间序列分析中的难题之一。我将在发言中补充几点。

1)确定性趋势与随机趋势之间的区别很重要,因为如果数据中存在单位根(例如随机游动),则用于推理的检验统计量将不遵循传统分布。有关更多详细信息和参考,请参见此帖子

我们可以模拟随机游动(应该采取先差的随机趋势),测试确定性趋势的重要性,并查看确定性趋势无效被拒绝的案例所占的百分比。在R中,我们可以执行以下操作:

require(lmtest)
iter <- 10000
cval <- 0.05
n <- 120
rejections <- 0
set.seed(123)
for (i in seq.int(iter))
{
  x <- cumsum(rnorm(n)) # random walk
  fit <- lm(x ~ seq(n))
  if (coeftest(fit)[2,"Pr(>|t|)"] < cval)
    rejections <- rejections + 1
}
100 * rejections / iter
#[1] 88.67

在5%的显着性水平上,我们希望在95%的情况下拒绝零值,但是,在本实验中,仅在10,000个模拟随机游走中的约89%的情况下拒绝了零值。

我们可以应用单位根测试来测试是否存在单位根。但是我们必须意识到,线性趋势可能反过来导致无法拒绝单位根的零值。为了解决这个问题,KPSS测试考虑了线性趋势周围平稳性的零值。

2)另一个问题是对过程中确定性组件的层次或第一差异的解释。截距的影响在具有线性趋势的模型中与在随机游走中不同。请参阅此帖子以获取插图。

从分析,让我们随机漂移:

yt=μ+yt1+ϵt,ϵtNID(0,σ2).

如果我们用滞后的反复替换:ytiyt

yt=μ+yt1μ+yt2+ϵt1+ϵt=2μ+yt2μ+yt3+ϵt2+ϵt1+ϵt=3μ+yt3+ϵt2+ϵt1+ϵt...

我们到达:

yt=y0+μt+i=1tϵi

其中是一些任意的初始值。因此,我们看到冲击的积累和随机游走的长记忆使截距具有斜率(在这种情况下,常数项被称为漂移)的线性趋势的影响。 μ μ μy0μμμ

如果系列的图形表示显示出相对清晰的线性趋势,则我们不能确定是否是由于确定性线性趋势的存在或随机游走过程中的漂移。应使用补充图形和测试统计数据。

需要牢记一些警告,因为基于单位根和其他测试统计数据的分析并非万无一失。这些测试中的某些测试可能会受到外部观察值或水平移动的影响,并且需要选择并非总是简单的延迟顺序。

作为解决此难题的一种方法,我认为通常的做法是对数据进行差异处理,直到序列看起来稳定为止(例如,查看自相关函数,该函数应快速变为零),然后选择ARMA模型。


Greta post-您显然是该站点的宝贵资产!我很想知道这里和您的其他帖子-是否可以使用ADF或KPSS测试来确定水平系列中的趋势是确定性还是随机性?我发现了这一点:faculty.smu.edu/tfomby/eco6375/BJ%20Notes/ADF%20Notes.pdf,这使得您看起来好像在系列中直观地看到了趋势,请使用测试的选项#3,如果您不拒绝,如果为空,则有确定趋势的证据。
B_Miner 2014年

根据Dan的评论,我想如果您得到白噪声残留,则
无所谓

5

这个问题很有趣,我也想知道别人怎么说。我是经过培训的工程师,而不是统计学家,所以有人可以检查我的逻辑。作为工程师,我们想进行模拟和实验,因此我很愿意模拟和测试您的问题。

如下经验所示,在ARIMAX中使用趋势变量可以消除对差分的需求,并使序列趋势保持平稳。这是我用来验证的逻辑。

  1. 模拟AR流程
  2. 增加了确定性趋势
  3. 使用以趋势作为外生变量建模的ARIMAX,上述序列无差异。
  4. 检查了残留的白噪声,它是纯随机的

以下是R代码和图表:

set.seed(3215)

##Simulate an AR process
x <- arima.sim(n = 63,list(ar = c(0.7)));
plot(x)

## Add Deterministic Trend to AR
t <- seq(1, 63)
beta <- 0.8
t_beta <- ts(t*beta,frequency=1)
ar_det <- x+t_beta
plot(ar_det)

## Check with arima

ar_model <- arima(ar_det,order=c(1,0,0),xreg=t,include.mean=FALSE)

## Check whether residuals of fitted model is random

pacf(ar_model$residuals)

AR(1)模拟图 在此处输入图片说明

具有确定性趋势的AR(1) 在此处输入图片说明

ARIMAX残余PACF,趋势为外源。残基是随机的,没有残留的模式 在此处输入图片说明

从上面可以看出,在ARIMAX模型中将确定性趋势建模为外生变量就不需要差分。在确定性情况下,它起作用了。我不知道这在很难预测或建模的随机趋势下会如何表现。

要回答第二个问题,是的,所有ARIMA(包括ARIMAX)都必须固定。至少那是教科书所说的。

此外,如前所述,请参阅本文。关于确定性趋势与随机趋势的清晰解释,以及如何消除趋势以使其趋于平稳的方法,也对此主题进行了很好的文献调查。他们在神经网络环境中使用它,但是它对于一般的时间序列问题很有用。他们的最终建议是,当将其明确确定为确定性趋势时,进行线性下降趋势,否则应用微分使时间序列平稳。陪审团仍然存在,但本文引用的大多数研究人员建议区别对待而不是线性去趋势。

编辑:

以下是使用外生变量和差异Arima的具有漂移随机过程的随机游走。两者似乎都给出相同的答案,本质上它们是相同的。

library(Hmisc)

set.seed(3215)

## ADD Stochastic Trend to simulated Arima this is AR(1) with unit root with non zero mean

y = rep(NA,63)
y[[1]] <- 2


for (i in 2:63)  {
y[i] <-3+1*y[i-1]+ rnorm(1, mean = 0, sd = 1)
} 

plot(y,type="l")

y_ts <- ts(y,frequency=1)

## Lag to create Xreg

y_1 <- Lag(y,shift=1)


## Start from 2 value to avoid NA and make it equal length with xreg

y <- window(y_ts,start =2,end=63)
xreg1 <- y_1[-1]

## Check the values with ARIMA and xreg

g <- arima(y,order=c(0,0,0),xreg=xreg1)

pacf(g$residuals)

## Check the values with ARIM

g1 <- arima(y,order=c(0,1,0))

pacf(g1$residuals)

## 

ARIMA(0,0,0) with non-zero mean 

Coefficients:
      intercept   xreg1
         3.1304  0.9976
s.e.     0.2664  0.0025

希望这可以帮助!


我也对其他观点感兴趣-我不确定,残留的白噪声是否满足系列固定的要求-即,如果您达到白噪声,是否可以满足?或者,是否包含外生变量实际上起到了“降低趋势”并使该系列平稳的作用?我想知道是否可以在后面的问题上进行检查,是否可以通过线性回归去趋势化然后拟合arima(1,0,0)来获得相同的模型(ar1系数等)...结果接近。因此,也许添加外生变量与去趋势化相同。
B_Miner 2014年

是的,是一样的,几个月前,我在神经网络预测文章中遇到了这个问题。如果找到我将提供参考。
天气预报员

对存在单位根或模型中存在常量的情况有任何想法吗?
B_Miner 2014年

我已经更新了我所引用文章的答案。
天气预报员

我认为您可能尚未保存。
B_Miner 2014年
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.