MATLAB: Fitting a 3-parameter of Weibull PDF using mle

mlewblpdf

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 ?

Best Answer

custpdf = @(data,a,b,c) (data>c).*(b/a).*(((data-c)/a).^(b-1)).*exp(-((data-c)/a).^b);
opt = statset('MaxIter',1e5,'MaxFunEvals',1e5,'FunValCheck','off');
phat = mle(data,'pdf',custpdf,'start',[5 5 5],'Options',opt,...
'LowerBound',[0 0 -Inf],'UpperBound',[Inf Inf min(data)])
Best wishes
Torsten.