# `detectors`

Concept and data drift detectors.

This module exports both families.

* **Concept drift** (`REQUIRES_FIT = False`): feed a scalar, usually
  a prediction error, to [`add_element()`](capymoa.drift.base_detector.BaseDriftDetector.md#capymoa.drift.base_detector.BaseDriftDetector.add_element).
* **Data drift** (`REQUIRES_FIT = True`): compare input features to a
  reference with [`fit()`](capymoa.drift.detectors.BaseDataDriftDetector.md#capymoa.drift.detectors.BaseDataDriftDetector.fit)
  or `auto_fit_samples`.

[`BaseDataDriftDetector`](capymoa.drift.detectors.BaseDataDriftDetector.md#capymoa.drift.detectors.BaseDataDriftDetector) and [`DataDriftResult`](capymoa.drift.detectors.DataDriftResult.md#capymoa.drift.detectors.DataDriftResult) are helpers,
not detectors to pick.

## Concept drift

| Detector                                                                                                               | Typical input                       |
|------------------------------------------------------------------------------------------------------------------------|-------------------------------------|
| [`ABCD`](capymoa.drift.detectors.ABCD.md#capymoa.drift.detectors.ABCD)                                     | Feature vector, or a scalar error   |
| [`ADWIN`](capymoa.drift.detectors.ADWIN.md#capymoa.drift.detectors.ADWIN)                                   | Scalar                              |
| [`CUSUM`](capymoa.drift.detectors.CUSUM.md#capymoa.drift.detectors.CUSUM)                                   | Scalar                              |
| [`DDM`](capymoa.drift.detectors.DDM.md#capymoa.drift.detectors.DDM)                                       | Scalar                              |
| [`EDDM`](capymoa.drift.detectors.EDDM.md#capymoa.drift.detectors.EDDM)                                     | Scalar                              |
| [`EWMAChart`](capymoa.drift.detectors.EWMAChart.md#capymoa.drift.detectors.EWMAChart)                           | Scalar                              |
| [`GeometricMovingAverage`](capymoa.drift.detectors.GeometricMovingAverage.md#capymoa.drift.detectors.GeometricMovingAverage) | Scalar                              |
| [`HDDMAverage`](capymoa.drift.detectors.HDDMAverage.md#capymoa.drift.detectors.HDDMAverage)                       | Scalar                              |
| [`HDDMWeighted`](capymoa.drift.detectors.HDDMWeighted.md#capymoa.drift.detectors.HDDMWeighted)                     | Scalar                              |
| [`OPTWIN`](capymoa.drift.detectors.OPTWIN.md#capymoa.drift.detectors.OPTWIN)                                 | Scalar                              |
| [`PageHinkley`](capymoa.drift.detectors.PageHinkley.md#capymoa.drift.detectors.PageHinkley)                       | Scalar                              |
| [`RDDM`](capymoa.drift.detectors.RDDM.md#capymoa.drift.detectors.RDDM)                                     | Scalar                              |
| [`SEED`](capymoa.drift.detectors.SEED.md#capymoa.drift.detectors.SEED)                                     | Scalar                              |
| [`STEPD`](capymoa.drift.detectors.STEPD.md#capymoa.drift.detectors.STEPD)                                   | Scalar                              |
| [`STUDD`](capymoa.drift.detectors.STUDD.md#capymoa.drift.detectors.STUDD)                                   | Feature vector and model prediction |

## Data drift

| Detector                                                                                                     | Typical input                |
|--------------------------------------------------------------------------------------------------------------|------------------------------|
| [`AndersonDarling`](capymoa.drift.detectors.AndersonDarling.md#capymoa.drift.detectors.AndersonDarling)     | Feature vector (numeric)     |
| [`BNDM`](capymoa.drift.detectors.BNDM.md#capymoa.drift.detectors.BNDM)                           | Feature vector (numeric)     |
| [`ChiSquare`](capymoa.drift.detectors.ChiSquare.md#capymoa.drift.detectors.ChiSquare)                 | Feature vector (categorical) |
| [`CramerVonMises`](capymoa.drift.detectors.CramerVonMises.md#capymoa.drift.detectors.CramerVonMises)       | Feature vector (numeric)     |
| [`D3`](capymoa.drift.detectors.D3.md#capymoa.drift.detectors.D3)                               | Feature vector (numeric)     |
| [`EnergyDistance`](capymoa.drift.detectors.EnergyDistance.md#capymoa.drift.detectors.EnergyDistance)       | Feature vector (numeric)     |
| [`Hellinger`](capymoa.drift.detectors.Hellinger.md#capymoa.drift.detectors.Hellinger)                 | Feature vector (numeric)     |
| [`JensenShannon`](capymoa.drift.detectors.JensenShannon.md#capymoa.drift.detectors.JensenShannon)         | Feature vector (numeric)     |
| [`KLDivergence`](capymoa.drift.detectors.KLDivergence.md#capymoa.drift.detectors.KLDivergence)           | Feature vector (numeric)     |
| [`KolmogorovSmirnov`](capymoa.drift.detectors.KolmogorovSmirnov.md#capymoa.drift.detectors.KolmogorovSmirnov) | Feature vector (numeric)     |
| [`MMD`](capymoa.drift.detectors.MMD.md#capymoa.drift.detectors.MMD)                             | Feature vector (numeric)     |
| [`PSI`](capymoa.drift.detectors.PSI.md#capymoa.drift.detectors.PSI)                             | Feature vector (numeric)     |
| [`Wasserstein`](capymoa.drift.detectors.Wasserstein.md#capymoa.drift.detectors.Wasserstein)             | Feature vector (numeric)     |

## Classes

| [`ABCD`](capymoa.drift.detectors.ABCD.md#capymoa.drift.detectors.ABCD)                                     | Adaptive Bernstein Change Detector (ABCD).                         |
|------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------|
| [`ADWIN`](capymoa.drift.detectors.ADWIN.md#capymoa.drift.detectors.ADWIN)                                   | ADWIN Drift Detector                                               |
| [`BNDM`](capymoa.drift.detectors.BNDM.md#capymoa.drift.detectors.BNDM)                                     | Bayesian Nonparametric Detection Method                            |
| [`CUSUM`](capymoa.drift.detectors.CUSUM.md#capymoa.drift.detectors.CUSUM)                                   | CUSUM Drift Detector                                               |
| [`D3`](capymoa.drift.detectors.D3.md#capymoa.drift.detectors.D3)                                         | Discriminative Drift Detector (D3)                                 |
| [`DDM`](capymoa.drift.detectors.DDM.md#capymoa.drift.detectors.DDM)                                       | Drift-Detection-Method (DDM) Drift Detector                        |
| [`EDDM`](capymoa.drift.detectors.EDDM.md#capymoa.drift.detectors.EDDM)                                     | Early Drift Detection Method (EDDM) Drift Detector                 |
| [`MMD`](capymoa.drift.detectors.MMD.md#capymoa.drift.detectors.MMD)                                       | Maximum Mean Discrepancy                                           |
| [`OPTWIN`](capymoa.drift.detectors.OPTWIN.md#capymoa.drift.detectors.OPTWIN)                                 | Optimal Window Concept Drift Detector                              |
| [`PSI`](capymoa.drift.detectors.PSI.md#capymoa.drift.detectors.PSI)                                       | Population Stability Index                                         |
| [`RDDM`](capymoa.drift.detectors.RDDM.md#capymoa.drift.detectors.RDDM)                                     | Reactive Drift Detection Method Drift Detector                     |
| [`SEED`](capymoa.drift.detectors.SEED.md#capymoa.drift.detectors.SEED)                                     | Seed Drift Detector                                                |
| [`STEPD`](capymoa.drift.detectors.STEPD.md#capymoa.drift.detectors.STEPD)                                   | Statistical Test of Equal Proportions Drift Detector               |
| [`STUDD`](capymoa.drift.detectors.STUDD.md#capymoa.drift.detectors.STUDD)                                   | STUDD: Student-Teacher Unsupervised Drift Detection                |
| [`AndersonDarling`](capymoa.drift.detectors.AndersonDarling.md#capymoa.drift.detectors.AndersonDarling)               | Anderson-Darling K-Sample Test                                     |
| [`BaseDataDriftDetector`](capymoa.drift.detectors.BaseDataDriftDetector.md#capymoa.drift.detectors.BaseDataDriftDetector)   | Base class for detectors that monitor the input data distribution. |
| [`ChiSquare`](capymoa.drift.detectors.ChiSquare.md#capymoa.drift.detectors.ChiSquare)                           | Chi-Square Test                                                    |
| [`CramerVonMises`](capymoa.drift.detectors.CramerVonMises.md#capymoa.drift.detectors.CramerVonMises)                 | Cramér-von Mises Two-Sample Test                                   |
| [`DataDriftResult`](capymoa.drift.detectors.DataDriftResult.md#capymoa.drift.detectors.DataDriftResult)               | Result returned by a data-drift comparison.                        |
| [`EWMAChart`](capymoa.drift.detectors.EWMAChart.md#capymoa.drift.detectors.EWMAChart)                           | EWMA Charts Drift Detector                                         |
| [`EnergyDistance`](capymoa.drift.detectors.EnergyDistance.md#capymoa.drift.detectors.EnergyDistance)                 | Energy Distance                                                    |
| [`GeometricMovingAverage`](capymoa.drift.detectors.GeometricMovingAverage.md#capymoa.drift.detectors.GeometricMovingAverage) | Geometric Moving Average Test Drift Detector                       |
| [`HDDMAverage`](capymoa.drift.detectors.HDDMAverage.md#capymoa.drift.detectors.HDDMAverage)                       | Average Hoeffding's bounds Drift Detector                          |
| [`HDDMWeighted`](capymoa.drift.detectors.HDDMWeighted.md#capymoa.drift.detectors.HDDMWeighted)                     | Weighted Hoeffding's bounds Drift Detector                         |
| [`Hellinger`](capymoa.drift.detectors.Hellinger.md#capymoa.drift.detectors.Hellinger)                           | Hellinger Distance                                                 |
| [`JensenShannon`](capymoa.drift.detectors.JensenShannon.md#capymoa.drift.detectors.JensenShannon)                   | Jensen-Shannon Distance                                            |
| [`KLDivergence`](capymoa.drift.detectors.KLDivergence.md#capymoa.drift.detectors.KLDivergence)                     | Kullback-Leibler Divergence                                        |
| [`KolmogorovSmirnov`](capymoa.drift.detectors.KolmogorovSmirnov.md#capymoa.drift.detectors.KolmogorovSmirnov)           | Kolmogorov-Smirnov Two-Sample Test                                 |
| [`PageHinkley`](capymoa.drift.detectors.PageHinkley.md#capymoa.drift.detectors.PageHinkley)                       | Page-Hinkley Drift Detector                                        |
| [`Wasserstein`](capymoa.drift.detectors.Wasserstein.md#capymoa.drift.detectors.Wasserstein)                       | Wasserstein Distance (Earth Mover's Distance)                      |
