Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

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

$$F(x|a,b)=\frac{1}{B(a,b)}{\displaystyle \underset{0}{\overset{x}{\int}}{t}^{a-1}}{(1-t)}^{b-1}dt$$

and *B*( · ) is the Beta function. The
elements of `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
case, `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 `sqrt(realmin)`

or
right-censored at 1-`eps`

/2, respectively.

`[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.
By default, `alpha`

is `0.05`

, which
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 `p`

by
the beta fit. Note that the columns of `ci`

both
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

[1] Hahn, Gerald J., and S. S. Shapiro. *Statistical
Models in Engineering*. Hoboken, NJ: John Wiley &
Sons, Inc., 1994, p. 95.

Was this topic helpful?