variance_cusum

Two-sided variance CUSUM change-point detection algorithm.

class pysatl_cpd.algorithms.online.cusum.algorithm.variance_cusum.VarianceTwoSidedCusumConfiguration(*, learning_period_size=0, adaptive_estimation=True, delta=0.0)[source]

Bases: GeneralizedCUSUMConfiguration

Configuration for the variance two-sided CUSUM algorithm.

Variables:

delta – Sensitivity parameter for the Page change-point function.

Parameters:
  • learning_period_size (int)

  • adaptive_estimation (bool)

  • delta (float)

delta: float = 0.0
__post_init__()[source]

Validate configuration after initialisation.

Raises:

ValueError – If learning_period_size is non-positive.

Return type:

None

__init__(*, learning_period_size=0, adaptive_estimation=True, delta=0.0)
Parameters:
  • learning_period_size (int)

  • adaptive_estimation (bool)

  • delta (float)

Return type:

None

class pysatl_cpd.algorithms.online.cusum.algorithm.variance_cusum.VarianceTwoSidedCusumState(*, is_in_learning_period=False, statistics)[source]

Bases: GeneralizedCUSUMState[EstimatesGaussianMLE]

State snapshot of the variance two-sided CUSUM algorithm.

Parameters:
__init__(*, is_in_learning_period=False, statistics)
Parameters:
Return type:

None

class pysatl_cpd.algorithms.online.cusum.algorithm.variance_cusum.VarianceTwoSidedCUSUM(learning_period_size, delta=0.0, adaptive_estimation=True)[source]

Bases: GeneralizedCUSUM[UnivariateNumericArray, VarianceTwoSidedCusumConfiguration, VarianceTwoSidedCusumState, EstimatesGaussianMLE, UnivariateNumericArray]

Two-sided CUSUM detector focused on variance changes.

Parameters:
  • learning_period_size (int) – Number of initial training observations (> 0).

  • delta (float) – Sensitivity parameter for the Page CUSUM statistic.

  • adaptive_estimation (bool) – Whether to re-estimate variance online after training.

__init__(learning_period_size, delta=0.0, adaptive_estimation=True)[source]
Parameters:
  • learning_period_size (int)

  • delta (float)

  • adaptive_estimation (bool)

Return type:

None

property name: str

Human-readable algorithm name.

property configuration: VarianceTwoSidedCusumConfiguration

Current algorithm configuration.

Return type:

VarianceTwoSidedCusumConfiguration

property state: VarianceTwoSidedCusumState

Materialise an immutable state snapshot.

Return type:

VarianceTwoSidedCusumState

process(observation)[source]

Ingest one observation and return the change-point statistic.

Coerces input to a 1-D array and delegates to the parent.

Parameters:

observation (double | int | float | ndarray[tuple[int], dtype[double]]) – New observation (must be dim=1).

Return type:

double | int | float

Raises:

ValueError – If observation is not dim=1.