From 06076c2f01fb9da3f41a216fff1b6d59e0d3c565 Mon Sep 17 00:00:00 2001 From: clarasaia Date: Wed, 10 Dec 2025 22:07:15 +0100 Subject: [PATCH] Added ARIMA, AARIMA and Prophet Anomaly Detectors --- timeseria/models/anomaly_detectors.py | 33 ++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/timeseria/models/anomaly_detectors.py b/timeseria/models/anomaly_detectors.py index a4efe19..15693a1 100644 --- a/timeseria/models/anomaly_detectors.py +++ b/timeseria/models/anomaly_detectors.py @@ -2,7 +2,7 @@ """Anomaly detection models.""" from copy import deepcopy -from .forecasters import Forecaster, PeriodicAverageForecaster, LSTMForecaster, LinearRegressionForecaster +from .forecasters import Forecaster, PeriodicAverageForecaster, LSTMForecaster, LinearRegressionForecaster, ARIMAForecaster, AARIMAForecaster, ProphetForecaster from .reconstructors import Reconstructor, PeriodicAverageReconstructor from .base import Model from math import log10 @@ -1023,6 +1023,7 @@ class LSTMAnomalyDetector(ModelBasedAnomalyDetector): model_class = LSTMForecaster + #=================================== # Linear Regression Anomaly Detector #=================================== @@ -1032,3 +1033,33 @@ class LinearRegressionAnomalyDetector(ModelBasedAnomalyDetector): model_class = LinearRegressionForecaster + +#=================================== +# ARIMA Anomaly Detector +#=================================== + +class ARIMAAnomalyDetector(ModelBasedAnomalyDetector): + """An anomaly detection model based on an ARIMA forecaster.""" + + model_class = ARIMAForecaster + + +#=================================== +# AARIMA Anomaly Detector +#=================================== +# +class AARIMAAnomalyDetector(ModelBasedAnomalyDetector): + """An anomaly detection model based on an AARIMA forecaster.""" + + model_class = AARIMAForecaster + + +#=================================== +# Prophet Anomaly Detector +#=================================== + +class ProphetAnomalyDetector(ModelBasedAnomalyDetector): + """An anomaly detection model based on a Prophet forecaster.""" + + model_class = ProphetForecaster +