趋势还是没有趋势?

机器算法验证 r 时间序列 黄土
2022-03-27 18:56:44

我有一个季度时间序列,并使用 R 进行了增强的 Dickey-Fuller 测试来测试平稳性。

adf.test(myseries)
# returns
# Dickey-Fuller = -3.9828, Lag order = 4, p-value = 0.01272
# alternative hypothesis: stationary 

所以 H0 被拒绝。我试图直观地验证这一点,并在线性趋势上回归相同的系列。

x<- 104:1
fit.1<-lm(myseries~x)
summary(fit.1)
#returns
# x      0.024  1.31e-05 ***

尽管这里简单的线性模型不太合适,截距很大(大约 80),但随着时间的推移似乎有轻微的下降趋势,这与我查看初始数据后的想法一致。那么我是不是把 adf.test 弄错了,还是趋势太小而无法被发现?

除了我用过

plot(stl(myseries,"per"))

最后得到一个图表,其中侧边栏表明趋势和剩余是驱动数据的主要组成部分,而季节性影响可以忽略不计。我看到它stl()使用局部多项式回归过滤并大致了解它是如何工作的(我仍然想知道为什么 Hadley 的 ggplot2 包的平滑趋势看起来如此不同,即使它默认使用相同的方法)。

所以总结一下,我得到: - adf 没有发现趋势的证据 - 通过目测和幼稚的方法“检测到”轻微的下降趋势 - 黄土分解表明趋势具有很强的影响(通过图中条形的关系)

那么我能从中学到什么?可能我在这里确实有一个术语问题,因为前两个似乎解决了时间趋势,而后者解决了一些我还不能完全掌握的其他趋势。也许我的问题只是:你能帮我理解黄土提取的趋势吗?它与 HP-Filter 或 Kalman Smoothing 等平滑/过滤的东西有什么关系(如果存在关系并且相似性不仅发生在我的情况下)?

3个回答

你的第一个问题的答案是否定的。如果拒绝单位根的原假设,则其最一般形式的替代方案是具有时间趋势的平稳序列。这是示例:

> rr <- 1+0.01*(1:100)+rnorm(100)
> plot(rr)
> adf.test(rr)

    Augmented Dickey-Fuller Test

data:  rr 
Dickey-Fuller = -4.1521, Lag order = 4, p-value = 0.01
alternative hypothesis: stationary 

Message d'avis :
In adf.test(rr) : p-value smaller than printed p-value

所以你的发现与 ADF 检验一致:没有单位根,但有时间趋势。

我认为Larry Bretthorst 的扩展博士学位将对您有很大帮助。您应该对数据进行离散傅立叶变换。这将使您在频域中查看您的系列。趋势由低频表示。终极造型书。它有 200 页,但非常值得——包括实现这些方法的计算机代码

ADF 测试的能力较弱,正如 Dmitrij Celov 所提到的,您可能还应该检查 PP 和 KPSS 测试的结果。如果您发现您的结果处于检测单位根的边缘,则您的序列可能是部分积分的。我还会检查该系列的 ACF 和 PACF 图,寻找缓慢衰减的模式。通常,如果您发现 ADF 检验和 Phillips-Perron 拒绝单位根的空值,但 KPSS 和 ACF/PACF 图通过几个滞后显示出一些统计上显着的持久性,这可能是分数积分的有力证据。