我有一个主要问题。假设我有一个时间序列(例如下面的时间序列)。现在我想弄清楚哪一点是异常的。为了标记数据,我使用了一种启发式方法,即每当数据高于 19 时,即表示异常。现在我正在使用机器学习方法,让它标记数据并尝试找出机器学习算法的执行情况。我想计算召回率、f1、精度等。由于我的启发式并不精确并且给出的标签不精确,所以这有点具有挑战性。可以肯定的是,启发式发现了一个异常值(该值变为 20)。但真正的异常情况可能以前就发生过。实际上,启发式方法和算法发现了相同的异常值,只是它们标记的时间点有几秒钟的不同。您如何处理这些不精确的标签?有没有办法告诉精度、召回率、f1 等,该算法实际上比这个指标想象的更好?
时间戳 | 价值 | 启发式的异常 | 算法异常 | TP/FP/TN/FN |
---|---|---|---|---|
1 | 1 | F | F | TN |
2 | 2 | F | F | TN |
3 | 5 | F | T | FP |
4 | 15 | F | F | TN |
5 | 20 | T | F | FN |
6 | 15 | F | F | TN |
7 | 5 | F | F | TN |
8 | 2 | F | F | TN |
9 | 1 | F | F | TN |
10 | 2 | F | F | TN |
11 | 1 | F | F | TN |
12 | 2 | F | F | TN |
13 | 1 | F | F | TN |