UChart Class

A v2 SPC chart for monitoring defects per inspection unit (U chart). Supports both variable and constant unit sizes. 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 UChart : ControlChart<UChart>
Inheritance
Object  →  ControlChart  →  ControlChart<UChart>  →  UChart

Remarks

The U chart is used when the number of defects per inspection unit is being monitored and the unit sizes may vary. When unit sizes vary, each observation has its own control limits; when the unit size is constant, the limits are identical across all observations.

Use the Series property to access the result series. It returns a PointwiseLimitSeries when variable unit sizes produce per-point limits, or a FixedLimitSeries when a constant unit size was used.

Typical usage (variable sizes):

C#
double[] counts = { 4, 2, 6, 3, 5 };
double[] sizes  = { 5, 4, 6, 5, 4 };

// Phase I — establish limits
UChart chart = new UChart(Vector.Create(counts), Vector.Create(sizes));
chart.Analyze();

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

// Phase II — apply to new data with new unit sizes
double[] newCounts = { 3, 5, 2 };
double[] newSizes  = { 5, 5, 4 };
UChart applied = deployed.Apply(
    Vector.Create(newCounts), Vector.Create(newSizes));

Constructors

UChart(Vector<Double>, Vector<Double>, IIndex) Initializes a new UChart in the Unfitted state from vectors of defect counts and variable unit sizes.
UChart(Vector<Double>, Double, IIndex) Initializes a new UChart in the Unfitted state from a vector of defect counts and a single constant unit size. When the unit size is constant the control limits are identical across all observations.

Properties

HasVariableSizes Gets a value indicating whether this chart was constructed with variable unit sizes. When true, the Series property returns a PointwiseLimitSeries; when false, it returns a FixedLimitSeries.
PooledDefectsPerUnit Gets the pooled defects per unit (ū) computed during phase-I analysis, which serves as the chart center line.
Series Gets the U chart series with per-point control limits. This property is non-null when the chart was constructed with variable unit sizes.
State Gets the current lifecycle state of this chart.
(Inherited from ControlChart)
UnitSizes Gets the unit sizes used during phase-I analysis when the chart was constructed with variable unit sizes.

Methods

Analyze Performs phase-I analysis, establishing control limits and transitioning the chart from Unfitted to Fitted.
(Inherited from ControlChart)
Apply(Vector<Double>) Applies new observations to this Deployed chart and returns a new TChart in the Fitted state.
(Inherited from ControlChart<TChart>)
Apply(Vector<Double>, Vector<Double>) Applies new observations to this Deployed chart with variable unit sizes and returns a new UChart in the Fitted state.
CreateDeployedFixed Creates a constant-size UChart directly in the Deployed state from externally supplied fitted parameters.
CreateDeployedVariable Creates a variable-size UChart directly in the Deployed state from the pooled defects per unit. The chart is ready to accept new data via Apply(Vector<Double>, Vector<Double>).
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 UChart 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 UChart to a JSON string.
ToStringReturns a string that represents the current object.
(Inherited from Object)

See Also