我正在尝试创建一个标记冰箱温度读数的工具。每 5 分钟读取一次读数,其标签标识是否在冰箱除霜时读取。冰箱会定期除霜,这意味着加热器会打开,导致温度升高。除霜的高度、持续时间和形状差异很大。唯一一致的是它们以恒定的时间间隔发生(例如每 3 小时)。在正常运行期间(当冰箱不除霜时),冰箱的温度会随着压缩机的开启和关闭以及门的打开和关闭而反弹。下图显示了温度读数时间序列的示例,除霜显示为蓝色。
我需要设计一个工具,它可以获取一系列温度读数并分类最后的温度读数(最右边的一个)是否是除霜的一部分。训练数据由温度读数的一维数组和表示温度读数类别的等长一维数组组成(类别为 0 或 1,其中 1 表示除霜)。
我已经尝试过卷积和递归神经网络,但运气不佳。他们似乎无法学会利用除霜之间的间隔,因此他们一直错误地将最后读数归类为除霜的一部分,即使没有足够的时间过去。例如,在下图中,我训练有素的网络错误地将最后一次读数分类为解冻的开始,即使解冻还为时过早。是否有更擅长识别周期性模式的机器学习或深度学习工具?有没有更好的技术对我的数据进行分类?谢谢。