[SciPy-Dev] scipy.stats.distributions: note on initial parameters for fitting the beta distribution

josef.pktd at gmail.com josef.pktd at gmail.com
Mon Oct 25 16:14:25 EDT 2010


On Mon, Oct 25, 2010 at 3:36 PM, James Phillips <zunzun at zunzun.com> wrote:
> Here is a link on estimating initial parameters for fitting the beta
> distribution.  I'm posting as it seems a good bit different from the
> current calculation in scipy.stats.distribution, and it calculates
> only the sample mean and biased sample variance.  I am not competent
> to judge which of the two methods is better for scipy, and hope
> someone on the mailing list can do so.

> http://www.xycoon.com/beta_parameterestimation.htm

This is exactly the same as the `fit` method in the scipy trunk
version when loc and scale are fixed. The problem is only if you also
want to estimate loc and scale, in that case standard mle doesn't
really work. I'm not sure what the estimator in the _fitstart is,
looks like matching skew and kurtosis.

As Per mentioned in the other thread the best candidates for generic
estimation will be other methods, like maximum product spacings (I
never remember the official name), or maybe matching moments or
similar, which is also one recommendation for extreme value
distributions.

Are you handling fixed loc and scale in your code? In that case, it
might be possible just to restrict the usage of the beta distribution
for data between zero and one, or fix loc=x.min()-eps, scale=(x.max()
- x.min() + 2*eps) or something like this, if you don't want to get
another estimation method. (I don't remember if I tried this for the
beta distribution.)

Josef


>
>     James
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-dev
>



More information about the SciPy-Dev mailing list