Cusum Chart 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#
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.4.0
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:
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
| Cusum | Initializes a new CusumChart in the Unfitted state from a vector of observations. |
Properties
| Decision | Gets the decision interval h. The process is flagged out of control when C⁺ or C⁻ exceeds this threshold. |
| Lower | Gets the lower cumulative sum series C⁻. |
| Observations | Gets the baseline observations used to fit this chart. |
| Reference | 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. |
| Upper | 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>) |
| Create | 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) |
| Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
| From | Reconstructs a CusumChart from a JSON string previously produced by ToJson(). |
| Get | Serves as the default hash function. (Inherited from Object) |
| Get | Gets the Type of the current instance. (Inherited from Object) |
| ToJson | Serializes this CusumChart to a JSON string. |
| ToString | Returns a string that represents the current object. (Inherited from Object) |