-
Notifications
You must be signed in to change notification settings - Fork 167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ground Truth for Benchmark / Semi-Supervised #583
Comments
Hi @LuSchnitt! Q1: To use the benchmark, there is a Q2: all pipelines in Orion are unsupervised and do not use anomalies in any part of the detection process, they are only used for evaluation in the benchmark. Even the autoencoders we support work on reconstructing the signal and are completely unsupervised. The
Hope this clarifies your questions! |
Hi @sarahmish, Thank you for answering my questions so quickly. I have read a lot in the python code of the primitives and the paper you mentioned. You all did a great job documenting the python code! Could be that I missed it, but there is no option to return the dynamic threshold for each window of find_anomalies? Best Lukas |
We don't currently keep track of the threshold values that was used for each window. Though there is a simple modification to the function
where we can return the threshold that was found for that window return window_sequences, threshold then you can store a list in Let me know if you have any further questions! |
Hello @sarahmish, thanks for the help, i thougth about this too but wasn sure if i jinx some of the following functionality with it. I did it by saving the threshold to a file instead of adapting the return values. In regar to Q1: Evaluation, i did like you said but unfortunately i got the same error again and again. I will add a picture with the structure of my anomalies and the error message. |
Thanks for replying! So if i understand correctly, the But i found a way to use the I just got one more question. The I understand the workaround in the following way: The model gets trained with edit: Im sorry, i fotget about how the ground-truth anomalies are sperated into point and contextual, simple with the length? But then information about the time between measurements are neccessary. edit edit: Okay i looked at the code and apparently all anomalies are evaluated as contextual anomalies: file: orion/core.py Anyway much thanks to you for your support, i really like your framework and will cite it in my master-thesis which is about finding anomalies in building energy meter-data. |
Yes that is correct @LuSchnitt, the Thank you so much, best of like with your master thesis! |
Question 1:
I want to make a Benchmark for some Pipelines, but how to set the ground truth in den input?
In this quickstart, we can use the evaluation function wiht ground_truth, but how to use in the benchmark-function?
Question 2:
As far as i understand, all these models work only in a unsupervised way, since all models are used in a regression-based way since they try to predict values from the time-series input which are part of the input. For models like auto-encoder, they can also wokr in a semi-supervised way, where they use some labeled data (Anomaly or not) to define/find a better threshhold to separate the distribution of normal data and anaomaly data.
Are all models limited to use them in a unsupervised way? And do i have access to the threshold value you use in https://sintel.dev/Orion/api_reference/api/orion.primitives.timeseries_anomalies.find_anomalies.html.
Since there is not exactly explained what this Threshiold is and how it will be computed. Can u explain or give me a reference where is is stated?
Best Lukas
The text was updated successfully, but these errors were encountered: