Comments (1)
Hello,
Thank you for your question and sorry for the late reply.
Since we are generating data with synthetic anomalies, before running scale_anomaly
both the predict and real values are exactly the same.
scale_anomaly
moves the values of either the real or the predict column by reducing them by a factor r
.
r
is obtained from the anomaly specific (there can be multiple anomalies) sampled severity
and deviation
of the anomaly, following a normal distribution.
r = rng.normal(loc=severity, scale=deviation)
v = max(row * (1 - r), 0.0)
In this work (as with Squeeze), we only consider KPIs that are additive (or derived KPIs based on additive KPIs). Relevant examples are page views, error counts, traffic volume, etc. These are all strictly positive and can not have negative values.
The max(row * (1 - r), 0.0)
is thus to make sure that the real
value and the predict
value (again, depending on the anomaly direction) are positive.
So for your question: that the predicted value then becomes 0 is a consequence of the severity of the anomaly being large, getting an r>=1
.
Imagine for example that the KPI counts error codes and is usually normal (e.g., predict=0). When the actual values are above that we still want to be able to determine the root cause which will fail if elements with predict 0 are removed.
However, running Squeeze, any rows with predict=0 and non-zero actual value will receive a deviation score of -2 and should not automatically be filtered away.
from riskloc.
Related Issues (9)
- demo for squeeze HOT 3
- Question about the value of "n_remove" in riksloc HOT 3
- About the forecasts HOT 3
- 数据集获取不了 HOT 1
- the result of adtributor HOT 1
- question of surprise in adtributor HOT 3
- hotspot方法:关于PS度量因置信度的可解释性 HOT 5
- input data HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from riskloc.