fitting a 3-parameter of Weibull PDF using mle
Mostrar comentarios más antiguos
Hello
I am trying to estimate the 3 parameters of a Weibull PDF on a series of positive values (n=934). My custom pdf is
custpdf=@(data,a,b,c) (a/b).*(((data-c)./b).^(a-1)).*(exp((-(data-c)./b).^(a)));
phat=mle(data,'pdf',custpdf,'start',[1 1 1]);
Error using mlecustom>llf_pdfcdf (line 440) The PDF function returned negative or zero values.
Error in fminsearch (line 200) fv(:,1) = funfcn(x,varargin{:});
Error in mlecustom (line 184) fminsearch(llf,start,opts,uncensData,censData,uncensFreq,censFreq,fun1Args,fun2Args,checkFunVals,lb,ub);
Error in mle (line 245) phat = mlecustom(data,varargin{:});
I tested also
phat=mle(data,'wblpdf',custpdf,'start',[1 1 1]);
But I get only two parameters
Vincent
Any idea about what is wrong ?
Respuesta aceptada
Más respuestas (1)
Jeff Miller
el 9 de Jun. de 2018
mydist = Weibull(400000,.9,min(data));
mydist.EstML(data);
There don't seem to be numerical problems even though the numbers are so big. The following:
dataover1000 = data / 1000;
mydist2 = Weibull(400,.9,min(dataover1000));
mydist2.EstML(dataover1000)
gives the corresponding Weibull(468.1694,0.92433,11.1597).
Note that the estimate of the 3rd parameter is always the minimum of the data.
Categorías
Más información sobre Weibull Distribution en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!