Description
Is your feature request related to a problem? Please describe.
The current evaluation metrics in evaluate/anomaly.py
assume that a ground truth available. However, in many time series anomaly detection problems there is no ground truth.
It would be great if the Merlion evaluation base classes were more general and supportive of this use-case. As of now we effectively have to implement our own evaluation methods.
Describe the solution you'd like
I think ideally methods/classes such as TSADEvaluator.evaluate, TSADScoreAccumulator
and accumulate_tsad_score
should not assume that there is a ground truth - other interfaces in the Merlion package typically take test labels as an optional argument. Similarly, the evaluation classes should be able to compute unsupervised descriptive statistics if a ground truth is not passed.