procedure StatNormalPlot(const Data: TVec; const XDrawVec: TVec; const YDrawVec: TVec; out MinX: Double; out MaxX: Double; out MinY: Double; out MaxY: Double; const StdErrs: TVec; const DataSorted: Boolean);
Constructs the Normal Probability Chart.
| # | Name | Description |
|---|---|---|
| 1 | Data | Data to be drawn. The assumption is data values are sorted. |
| 2 | DataSorted | If true, algorithm assumes Data is already sorted in ascending order. If Data is not sorted, you must set this parameter to false so that internal algorithm will automatically do the sorting. |
| 3 | XDrawVec | Returns normal probability plot horizontal values to be drawn - > estimated quantiles from Data vector or in this case sorted Data values. |
| 4 | YDrawVec | Returns normal probability plot vertical values to be drawn - > Values are generated from theoretical standard normal distribution with parameters mu=0, sigma^2=1. |
| 5 | MinX | Returns slope line start X point, XDrawVec 25th percentile. These value are used by Tee.ProbabilityPlot series. |
| 6 | MinY | Returns slope line start Y point, YDrawVec 25th percentile. These value are used by Tee.ProbabilityPlot series. |
| 7 | MaxX | Returns slope line end X point, XDrawVec 75th percentile. These value are used by Tee.ProbabilityPlot series. |
| 8 | MaxY | Returns slope line end Y point, YDrawVec 75th percentile. These value are used by Tee.ProbabilityPlot series. |
| 9 | StdErrs | Standard error |
Result: stored in self (calling object)
Remarks:
How to construct Normal distribution probability plot?
- If needed, Data values are sorted (DataSorted parameter must be set to false).
- Abscissa drawing values are formed by estimated data quantiles - ordered Data values. After calculation they are copied to XDrawVec. TMtxVecBase.Length and TMtxVec.Complex properties of XDrawVec are adjusted automatically.
- Ordinate drawing values are formed by using theoretical probability
pi.e the soZvalues. After calculation they are copied to YDrawVec. TMtxVecBase.Length and TMtxVec.Complex properties of YDrawVec are adjusted automatically. - XDrawVec and YDrawVec 25th and 75th percentile points are used to construct a reference line. Drawing points departures from this straight line indicate departures from normality.
The normal probability plot is used to answer the following questions:
- Are the data normally distributed?
- What is the nature of the departure from normality (data skewed, shorter than expected tails, longer than expected tails)?
Examples
Uses MtxExpr, StatProbPlots, StatSeries, Math387, MtxVecTee;
procedure Example(Series1: TStatProbSeries);
var Data, XVec, YVec: Vector;
X1,Y1,X2,Y2: double;
begin
// generate some random values for Data vec
Data.Size(100);
Data.RandGauss(0.0,1.0); // standard norm. dist.
StatNormalPlot(Data,XVec,YVec,X1,X2,Y1,Y2,false);
With Series1 do
begin
MinX := X1;
MinY := Y1;
MaxX := X2;
MaxY := Y2;
end;
DrawValues(XVec,YVec,Series1);
end;
See Also: ProbabilityPlot