为什么STL函数使用随机数据会产生明显的季节性变化


11

我使用stl(黄土时间序列的季节性分解)函数使用以下代码进行绘制:

plot(stl(ts(rnorm(144), frequency=12), s.window="periodic"))

它显示了明显的季节性变化,上面的代码中放有随机数据(rnorm函数)。每次运行都会看到明显的变化,尽管模式是不同的。下面显示了两个这样的模式:

在此处输入图片说明

在此处输入图片说明

当显示季节性变化时,如何依靠stl函数处理某些数据。是否需要考虑其他一些参数来查看这种季节性变化?感谢您的见解。

代码摘自此页:这是测试自杀计数数据中季节性影响的适当方法吗?


1
发生这种情况是因为,如果您的拟合技术具有足够的参数,则随机数据中会包含“模式”。
bill_080

3
这里的“重要”一词似乎并不反映任何形式的重要性测试。
尼克·考克斯

1
Stl是非参数数据驱动的方法,因此无法通过显着性测试来量化是否存在季节性不确定性。
天气预报员

Answers:


12

黄土分解的目的是通过对数据应用平均值来使序列平滑,从而使其分解为对数据分析感兴趣的成分,例如趋势或季节。但是,这种方法论并不是要对季节性的存在进行正式测试

尽管在您的示例中stl返回了季节性周期性的平滑模式,但该模式与解释序列的动态无关。为了看到这一点,我们可以将每个分量的方差与原始序列的方差进行比较。

set.seed(123)
x <- ts(rnorm(144, sd=1), frequency=12)
a <- stl(x, s.window="periodic")
apply(a$time.series, 2, var) / var(x)
#   seasonal      trend  remainder 
# 0.07080362 0.07487838 0.81647852 

我们可以看到,其余部分解释了数据中的大多数方差(正如我们期望的白噪声处理一样)。

如果我们采用具有季节性的序列,则季节性分量的相对方差更为相关(尽管由于黄土不是参数性的,所以我们没有直接测试的方法)。

y <- diff(log(AirPassengers))
b <- stl(y, s.window="periodic")
apply(b$time.series, 2, var) / var(y)
#    seasonal       trend   remainder 
# 0.875463620 0.001959407 0.117832537 

相对方差表明季节性是解释该系列动态的主要成分。


粗心地看情节stl可能具有欺骗性。所返回的良好模式stl可能使我们认为可以在数据中识别出相关的季节性模式,但仔细观察可能会发现事实并非如此。如果目的是确定季节性的存在,则黄土分解可以作为初步观察有用,但应与其他工具相辅相成。


在您的AirPassengers示例中,输出没有趋势,而情节(AirPassengers)有明显趋势。如果删除“ diff(log(AirPassengers))”语句,则趋势为0.86(季节性仅为0.1)。应该做什么?
rnso 2015年

我举了一个数字清楚的例子。实际上,仅通过比较平滑分量的方差可能不足以得出有关季节性存在的结论。例如,如您在本例中所发现的,如果没有通过求差消除趋势,则趋势的方差将主导季节性成分的方差。问题是:0.1的相对方差是否足够大以至于认为此组件相关?问题是,基于黄土,没有一种直接的方法来测试组件的方差是否显着。
javlacalle 2015年

就像我说的,在这种情况下以及其他情况下,我们应该使用其他方法来测试季节性的存在。例如,见我的回答的第二部分在这里。一旦我们得出结论认为数据中存在季节性因素,就可以使用黄土获得该分量的模式。
javlacalle 2015年

只是为了更清楚一点,相对方差如何显示分解的一部分在整个数据中所起的作用?IE季节性为70%,趋势为20%。等
特德·莫斯比,

1
@TedMosby方差是数据中变化/分散的度量。成分的方差(例如趋势,季节)和其余方差的总和等于原始序列的方差。通过这种方式,通过将组件的方差与原始序列的方差进行比较,我们可以了解该组件有多相关(即,数据中有多少可变性由该组件解释)。
javlacalle

2

同样,我也看到了将傅立叶模型用于非季节数据,迫使季节结构进入拟合值和预测值,从而导致相似的结果(令人讨厌!)。拟合假定模型会为用户提供他要施加/假定的内容,而这并不总是好的分析会建议/提供的内容。


1
stl()不是基于傅立叶的思想。尽管我还没有看到有人提倡“无意识的”分析,但是请注意,任何适合的模型家庭都可以视为强加或推定的。问题是,任何过程在多大程度上为用户提供了实现范围,以及对于特定数据集而言,它如何工作不良以及如何使其工作不良。
尼克·考克斯

@NickCox千真万确....
IrishStat
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.