如何在给定的p?
下使用matlab来拟合负二项分布的数据答案 0 :(得分:0)
在statistics toolbox中看起来像mle
的工作。作为p
及其他任何函数的函数,你需要表达负二项分布(或者它的日志,这可能会更容易),并发明一些起始参数。
答案 1 :(得分:0)
如果您认为拟合作为另一个参数R的函数且P已固定,则下面显示如何使用mle
来修复一个参数的值并估算另一个参数的值:
x = nbinrnd(20,.5,1000,1);
params = nbinfit(x) % unconstrained fit
r = mle(x,'pdf',@(x,r)nbinpdf(x,r,.5),'start',23) % constrain P=0.5
% Plot log likelihood as a function of R
rr = linspace(15,25);
yy = zeros(size(rr));
for j=1:length(rr)
yy(j) = sum(log(nbinpdf(x,rr(j),.5)));
end
plot(rr,yy,'-',...
params(1),sum(log(nbinpdf(x,params(1),params(2)))),'o')
legend(sprintf('r=%f,p=.5',r), sprintf('r=%f,p=%f',params),'location','sw')