void QCWestgardRules(TVec *Data, TVec *OutControl, double dataMean, double dataSigma);
Compares values agains Westgard rules.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Data | TVec * | Data to-be-checked with Westgard rules. |
| 2 | OutControl | TVec * | Vector storing each point status. If point(i) is out-of-control, then OutControl.Values[i] will be greater than zero (see explanation above). |
| 3 | dataMean | double | In most cases equal to data mean, but you can specify any value. |
| 4 | dataSigma | double | In most cases equal to data standard deviation, but you can specify any value. |
Remarks:
Data individual values are tested to determine if they are in, or out, of control using a set of five rules called the Westgard rules. These rules indicate which points are out-of-control. The Westgard rules are (see www.westgard.com/mltirule.htm for details):
- Description | Rule
- 1S3 — One value beyond three sigma from the mean.
- 1S2 — One value beyond two sigma from the mean.
- 2S2 — Two consecutive values either greater than, or less than, two sigma from the mean.
- RS4 — A difference between consecutive values greater than four sigma.
- 41S — Four consecutive values greater than, or less than, one sigma from the mean.
- 10X — Ten consecutive values all greater than, or less than, the mean.
For each point several rules can be violated at the same time. Each Westgard rule violation has different value:
- Rule violated | Value
- 1S3 — 1=2^0
- 1S2 — 2=2^1
- 2S2 * — 4=2^2
- RS4 — 8=2^3
- 4S1 — 16=2^4
- 10X * — 32=2^5
For example, if rules 2S2 and 10X were violated, then the sum of violations for point would be 4 + 32 = 36 = 100100.
Examples
#include "MtxExpr.h"
#include "MtxExprInt.h"
#include "Units.StatControlCharts.h"
using namespace Dew;
using namespace Dew::Math;
using namespace Dew::Stats;
using namespace Dew::Stats::Units::StatControlCharts;
void Example()
{
Vector data(0);
Vector outofcontrol(0);
VectorInt indexes(0);
data.Size(100);
data.RandGauss(230.3, 5.2);
QCWestgardRules(data,outofcontrol,data.Mean(),data.StdDev());
// Now find indexes of out-of-control points
indexes.FindIndexes(outofcontrol,">",0.0);
// indexes.IValues now stores the indices of out-of-control points
}
Declared in Dew::Stats::Units::StatControlCharts · Dew.Stats/Units.StatControlCharts.h · Cross-compiler