变量随时间变化(趋势)的时序故障检测
Fault Detection on time sequence of variable changing (trending) over the time
我对时间序列的异常检测很陌生,所以我的问题对你们中的一些人来说可能很明显。
今天,我正在使用 lstm 和聚类技术来检测时间序列的异常,但这些方法无法识别随着时间的推移缓慢恶化的异常(我认为这称为趋势),即机器的温度在一个月内缓慢增加(lstm 将学习这种趋势和预测增长没有任何特殊错误)。
有没有检测这种故障的方法?
时间序列通常是您想要的:学习渐变、检测突变。否则,时间作用不大。
你可以试试学习率非常慢的 SigniTrend 模型(半衰期很长或者他们怎么称呼它。忽略那篇论文中的所有标记、散列和可扩展性,只得到我真正喜欢的 EWMA+EWMVar 部分并将其用于你的时间序列)。
如果您将学习率设置得非常低,阈值应该移动得足够慢,以便您的 "gradual" 更改可能仍然能够触发它们。
或者你完全忽略了时间。将您的数据分成训练集(不得包含异常),学习其均值和方差以找到阈值。然后将这些阈值之外的任何点分类为异常(即温度 > 平均值 + 3 * 标准差)。
由于这种超级天真的方法不学习,它也不会随波逐流。但随后时间不再发挥任何作用。
我对时间序列的异常检测很陌生,所以我的问题对你们中的一些人来说可能很明显。 今天,我正在使用 lstm 和聚类技术来检测时间序列的异常,但这些方法无法识别随着时间的推移缓慢恶化的异常(我认为这称为趋势),即机器的温度在一个月内缓慢增加(lstm 将学习这种趋势和预测增长没有任何特殊错误)。 有没有检测这种故障的方法?
时间序列通常是您想要的:学习渐变、检测突变。否则,时间作用不大。
你可以试试学习率非常慢的 SigniTrend 模型(半衰期很长或者他们怎么称呼它。忽略那篇论文中的所有标记、散列和可扩展性,只得到我真正喜欢的 EWMA+EWMVar 部分并将其用于你的时间序列)。
如果您将学习率设置得非常低,阈值应该移动得足够慢,以便您的 "gradual" 更改可能仍然能够触发它们。
或者你完全忽略了时间。将您的数据分成训练集(不得包含异常),学习其均值和方差以找到阈值。然后将这些阈值之外的任何点分类为异常(即温度 > 平均值 + 3 * 标准差)。 由于这种超级天真的方法不学习,它也不会随波逐流。但随后时间不再发挥任何作用。