UQModels for time series
Maintainer:IRT-SystemX
Description
UQMODELS for time series is a python library that seeks to put into practice uncertainty quantification based on ML/Deep learning models for the analysis of numerical data (Regression and time series). UQModels is inspired by scikit-learn for the creation of ML datascience processing chains incorporating uncertainty quantification mechanisms.
The main aim of these chains is to provide functionality that enhance confidence in model prediction by provide additional UQ-KPI that give insight about ML-modeling uncertainty throught for example, Predictive intervales/Margin of error that caught irreducible variability arround an observation, or even local Model unreliability link to the impact of the lack of observation due to data-representativness issues.
Therefore, the main functionality of the library concern the modeling step of data science pipeline, through the implementation of an UQModel wrapper that can combine several implementations of forecasting models, UQestimators, and post-processor to form a mathematical processing chain. Then UQModel library provide :
- several UQEstimators able to estimate several nature of UQ-measure as statistical measure of ML-uncertainty and optionally make prediction.
- UQ-Processing functions that process UQ-measure and/or prediction and/or observation to produce some usefull UQ-KPI.
- Anom-processing functions that process UQ-measures and predictions and observations into a contextual deviation score based on residual (difference between observation and model) prediction normalised by UQmeasure thank to UQ-processing function.
- UQKPI-Processor that wrap UQ-Processing function in a scikit learn Transformer format (fit/tranform procedure) to provide both UQ or Anom KPI
- UQModel wrapper that combine a whole pipeline as a (fit/predict/score) object that produce both prediction and specified UQ-KPI
Such UQ-Model object can be used, in the context of monitoring key variables to characterise the state of a dynamic system, for time series monitoring purpose by provide both forecast augmented by uncertainty KPIs (as error margin or model unreliability score) using predict method or anomaly score using score method.
In addition to modeling-post-processing pipeline, the library also implements minor functionality (in the form of wrappers) designed to facilitate the formalization of the pre-processing and evaluation step.