Statistics.BetaFit Method

Overload List

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

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

Calculate parameters for Beta distributed values.

#NameDescription
1XStores data which is assumed to be Beta distributed.
2AReturn Beta distribution parameter estimator a.
3BReturn Beta 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.RandomBeta, Probabilities.BetaStat

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

Calculate parameters for Beta distributed values using MLE.

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

Result: stored in self (calling object)

Examples
Uses MtxExpr, Math387, Statistics, StatRandom;
procedure Example;
var vec1: Vector;
resA, resB : double;
CIA,CIB: TTwoElmReal;
begin
    // first, generate 1000 randomly beta distributed
    // numbers with parameters a=3 and b =2
    vec1.Size(1000);
    RandomBeta(3,2,vec1);
    // Now extract the a,b and their 95% confidence intervals.
    //Use at max 300 iterations and tolerance 0.001
    BetaFit(vec1,resA,resB,CIA,CIB,300,1e-3);
end;