中文

利用 InfluxDB 与 Python 检测时间序列数据中的异常

机器学习 2020-12-16 v1 机器学习

摘要

水与环境数据的分析是许多智能水与环境系统应用的重要方面,此类分析所得的推断在决策中起着重要作用。这些通过灵敏传感器收集的数据常因系统故障、传感器探测器失灵等多种原因而出现异常。无论其根本原因如何,此类数据都会严重影响后续分析的结果。本文展示了时间序列数据的清洗与准备工作,并进一步提出代价敏感的机器学习算法作为检测时间序列数据中异常数据点的解决方案。以下模型:Logistic Regression、Random Forest、Support Vector Machines 已被修改以支持代价敏感学习,其对误分类样本进行惩罚从而最小化总误分类代价。我们的结果表明,Random Forest 在预测正类(即异常)方面优于其余模型。应用数据过采样等预测模型改进技术似乎对 Random Forest 模型几乎无改善。有趣的是,通过递归特征消除,我们获得了更好的模型性能,从而降低了数据维度。最后,利用 Influxdb 和 Kapacitor 对数据进行摄取与流式处理以生成新数据点,进一步在未见数据上评估模型性能,这将有助于及早识别饮用水水质中的不良变化,并使供水公司能够及时纠正任何存在的不良变化。

关键词

引用

@article{arxiv.2012.08439,
  title  = {Detection of Anomalies in a Time Series Data using InfluxDB and Python},
  author = {Tochukwu John Anih and Chika Amadi Bede and Chima Festus Umeokpala},
  journal= {arXiv preprint arXiv:2012.08439},
  year   = {2020}
}

备注

12 pages, 9 figures, 4 tables