对于最近的项目,我想绘制一个传感器运动图。 非常简单,我的数据是一个时间戳,以毫米为单位。
现在,该值可能会有所波动,因此我已经获得了这些值的滚动中间值,因此在这里已经对我有所帮助,因此该图变得平滑了。
现在,如果我想绘制一年的运动,它将包含100.000个数据点。这对于浏览器无法加载或绘制太多,而且分辨率过高。在人员屏幕中,我应该能够绘制250点,但要给出图形的特征。
现在,有几种选择: 首先,我猜中位数始终是起点。
说得通。但是,如何让BigQuery从每100行的数据块中返回一个ts和一个平均值呢?
但是,如果在这100行中,我们有一个明显的峰值,它将被拉平,因此不可见(数据的有趣点)
所以,也许我想查看这100行的最大值或最小值,并返回该最大值,以便客户端可以在该数据块上绘制一个峰值。
我是程序员,而不是统计学家,但也许这类问题并不罕见:)
答案 0 :(得分:2)
按小时(或每天,如果点太多)分组数据点,绘制3行:
例如:
#standardSQL
SELECT SensorName, TIMESTAMP_TRUNC(Timestamp, hour) hour
, COUNT(*) c, AVG(Data) avg, MAX(Data) max, MIN(Data) min
FROM `data-sensing-lab.io_sensor_data.moscone_io13`
WHERE SensorName='XBee_40670F5F/light'
GROUP BY 1,2
ORDER BY 2
当一次可视化一个传感器时,这很容易-但是您是否正在寻找可以同时显示X个传感器的图表?
如果您添加VARIANCE
来查找具有很多更改的时间:
您可能会注意到找到高差异点是很正常的-在这种情况下尤其是每天早晨。因此,您实际上不需要关心高方差,而只需与正常趋势线进行比较即可。那将是一个有趣的新问题的开始。