FluxEV#
- class oats.models.predictive.fluxev.FluxEVModel(window: int = 10, window_smoothing=None, q=0.0001, level=0.95, **kwargs)[source]#
Bases:
Model
FluxEV
Implementation from the paper with QoL improvements for production.
Li, Jia and Di, Shimin and Shen, Yanyan and Chen, Lei “FluxEV: A Fast and Effective Unsupervised Framework for Time-Series Anomaly Detection” https://doi.org/10.1145/3437963.3441823
- Parameters:
window (int, optional) – main window length. Defaults to 10.
window_smoothing (int, optional) – window length for smoothig operation, if None then same as window. Defaults to None.
q (float, optional) – q level such that P(threshold) < q. Defaults to 1e-4.
level (float, optional) – threshold to fit tail distribution. Defaults to 0.95.
memory (int, optional) – how many data points for the tails. Defaults to 2000.
bw_reset_every (int, optional) – used for method of moments estimation to prevent a bad fit (MoM is not robust against outliers); use distribution from kde estimation to compute tail level; this parameter dictates how often bandwidth is refitted. Defaults to 2000.
support (float, optional) – used for method of moments estimation to prevent a bad fit (MoM is fast but unreliable); threshold is computed as the maximum of GPD and support * HalfNormal. Defaults to 0.
init_cutoff (float, optional) – used for method of moments estimation to prevent a bad fit (MoM is not robust against outliers); only bottom init_cutoff deciles are used to fit the GPD distribution. Defaults to 1.
mle (bool, optional) – whether to use MLE for GPD parameter estimation; setting True will result in a slow down in performance. Default to False.