Custom distribution in Distribution Fitting Tool
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Dear all,
I am trying to fit an inverse Gamma distribution to a random sample.Initially, I coded the inverse Gamma distribution and then import it to the dfittool. The problem is that when I attempt to fit the distribution and obtain the mle parameters it is not listed there. There are only a few other distributions in the drop down list that you are allowed to fit to. Does this indicate an error or that the inverse gamma is not a good fit?
I also get an error when importing the distribution:
??? Java exception occurred: java.lang.NullPointerException at com.mathworks.toolbox.stats.DistributionFitting.addFitType(DistributionFitting.java:296)
Error in ==> dfsetdistributions at 20 dft.addFitType('addparamfit',a.name, a.code, a.pnames, a.pdescription, ... Error in ==> dfcustomdist at 99 dfsetdistributions(dft,dists);
??? Error while evaluating uimenu Callback
I am confused and anyone's help will be appreciated.
BEst Regards,
Konstantinos
0 comentarios
Respuesta aceptada
Tom Lane
el 13 de Sept. de 2011
Konstantinos, this does not indicate a bad fit, as no preliminary fit is attempted. Distributions could be ruled out if they are inconsistent with the data in some way. These include discrete distributions for non-integer data, and positive distributions for data containing negative values.
The error message is going to be hard to figure out remotely. If you feel like sending the file you imported to tlane at mathworks dot com, I'll take a look.
0 comentarios
Más respuestas (2)
Tom Lane
el 15 de Sept. de 2011
Konstantinos, I am not sure but here are some things to check. First, you create an options structure and supply it to mle like this:
load carsmall
opt = statset('mlecustom')
opt.MaxIter = 3;
mle(Weight,'dist','tlocationscale','opt',opt)
When I do this I hit the iteration limit. Then if I try
opt.MaxIter = 333;
mle(Weight,'dist','tlocationscale','opt',opt)
this time I don't hit the iteration limit but I hit the function evaluation limit instead. I can increase that as well:
opt.MaxFunEvals = 1000;
mle(Weight,'dist','tlocationscale','opt',opt)
This lets the estimation proceed to convergence.
0 comentarios
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!