The mean and variance of a Kumaraswamy distribution with parameters a = 2 and b = 3 are respectively 16/35 and 201/4900.
When I solve the 2x2 system below for parameters a and b, Mathematica gags (likewise with NSolve and Reduce). FindRoot works, however.
Is there a way to get Solve or NSolve to return the values? Thanks.
Bruce
pdf = KumaraswamyDistribution[a, b];
Solve[Mean@pdf == 16/35 && Variance@pdf == 201/4900, {a, b}]
Solve::nsmet: This system cannot be solved with the methods available to Solve. >>
If you substitute that, you see that the result is correct (within the numerical precision). It does appear thought that you need to give the initial estimates.
Without them it does not work. As Frank says, Solve and NSolve are not really made for this, I assume.
I wonder if there’s more to this than simply the nonlinearity of the mean and variance with respect to the parameters. This is because Solve easily finds the parms of a beta distribution (but then I think the beta yields a polynomial system).
So it’s probably the gamma function (in the solution of the Kumaraswarmy example) that’s the real culprit and that forces the use of FindRoot.