时间序列平滑,避免修改

时间:2012-02-13 18:52:15

标签: r time-series revision smoothing

这次我的问题比方法论更具技术性。我有每周时间序列数据,每周更新一次。不幸的是,时间序列非常不稳定。因此,我想应用滤波器/平滑方法。我试过Hodrick-Prescott和LOESS。这两个结果看起来都不错,随着经济衰退,如果跟随一个与历史数据点强烈分歧的新数据点,那么旧值必须修改/正在改变。有人知道在R中实现的方法,它可以做我想要的吗?方法/函数的名称可能完全足够。然而,它应该是比左侧移动平均线更复杂的东西,因为我不想在时间序列的开头丢失数据。每个帮助评论都表示赞赏!非常感谢你!

致以最诚挚的问候,

安德烈亚斯

2 个答案:

答案 0 :(得分:4)

我认为(?)您可能正在寻找的术语是因果过滤,即不依赖于未来值的过滤。在此类别中,最简单/最知名的方法可能是指数平滑,它在forecastexpsmooth包(library("sos"); findFn("{exponential smoothing}"))中实现。

这有帮助吗?

答案 1 :(得分:3)

看起来你需要一个强大的双面平滑器。问题是,终点的异常值与趋势的突然变化无法区分。只有在收集到更多的观察结果之后,它才变得明显是异常值(即使这样,也需要对趋势平滑性做出一些强有力的假设)。

我认为你会发现很难比loess()做得更好,但其他旨在进行稳健平滑的功能包括

  • smooth()代表Tukey的顺利者;
  • supsmu()弗里德曼的超级流畅;

Hodrick-Prescott平滑对异常值不稳定。