-->

IoTDB-Quality使用笔记:数据质量

时间:2022-01-26

    Apache IoTDB (Internet of Things Database) 是一个时序数据的数据管理系统,可以为用户提供数据收集、存储和分析等特定的服务。IoTDB-Quality基于IoTDB用户自定义函数(UDF),实现了一系列关于数据质量的函数,包括数据画像、数据质量评估与修复等,有效满足了工业领域对数据质量的需求。

 目前,IoTDB-Quality的1.0.0版本已经正式发布,欢迎大家点击阅读原文下载使用

时序数据的数据质量

        对时序数据而言,数据质量至关重要。比如,如果我们的数据分析基于低质量的时间序列,分析得到的结果就有可能存在问题,进一步地可能影响我们做出的决策。因此,我们需要有一套对时间序列的数据质量进行评估的机制,事先识别出低质量的时间序列,避免对后续的数据分析等产生不利影响。 

  

       我们整理了常见的数据异常,并将它们归结为下面四个数据质量指标:


完整性Completeness 一致性Consistency 时效性Timeliness 有效性Validity
数据丢失异常 数据过密异常 数据延迟异常 取值范围异常
空值异常 数据重复异常
取值变化范围异常
特殊值异常

速度范围异常
时间戳丢失异常

速度变化范围异常

IoTDB的数据质量分析


       根据IoTDB的特性,我们发现,IoTDB中的时序数据不可能发生时间戳丢失异常和数据重复异常。下面,我们将以完整性为例具体介绍我们的数据质量指标:
      我们曾对某公司的工程车辆运行数据进行了数据质量分析,下面是某台车辆的速度序列的一部分:





      仅从上面的折线图中,利用肉眼对数据的完整性进行评判是一件不可能完成的任务。但我们可以使用Completeness函数对这段数据进行完整性分析。

select completeness(s1,'window'='2000') from root.test.d3 where time >= 2020-11-01 04:48:00

        上面的SQL语句的意思是,我们取出root.test.d3.s1这个时间序列,从2020-11-01 04:48:00这个时刻开始,将序列按照每个窗口2000个数据点的标准划分为若干个窗口,并计算每一个窗口的完整性。

       SQL语句的输出如上图所示,我们发现序列的完整性基本维持在0.6左右,是一个较低的水平。为了更加直观地体现完整性的意义,我们在下面展示了原始速度序列的一个片段,可以发现,数据中存在大量的缺失点,数据丢失异常非常严重。


        结合车辆的工作时间记录,我们推测出这台车辆的速度传感器可能存在运行不稳定的问题,导致数据频繁丢失。    

       类似地,我们对一系列工程车辆都进行了数据质量评估和分析,向该公司提供了数据质量报告,为公司利用信息化手段发现和解决问题提供了重要技术支持。

加入我们


QQ群:659990460

微信群:添加好友 tietouqiao

github仓库:

https://github.com/apache/iotdb

官网:http://iotdb.apache.org/












扫码关注

关注我们

联系我们

Contact Us

* 为必填信息