Table of Contents

Class PELTOptions

Namespace
SignalSharp.Detection.PELT
Assembly
SignalSharp.dll

Represents the configuration options for the Piecewise Linear Trend Change (PELT) algorithm.

public record PELTOptions : IEquatable<PELTOptions>
Inheritance
PELTOptions
Implements
Inherited Members

Remarks

These options allow customization of the PELT algorithm's behavior, including the cost function used to evaluate segment quality, the minimum segment size, and the jump parameter for candidate change point evaluation.

Adjust these options based on the characteristics of your data, the expected nature of the changes, and the desired sensitivity versus computational speed trade-off.

Properties

CostFunction

The cost function used to measure the goodness-of-fit or homogeneity of a segment. Must implement IPELTCostFunction. The choice of cost function is critical and depends on the type of change being detected (e.g., change in mean, variance, rate).

Defaults to L2CostFunction (sensitive to changes in mean).

public IPELTCostFunction CostFunction { get; init; }

Property Value

IPELTCostFunction

Jump

The step size (or jump interval) for evaluating candidate change points. Must be >= 1.

Jump = 1 corresponds to the exact PELT algorithm, evaluating all valid previous change points.

Jump > 1 introduces an approximation by only checking potential previous change points at intervals of Jump (within the admissible set). This can significantly speed up the algorithm, especially for long signals or complex cost functions, but may miss the true optimal segmentation. It's a trade-off between speed and exactness.

Defaults to 1 (exact PELT).

public int Jump { get; init; }

Property Value

int

MinSize

The minimum number of data points required in any valid segment. Must be >= 1.

This prevents the detection of overly short segments. It should be chosen based on the minimum meaningful duration of a stable state in the data. A larger MinSize reduces sensitivity to very short-lived changes but improves robustness against noise.

Defaults to 1.

public int MinSize { get; init; }

Property Value

int