CusumChart Class

A v2 SPC chart for monitoring individual observations using the Cumulative Sum (CUSUM) method. Implements the full Unfitted → Fitted → Deployed → Apply lifecycle defined by ControlChart.

Definition

Namespace: Numerics.NET.Statistics.ProcessControl
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.4.0
C#
public sealed class CusumChart : ControlChart<CusumChart>
Inheritance
Object  →  ControlChart  →  ControlChart<CusumChart>  →  CusumChart

Remarks

The CUSUM chart is particularly effective at detecting small, persistent shifts in the process mean. It maintains two cumulative sums: C⁺ accumulates evidence of upward shifts and C⁻ accumulates evidence of downward shifts. A signal occurs when either sum exceeds the decision interval h.

Typical usage:

C#
double[] baseline = { 9, 11, 10, 12, 8, 10, 9, 11, 10, 10 };

// Phase I — establish limits
CusumChart chart = new CusumChart(
    Vector.Create(baseline),
    new CusumChartOptions
    {
        ReferenceValue = 0.5,
        DecisionInterval = 5.0
    });
chart.Analyze();

// Deploy for production monitoring
CusumChart deployed = (CusumChart)chart.Deploy();

// Persist and restore
string json = deployed.ToJson();
CusumChart restored = CusumChart.FromJson(json);

// Phase II — apply to new observations
double[] production = { 10, 9, 11, 12, 10 };
CusumChart applied = (CusumChart)restored.Apply(Vector.Create(production));

Constructors

CusumChart Initializes a new CusumChart in the Unfitted state from a vector of observations.

Properties

DecisionInterval Gets the decision interval h. The process is flagged out of control when C⁺ or C⁻ exceeds this threshold.
LowerCusumValues Gets the lower cumulative sum series C⁻.
Observations Gets the baseline observations used to fit this chart.
ReferenceValue Gets the reference value (allowance) k used to compute the cumulative sums.
Sigma Gets the process sigma estimate used to standardize observations in the CUSUM recursion.
State Gets the current lifecycle state of this chart.
(Inherited from ControlChart)
Target Gets the target value (μ₀) used as the center line for the CUSUM recursion.
UpperCusumValues Gets the upper cumulative sum series C⁺.

Methods

Analyze Performs phase-I analysis, establishing control limits and transitioning the chart from Unfitted to Fitted.
(Inherited from ControlChart)
Apply Applies new observations to this Deployed chart and returns a new TChart in the Fitted state.
(Inherited from ControlChart<TChart>)
CreateDeployed Creates a CusumChart directly in the Deployed state from externally supplied fitted parameters.
Deploy Creates a new TChart in the Deployed state from this Fitted chart.
(Inherited from ControlChart<TChart>)
Diagnose Produces a diagnostic report for the current chart state.
(Inherited from ControlChart)
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FromJson Reconstructs a CusumChart from a JSON string previously produced by ToJson().
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
ToJson Serializes this CusumChart to a JSON string.
ToStringReturns a string that represents the current object.
(Inherited from Object)

See Also