几个设备的平均测量值

时间:2013-07-14 17:10:37

标签: analytics cube graphite cubism.js statsd

我有一些设备可以发出时间序列数据:

[deviceID],[time],[value]

我使用石墨来跟踪这些数据,但问题也适用于其他数据库。

我已将数据保留/精度定义为5秒 - 因此每个设备每5秒只有一个值,这是在此期间所做的所有观察的平均值。例如,如果这些是真实的测量值:

device1    1/1/2012 08:00:00    12
device1    1/1/2012 08:00:01    10
device2    1/1/2012 08:00:01    2
device1    1/1/2012 08:00:02    14

然后保存的数据将是:

device1    1/1/2012 08:00:00    12
device2    1/1/2012 08:00:00    2

如何查询这段时间内两台设备的平均值?我不能仅仅对保存的数据(= 7)取平均值,因为它偏向下,因为它不认为device1有更多的测量值。我是否需要跟踪每个设备对/三重奏的平均值?也许最好不要进行聚合并获得最大的灵活性?或者接受不允许这样的跨设备查询,如果这只是一个很好的功能?

1 个答案:

答案 0 :(得分:1)

您是否考虑过计算weighted mean

一个简单的例子是这样的:

(No of measurements of d1)*d1 measurement + (No of measurements of d2)*d2 measurement
_____________________________________________________________________________________
                   Total number of measurements of d1 & d2

此测量将考虑每个设备的测量次数,因此不会向下偏差。