为什么我在预测时应该关注季节性数据?
“因为它在那里”。
数据具有季节性模式。所以你建模它。数据有趋势。所以你建模它。也许数据与太阳黑子的数量相关。所以你建模。最终,您希望除了不相关的随机噪声之外什么都没有留下来建模。
但我认为你在这里搞砸了你的 STL 计算。您的残差显然不是序列不相关的。我宁愿怀疑你没有告诉函数你的“季节性”是一个 24 小时的周期而不是一年一次。但是,嘿,你没有给我们任何代码或数据,所以我们真的不知道你做了什么,是吗?你认为“季节性”在这里意味着什么?你有什么主意吗?
您的数据似乎每 24 小时有三个峰值。真的吗?这是'gas'='gasoline'='petrol'还是某些加热/发电系统中的气体?无论哪种方式,如果您先验地知道有一个 8 小时周期,或者在 24 小时周期之上的 8 小时周期,在看起来非常高的一两个小时周期之上,您将其放入您的模型中。
实际上你甚至没有说你的 x 轴是什么所以也许它的天,然后我会适合一个每日周期,一个每周周期,然后是一个年度周期。但考虑到它在 time=85 左右的变化,我不希望模型在这两个方面都做得很好。
使用统计数据(就是这样,很抱歉让你失望,但你还不是数据科学家)你不只是机械地去“而且..现在..我..适合..一个...S TL模型……”。您查看您的数据,尝试获得一些理解,然后提出一个模型,对其进行拟合、测试,并使用它对数据进行推断的参数。拟合周期性季节性模式是其中的一部分。
在异常检测(一种 STL 应用程序)中,如果您可以将原始时间序列标准化为残差序列(在 R 的 STL 包中称为“剩余”),则更容易看到异常值。这涉及识别可以从原始系列中减去的组件。在 STL 中,组件是季节性序列和趋势。
如果数据中有规律的、重复出现的模式(即季节性),那么您不希望该模式的预期上升/下降来驱动异常检测器。相反,您希望能够说“我们是高于还是低于预期,排除了一天(或一周、一个月等)过程中发生的常规起伏”。识别和删除季节性系列可以让您提出这个问题。
您生成的分解看起来不正确:季节性模式似乎没有捕获太多结构,趋势过度拟合数据,并且残差具有季节性序列应该捕获的规则结构。我不知道这是因为数据集本身不适合 STL 分解(系列尾部在质量上与初始部分不同)还是因为参数错误。本页的图 6.10显示了一个更典型的案例。
