Statistics.WeibullFit Method

Overload List

#SignatureDescription
1procedure WeibullFit(const X: TVec; out A: Double; out B: Double; var PCIA: TDoubleArray; var PCIB: TDoubleArray; MaxIter: Integer; Tolerance: Double; Alpha: Double);Calculate parameters for Weibull distributed values.
2procedure WeibullFit(const X: TVec; out A: Double; out B: Double; MaxIter: Integer; Tolerance: Double);Calculate parameters for Weibull distributed values using MLE.

Overload 1: procedure WeibullFit(const X: TVec; out A: Double; out B: Double; var PCIA: TDoubleArray; var PCIB: TDoubleArray; MaxIter: Integer; Tolerance: Double; Alpha: Double);

Calculate parameters for Weibull distributed values.

#NameDescription
1XStores data which is assumed to be Weibull distributed.
2AReturn Weibull distribution parameter estimator A.
3BReturn Weibull distribution parameter estimator B.
4MaxIterMaximum number of iterations needed for deriving a and b.
5ToleranceDefines the acceptable tolerance for calculating a and b.
6PCIAA (1-Alpha)*100 percent confidence interval.
7PCIBB (1-Alpha)*100 percent confidence interval.
8AlphaConfidence interval percentage.

Result: stored in self (calling object)

See Also: StatRandom.RandomWeibull, Probabilities.WeibullStat

Overload 2: procedure WeibullFit(const X: TVec; out A: Double; out B: Double; MaxIter: Integer; Tolerance: Double);

Calculate parameters for Weibull distributed values using MLE.

#NameTypeDescription
1XTVec
2ADouble
3BDouble
4MaxIterInteger
5ToleranceDoublescalar

Result: stored in self (calling object)

Examples
Uses MtxExpr, Math387, Statistics;
procedure Example;
var vec1: Vector;
resA, resB : double;
CIA,CIB: TTwoElmReal;
begin
    // first, generate 1000 randomly Weibull distributed
    // numbers with parameters a=0.5 and b =1.2
    vec1.Size(1000);
    RandomWeibull(0.5,1.2,vec1);
    // Now extract the a,b and their 95% confidence intervals.
    // Use at max 400 iterations and tolerance 0.0001
    WeibullFit(vec1,resA,resB,CIA,CIB,400,1e-4,0.05);
end;