Function Reference: nbinfit

statistics: paramhat = nbinfit (x)
statistics: [paramhat, paramci] = nbinfit (x)
statistics: [paramhat, paramci] = nbinfit (x, alpha)
statistics: [paramhat, paramci] = nbinfit (x, alpha, freq)
statistics: [paramhat, paramci] = nbinfit (x, alpha, options)
statistics: [paramhat, paramci] = nbinfit (x, alpha, freq, options)

Estimate parameter and confidence intervals for the negative binomial distribution.

paramhat = nbinfit (x) returns the maximum likelihood estimates of the parameters of the negative binomial distribution given the data in vector x. paramhat(1) is the number of successes until the experiment is stopped, r, and paramhat(2) is the probability of success in each experiment, ps.

[paramhat, paramci] = nbinfit (x) returns the 95% confidence intervals for the parameter estimates.

[paramhat, paramci] = nbinfit (x, alpha) also returns the 100 * (1 - alpha) percent confidence intervals of the estimated parameter. By default, the optional argument alpha is 0.05 corresponding to 95% confidence intervals.

[…] = nbinlike (params, x, freq) accepts a frequency vector, freq, of the same size as x. freq must contain non-negative integer frequencies for the corresponding elements in x. By default, or if left empty, freq = ones (size (x)).

[paramhat, paramci] = nbinfit (x, alpha, options) specifies control parameters for the iterative algorithm used to compute ML estimates with the fminsearch function. options is a structure with the following fields and their default values:

  • options.Display = "off"
  • options.MaxFunEvals = 400
  • options.MaxIter = 200
  • options.TolX = 1e-6

When r is an integer, the negative binomial distribution is also known as the Pascal distribution and it models the number of failures in x before a specified number of successes is reached in a series of independent, identical trials. Its parameters are the probability of success in a single trial, ps, and the number of successes, r. A special case of the negative binomial distribution, when r = 1, is the geometric distribution, which models the number of failures before the first success.

r can also have non-integer positive values, in which form the negative binomial distribution, also known as the Polya distribution, has no interpretation in terms of repeated trials, but, like the Poisson distribution, it is useful in modeling count data. The negative binomial distribution is more general than the Poisson distribution because it has a variance that is greater than its mean, making it suitable for count data that do not meet the assumptions of the Poisson distribution. In the limit, as r increases to infinity, the negative binomial distribution approaches the Poisson distribution.

Further information about the negative binomial distribution can be found at https://en.wikipedia.org/wiki/Negative_binomial_distribution

See also: nbincdf, nbininv, nbinpdf, nbinrnd, nbinlike, nbinstat

Source Code: nbinfit

Example: 1

 

 ## Sample 2 populations from different negative binomial distibutions
 randp ("seed", 5); randg ("seed", 5);    # for reproducibility
 r1 = nbinrnd (2, 0.15, 5000, 1);
 randp ("seed", 8); randg ("seed", 8);    # for reproducibility
 r2 = nbinrnd (5, 0.2, 5000, 1);
 r = [r1, r2];

 ## Plot them normalized and fix their colors
 hist (r, [0:51], 1);
 h = findobj (gca, "Type", "patch");
 set (h(1), "facecolor", "c");
 set (h(2), "facecolor", "g");
 hold on

 ## Estimate their probability of success
 r_psA = nbinfit (r(:,1));
 r_psB = nbinfit (r(:,2));

 ## Plot their estimated PDFs
 x = [0:40];
 y = nbinpdf (x, r_psA(1), r_psA(2));
 plot (x, y, "-pg");
 x = [min(r(:,2)):max(r(:,2))];
 y = nbinpdf (x, r_psB(1), r_psB(2));
 plot (x, y, "-sc");
 ylim ([0, 0.1])
 xlim ([0, 50])
 legend ({"Normalized HIST of sample 1 with r=2 and ps=0.15", ...
          "Normalized HIST of sample 2 with r=5 and ps=0.2", ...
          sprintf("PDF for sample 1 with estimated r=%0.2f and ps=%0.2f", ...
                  r_psA(1), r_psA(2)), ...
          sprintf("PDF for sample 2 with estimated r=%0.2f and ps=%0.2f", ...
                  r_psB(1), r_psB(2))})
 title ("Two population samples from negative different binomial distibutions")
 hold off

                    
plotted figure