“时间意识”指数移动平均线

时间:2013-12-24 10:22:45

标签: algorithm math signal-processing moving-average

我正在试图找出一个在不同时间采样的“时间感知”指数移动平均线的在线算法。通过“时间意识”,我的意思是“给予在一天中类似时间采样的数据更多的权重”,但是(a)我会给出一个更精确的定义,(b)这只是一个更普遍的兴趣的例子我

我将首先通过给出一个假设数据在白天以恒定间隔采样的精确示例来定义“时间意识”;比如,每1小时一次。在这种情况下,我保留了24个不同的EMA,每当数据被采样时,我将其放入相关的EMA中,获取其结果并将其放入结果的一般EMA中。因此,在星期二的12:00,我得到EMA结果的EMA结果为12:00,11:00,10:00等,其中12月的EMA结果是一些典型时期的EMA在12:00等采样的x天数据

这是一种在线算法,它可以很好地工作,并且可以在以恒定时间间隔对数据进行采样的情况下提供合理的结果。如果没有这种假设,其结果就会变得毫无意义,或者甚至可能没有明确定义。


更一般的情况可以这样描述:在给定的时刻我有一组样本,每个都是一个元组(x,v)其中 x 是一些样本不变量(可以被认为是抽样“位置”)而 v 是抽样“值”,我想在某个“位置”找出(加权)平均值 y ,其中权重与 y x 的距离呈负相关。这通过让 x 成为(t,d)对来概括前一个问题,其中 t 是采样时间, d 是时间(小时,在我们的例子中),并通过在所有这些元组的集合上定义一些度量来描述我们的需求。一个合理的要求是决定如果 d 是常数,距离上的权重函数将类似于指数移动平均值(可能是连续版本)的权重函数。

主要问题是找到一种有效的在线算法,可以在一般情况下完成工作,或者定义一个允许这种高效在线算法的特定指标,或者表明在几乎任何有趣的情况下都是不可能的。

1 个答案:

答案 0 :(得分:1)

EMA基本上是加权平均值。当您将多个加权平均值与一些权重组合时,您将获得权重等于产品的新加权平均值。这正是您通过“时间感知”EMA获得的。

当然,您可以通过将(几乎任意的)权重指定为“t”的函数来广泛推广它。

至于在线算法,你显然想要很少的努力添加新的点。 EMA在这方面工作得很好,因为EMA(x_1,...,x_n + 1)= a * EMA(x_1,...,x_n)+(1-a)* x_n。对于权重具有一些对称性或递归(又称“组属性”)的情况,您可以找到许多类似的公式。最有可能的是,在这种情况下,递归公式会有更多的加数。