Beta parameter estimates
phat = betafit(data)
[phat,pci] = betafit(data,alpha)
phat = betafit(data) computes
the maximum likelihood estimates of the beta distribution parameters a and b from
the data in the vector
data and returns a column
vector containing the a and b estimates,
where the beta cdf is given by
and B( · ) is the Beta function. The
data must lie in the open interval
(0, 1), where the beta distribution is defined. However, it is sometimes
also necessary to fit a beta distribution to data that include exact
zeros or ones. For such data, the beta likelihood function is unbounded,
and standard maximum likelihood estimation is not possible. In that
betafit maximizes a modified likelihood that
incorporates the zeros or ones by treating them as if they were values
that have been left-censored at
right-censored at 1-
[phat,pci] = betafit(data,alpha) returns
confidence intervals on the a and b parameters
in the 2-by-2 matrix
pci. The first column of the
matrix contains the lower and upper confidence bounds for parameter a,
and the second column contains the confidence bounds for parameter b.
The optional input argument
alpha is a value in
the range [0, 1] specifying the width of the confidence intervals.
corresponds to 95% confidence intervals. The confidence intervals
are based on a normal approximation for the distribution of the logs
of the parameter estimates.
This example generates 100 beta distributed observations. The
true a and b parameters
are 4 and 3, respectively. Compare these to the values returned in
the beta fit. Note that the columns of
bracket the true parameters.
data = betarnd(4,3,100,1); [p,ci] = betafit(data,0.01) p = 5.5328 3.8097 ci = 3.6538 2.6197 8.3781 5.5402
 Hahn, Gerald J., and S. S. Shapiro. Statistical Models in Engineering. Hoboken, NJ: John Wiley & Sons, Inc., 1994, p. 95.
This function fully supports GPU arrays. For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).