【发布时间】:2011-07-28 20:38:02
【问题描述】:
如果我有时间序列数据——{x,y} 对的列表——并且想要平滑它,我可以使用指数移动平均线,如下所示:
EMA[data_, alpha_:.1] :=
Transpose @ {#1, ExponentialMovingAverage[#2, alpha]}& @@ Transpose@data
你将如何实现double exponential smoothing?
DEMA[data_, alpha_, gamma_] := (* unstub me! *)
如果它自己找出好的 alpha 和 gamma 值,那就太好了。
有关如何处理时间序列中存在间隙的情况的相关问题,即样本随时间分布不均匀:
【问题讨论】:
-
我对这个问题几乎一无所知,但似乎(来自en.wikipedia.org/wiki/Exponential_smoothing)你可能需要一个趋势估计。 reference.wolfram.com/applications/timeseries/…
-
请告诉我 Sasha 的代码是否给出了正确的输出
-
@Mr.Wizard:在我拥有的一些数据上尝试它时,它看起来很合适。 (不幸的是,这也让我相信这实际上并不是我想要的!但这是我自己的问题。希望这对将来在 Mathematica 中搜索 DEMA 的人有用!)
-
我用它几次来进行金融(市场)时间序列分析。你用它做什么?
-
@belisarius:我试图改进黑客的饮食(fourmilab.ch/hackdiet)。例如,beeminder.com/d/mass
标签: wolfram-mathematica smoothing