Capability Class

Provides static methods for process capability and performance analysis.

Definition

Namespace: Numerics.NET.Statistics.ProcessControl
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.4.0
C#
public static class Capability
Inheritance
Object  →  Capability

Remarks

Capability analysis quantifies how a process fits specification limits using a within-process estimate of variation. Performance analysis uses an overall-process estimate of variation.

Phase 1 supports continuous data under normal-distribution assumptions.

Example

Analyze capability for individuals data against two-sided specification limits:

C#
double[] observations = { 9.0, 11.0, 10.0, 12.0, 8.0, 10.0, 9.0, 11.0, 10.0, 10.0 };
var specs = new SpecificationLimits(Lower: 5.0, Upper: 15.0);

CapabilityAnalysisResult result = Capability.Analyze(observations.AsSpan(), specs);

Console.WriteLine($"Cp  = {result.Cp:F4}");   // potential capability
Console.WriteLine($"Cpk = {result.Cpk:F4}");  // achieved capability
Console.WriteLine($"Pp  = {result.Pp:F4}");   // potential performance
Console.WriteLine($"Ppk = {result.Ppk:F4}");  // achieved performance
Console.WriteLine($"Total defect rate (PPM) = {result.TotalDefectRatePpm:F2}");

Analyze capability for a one-sided upper specification limit:

C#
var upperOnlySpecs = new SpecificationLimits(Lower: null, Upper: 15.0);
CapabilityAnalysisResult r = Capability.Analyze(observations.AsSpan(), upperOnlySpecs);

// Cpu and Ppu are available; Cpl, Ppl, Cp, Pp are null
Console.WriteLine($"Cpu = {r.Cpu:F4}");
Console.WriteLine($"Ppu = {r.Ppu:F4}");

Methods

Analyze(Matrix<Double>, SpecificationLimits, SigmaEstimator, Double) Performs capability and performance analysis on a subgroup matrix and computes confidence intervals at the requested level.
Analyze(ReadOnlySpan<Double>, SpecificationLimits, SigmaEstimator, Double) Performs capability and performance analysis on a span of individuals observations and computes confidence intervals at the requested level.
Analyze(ReadOnlySpan<Double>, ReadOnlySpan<Int32>, SpecificationLimits, SigmaEstimator) Performs capability and performance analysis on flat observations with integer subgroup IDs.
Analyze(Vector<Double>, IGrouping, SpecificationLimits, SigmaEstimator) Performs capability and performance analysis on grouped observations using a Numerics.NET grouping abstraction.
Analyze(Vector<Double>, SpecificationLimits, SigmaEstimator, Double) Performs capability and performance analysis on an individuals series and computes confidence intervals at the requested level.
Analyze(ReadOnlySpan<Double>, ReadOnlySpan<Int32>, SpecificationLimits, SigmaEstimator, Double) Performs capability and performance analysis on flat observations with integer subgroup IDs and computes confidence intervals at the requested level.
Analyze(Vector<Double>, IGrouping, SpecificationLimits, SigmaEstimator, Double) Performs capability and performance analysis on grouped observations using a Numerics.NET grouping abstraction and computes confidence intervals at the requested level.
Analyze(ControlChart, SpecificationLimits, Nullable<Double>, Nullable<TestOfNormality>, ControlRuleSet, Double) Performs capability and performance analysis from a fitted or deployed variable control chart, using the chart's established baseline parameters.
Analyze(Matrix<Double>, SpecificationLimits, SigmaEstimator, Nullable<TestOfNormality>, ControlRuleSet, Double) Performs capability and performance analysis on a subgroup matrix.
Analyze(ReadOnlySpan<Double>, SpecificationLimits, SigmaEstimator, Nullable<TestOfNormality>, ControlRuleSet, Double) Performs capability and performance analysis on a span of individuals observations.
Analyze(Vector<Double>, SpecificationLimits, SigmaEstimator, Nullable<TestOfNormality>, ControlRuleSet, Double) Performs capability and performance analysis on an individuals series.

See Also