prob.NegativeBinomialDistribution class

Package: prob
Superclasses: prob.ToolboxFittableParametricDistribution

Negative binomial distribution object

Description

prob.NegativeBinomialDistribution is an object consisting of parameters, a model description, and sample data for a negative binomial probability distribution.

Create a probability distribution object with specified parameter values using makedist. Alternatively, fit a distribution to data using fitdist or the Distribution Fitting app.

Construction

pd = makedist('NegativeBinomial') creates a negative binomial probability distribution object using the default parameter values.

pd = makedist('NegativeBinomial','R',r,'p',p) creates a negative binomial probability distribution object using the specified parameter values.

Input Arguments

expand all

r — Number of successes1 (default) | positive scalar value

Number of successes for the negative binomial distribution, specified as a positive scalar value.

Data Types: single | double

p — Probability of success0.5 (default) | positive scalar value in the range (0,1]

Probability of success of any individual trial for the negative binomial distribution, specified as a positive scalar value in the range (0,1].

Data Types: single | double

Properties

expand all

rNumber of successespositive scalar value

Number of successes for the negative binomial distribution, stored as a positive scalar value.

Data Types: single | double

pProbability of successpositive scalar value in the range (0,1]

Probability of success of any individual trial for the negative binomial distribution, specified as a positive scalar value in the range (0,1].

Data Types: single | double

DistributionNameProbability distribution nameprobability distribution name string

Probability distribution name, stored as a valid probability distribution name string. This property is read-only.

Data Types: char

InputDataData used for distribution fittingstructure

Data used for distribution fitting, stored as a structure containing the following:

  • data: Data vector used for distribution fitting.

  • cens: Censoring vector, or empty if none.

  • freq: Frequency vector, or empty if none.

This property is read-only.

Data Types: struct

IsTruncatedLogical flag for truncated distribution0 | 1

Logical flag for truncated distribution, stored as a logical value. If IsTruncated equals 0, the distribution is not truncated. If IsTruncated equals 1, the distribution is truncated. This property is read-only.

Data Types: logical

NumParametersNumber of parameterspositive integer value

Number of parameters for the probability distribution, stored as a positive integer value. This property is read-only.

Data Types: single | double

ParameterCovarianceCovariance matrix of the parameter estimatesmatrix of scalar values

Covariance matrix of the parameter estimates, stored as a p-by-p matrix, where p is the number of parameters in the distribution. The (i,j) element is the covariance between the estimates of the ith parameter and the jth parameter. The (i,i) element is the estimated variance of the ith parameter. If parameter i is fixed rather than estimated by fitting the distribution to data, then the (i,i) elements of the covariance matrix are 0. This property is read-only.

Data Types: single | double

ParameterDescriptionDistribution parameter descriptionscell array of strings

Distribution parameter descriptions, stored as a cell array of strings. Each cell contains a short description of one distribution parameter. This property is read-only.

Data Types: char

ParameterIsFixedLogical flag for fixed parametersarray of logical values

Logical flag for fixed parameters, stored as an array of logical values. If 0, the corresponding parameter in the ParameterNames array is not fixed. If 1, the corresponding parameter in the ParameterNames array is fixed. This property is read-only.

Data Types: logical

ParameterNamesDistribution parameter namescell array of strings

Distribution parameter names, stored as a cell array of strings. This property is read-only.

Data Types: char

ParameterValuesDistribution parameter valuesvector of scalar values

Distribution parameter values, stored as a vector. This property is read-only.

Data Types: single | double

TruncationTruncation intervalvector of scalar values

Truncation interval for the probability distribution, stored as a vector containing the lower and upper truncation boundaries. This property is read-only.

Data Types: single | double

Methods

Inherited Methods

cdf Cumulative distribution function of probability distribution object
icdfInverse cumulative distribution function of probability distribution object
iqrInterquartile range of probability distribution object
median Median of probability distribution object
pdfProbability density function of probability distribution object
randomGenerate random numbers from probability distribution object
truncateTruncate probability distribution object
meanMean of probability distribution object
negloglikNegative loglikelihood of probability distribution object
paramciConfidence intervals for probability distribution parameters
proflikProfile likelihood function for probability distribution object
std Standard deviation of probability distribution object
varVariance of probability distribution object

Definitions

Negative Binomial Distribution

The negative binomial distribution models the number of failures x before a specified number of successes is reached in a series of independent, identical trials. This distribution can also model count data, in which case r does not need to be an integer value.

The negative binomial distribution uses the following parameters.

ParameterDescriptionSupport
RNumber of successesr>0
pProbability of success0<p1

The probability density function (pdf) when r is an integer is

f(x|r,p)=(r+x+1x)prqx;x=1,2,...,,

where q=1p and (r+x+1x) is the binomial coefficient.

When r is not an integer, the binomial coefficient in the definition of the pdf is replaced by the equivalent expression

Γ(r+x)Γ(r)Γ(x+1),

where Γ() is the Gamma function.

Examples

expand all

Create a Negative Binomial Distribution Object Using Default Parameters

Create a negative binomial distribution object using the default parameter values.

pd = makedist('NegativeBinomial')
pd = 

  NegativeBinomialDistribution

  Negative Binomial distribution
    R =   1
    P = 0.5

Create a Negative Binomial Distribution Object Using Specified Parameters

Create a negative binomial distribution object by specifying the parameter values.

pd = makedist('NegativeBinomial','r',5,'p',.1)
pd = 

  NegativeBinomialDistribution

  Negative Binomial distribution
    R =   5
    P = 0.1

Compute the mean of the distribution.

m = mean(pd)
m =

    45
Was this topic helpful?