Sensorfusion:基于传感器数据分析生成虚拟传感器

数据挖掘 机器学习 scikit-学习 时间序列 聚类
2022-02-19 23:37:09

我有一台配备以下传感器的蒸汽机:

  • 锅炉房温度传感器
  • 加热室内的温度传感器
  • 锅炉房压力传感器
  • 每分钟转数传感器,用于测量由蒸汽机驱动的车轮转速

蒸汽机不测量的是锅炉中当前的水位。时间序列数据存储在具有以下结构的 csv 文件中:

| 时间戳 | temp_boiler | 温度加热器 | 压力锅炉 | 转数 |

在机器学习的帮助下,我想预测锅炉中的当前水位。由于我对机器学习很陌生,我真的不知道如何完成这项工作。我知道我不能应用线性回归,因为它是时间序列数据,并且当前传感器值和之前的传感器值之间存在相关性。此外,我需要历史水位日期才能运行线性回归。

那么有哪些选择呢?我是否必须使用神经网络,因为我没有任何水位值?(关键字:Sensorfusion、Virtual Sensor、Softsensor)非常感谢任何帮助!

编辑:由于线性回归不是一种选择,我想知道替代方案是什么。由于我通常是机器学习的新手,我想知道我可以使用哪些算法或策略来解决这个问题。我不是要代码片段或类似的东西。只是一些输入,以便我可以解决这个问题!

1个回答

这里的第一个要点是您没有历史水位值。这些是您用来教授/训练任何监督模型的标签。没有标签,你就只能使用无监督的方法。看看维基百科概述

您可以尝试研究类似聚类的方法,例如使用 k-Means,这会非常快。DBSCAN 等其他聚类算法也非常好,但您的变量(温度和压力)可能不一定在输入空间中的密度(DBSCAN 中的 D)上很好地聚类。

有无监督的神经网络方法,但这些方法涉及更多。自动编码器可能是一个不错的起点。

在这里查看更多关于特定模型的想法可以尝试,例如 Denoising AutoEncoders,它可以使用循环组件(例如 LSTM),它可以在时间序列数据上表现良好