Next: , Previous:   [Contents][Index]

53 Package distrib


53.1 Introduction to distrib

Package distrib contains a set of functions for making probability computations on both discrete and continuous univariate models.

What follows is a short reminder of basic probabilistic related definitions.

Let f(x) be the density function of an absolute continuous random variable X. The distribution function is defined as $$ F\left(x\right)=\int_{ -\infty }^{x}{f\left(u\right)\;du} $$

which equals the probability \({\rm Pr}(X \le x).\)

The mean value is a localization parameter and is defined as $$ E\left[X\right]=\int_{ -\infty }^{\infty }{x\,f\left(x\right)\;dx} $$

The variance is a measure of variation, $$ V\left[X\right]=\int_{ -\infty }^{\infty }{f\left(x\right)\,\left(x -E\left[X\right]\right)^2\;dx} $$

which is a positive real number. The square root of the variance is the standard deviation, \(D[x]=\sqrt{V[X]},\) and it is another measure of variation.

The skewness coefficient is a measure of non-symmetry, $$ SK\left[X\right]={{\int_{ -\infty }^{\infty }{f\left(x\right)\, \left(x-E\left[X\right]\right)^3\;dx}}\over{D\left[X\right]^3}} $$

And the kurtosis coefficient measures the peakedness of the distribution, $$ KU\left[X\right]={{\int_{ -\infty }^{\infty }{f\left(x\right)\, \left(x-E\left[X\right]\right)^4\;dx}}\over{D\left[X\right]^4}}-3 $$

If X is gaussian, KU[X]=0. In fact, both skewness and kurtosis are shape parameters used to measure the non–gaussianity of a distribution.

If the random variable X is discrete, the density, or probability, function f(x) takes positive values within certain countable set of numbers x_i, and zero elsewhere. In this case, the distribution function is $$ F\left(x\right)=\sum_{x_{i}\leq x}{f\left(x_{i}\right)} $$

The mean, variance, standard deviation, skewness coefficient and kurtosis coefficient take the form $$ \eqalign{ E\left[X\right]&=\sum_{x_{i}}{x_{i}f\left(x_{i}\right)}, \cr V\left[X\right]&=\sum_{x_{i}}{f\left(x_{i}\right)\left(x_{i}-E\left[X\right]\right)^2},\cr D\left[X\right]&=\sqrt{V\left[X\right]},\cr SK\left[X\right]&={{\sum_{x_{i}}{f\left(x\right)\, \left(x-E\left[X\right]\right)^3\;dx}}\over{D\left[X\right]^3}}, \cr KU\left[X\right]&={{\sum_{x_{i}}{f\left(x\right)\, \left(x-E\left[X\right]\right)^4\;dx}}\over{D\left[X\right]^4}}-3, } $$

respectively.

There is a naming convention in package distrib. Every function name has two parts, the first one makes reference to the function or parameter we want to calculate,

Functions:
   Density function            (pdf_*)
   Distribution function       (cdf_*)
   Quantile                    (quantile_*)
   Mean                        (mean_*)
   Variance                    (var_*)
   Standard deviation          (std_*)
   Skewness coefficient        (skewness_*)
   Kurtosis coefficient        (kurtosis_*)
   Random variate              (random_*)

The second part is an explicit reference to the probabilistic model,

Continuous distributions:
   Normal              (*normal)
   Student             (*student_t)
   Chi^2               (*chi2)
   Noncentral Chi^2    (*noncentral_chi2)
   F                   (*f)
   Exponential         (*exp)
   Lognormal           (*lognormal)
   Gamma               (*gamma)
   Beta                (*beta)
   Continuous uniform  (*continuous_uniform)
   Logistic            (*logistic)
   Pareto              (*pareto)
   Weibull             (*weibull)
   Rayleigh            (*rayleigh)
   Laplace             (*laplace)
   Cauchy              (*cauchy)
   Gumbel              (*gumbel)

Discrete distributions:
   Binomial             (*binomial)
   Poisson              (*poisson)
   Bernoulli            (*bernoulli)
   Geometric            (*geometric)
   Discrete uniform     (*discrete_uniform)
   hypergeometric       (*hypergeometric)
   Negative binomial    (*negative_binomial)
   Finite discrete      (*general_finite_discrete)

For example, pdf_student_t(x,n) is the density function of the Student distribution with n degrees of freedom, std_pareto(a,b) is the standard deviation of the Pareto distribution with parameters a and b and kurtosis_poisson(m) is the kurtosis coefficient of the Poisson distribution with mean m.

In order to make use of package distrib you need first to load it by typing

(%i1) load("distrib")$

For comments, bugs or suggestions, please contact the author at ’riotorto AT yahoo DOT com’.


53.2 Functions and Variables for continuous distributions

Maxima knows the following kinds of continuous distributions.


53.2.1 Normal Random Variable

Normal random variables (also called Gaussian) is denoted by \({\it Normal}(m, s)\) where m is the mean and s > 0 is the standard deviation.

Function: pdf_normal (x,m,s)

Returns the value at x of the density function of a \({\it Normal}(m, s)\) random variable, with s>0. To make use of this function, write first load("distrib").

The pdf is $$ f(x; m, s) = {1\over s\sqrt{2\pi}} e^{\displaystyle -{(x-m)^2\over 2s^2}} $$

Categories: Package distrib ·
Function: cdf_normal (x,m,s)

Returns the value at x of the distribution function of a \({\it Normal}(m, s)\) random variable, with s>0. This function is defined in terms of Maxima’s built-in error function erf.

The cdf can be written analytically: $$ F(x; m, s) = {1\over 2} + {1\over 2} {\rm erf}\left(x-m\over s\sqrt{2}\right) $$

(%i1) load ("distrib")$
(%i2) cdf_normal(x,m,s);
                             x - m
                       erf(---------)
                           sqrt(2) s    1
(%o2)                  -------------- + -
                             2          2

See also erf.

Categories: Package distrib ·
Function: quantile_normal (q,m,s)

Returns the q-quantile of a \({\it Normal}(m, s)\) random variable, with s>0; in other words, this is the inverse of cdf_normal. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

(%i1) load ("distrib")$
(%i2) quantile_normal(95/100,0,1);
                                         9
(%o2)                sqrt(2) inverse_erf(--)
                                         10
(%i3) float(%);
(%o3)                   1.644853626951472
Categories: Package distrib ·
Function: mean_normal (m,s)

Returns the mean of a \({\it Normal}(m, s)\) random variable, with s>0. To make use of this function, write first load("distrib").

The mean is $$ E[X] = m $$

Categories: Package distrib ·
Function: var_normal (m,s)

Returns the variance of a \({\it Normal}(m, s)\) random variable, with s>0. To make use of this function, write first load("distrib").

The variance is $$ V[X] = s^2 $$

Categories: Package distrib ·
Function: std_normal (m,s)

Returns the standard deviation of a \({\it Normal}(m, s)\) random variable, with s>0, namely s. To make use of this function, write first load("distrib").

The standard deviation is $$ D[X] = s $$

Categories: Package distrib ·
Function: skewness_normal (m,s)

Returns the skewness coefficient of a \({\it Normal}(m, s)\) random variable, with s>0. To make use of this function, write first load("distrib").

The skewness coefficient is $$ SK[X] = 0 $$

Categories: Package distrib ·
Function: kurtosis_normal (m,s)

Returns the kurtosis coefficient of a \({\it Normal}(m, s)\) random variable, with s>0, which is always equal to 0. To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ KU[X] = 0 $$

Categories: Package distrib ·
Function: random_normal (m,s)
    random_normal (m,s,n)

Returns a \({\it Normal}(m, s)\) random variate, with s>0. Calling random_normal with a third argument n, a random sample of size n will be simulated.

This is an implementation of the Box-Mueller algorithm, as described in Knuth, D.E. (1981) Seminumerical Algorithms. The Art of Computer Programming. Addison-Wesley.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.2 Student’s t Random Variable

Student’s t random variable is denoted by t(n) where n is the degrees of freedom with n > 0. If Z is a \({\it Normal}(0, 1)\) variable and V is an independent \(\chi^2\) random variable with n degress of freedom, then

$$ Z \over \sqrt{V/n} $$

has a Student’s t-distribution with n degrees of freedom.

Function: pdf_student_t (x,n)

Returns the value at x of the density function of a Student random variable t(n) , with n>0 degrees of freedom. To make use of this function, write first load("distrib").

The pdf is $$ f(x; n) = \left[\sqrt{n} B\left({1\over 2}, {n\over 2}\right)\right]^{-1} \left(1+{x^2\over n}\right)^{\displaystyle -{n+1\over 2}} $$

Categories: Package distrib ·
Function: cdf_student_t (x,n)

Returns the value at x of the distribution function of a Student random variable t(n) , with n>0 degrees of freedom.

The cdf is $$ F(x; n) = \cases{ 1-\displaystyle{1\over 2} I_t\left({n\over 2}, {1\over 2}\right) & $x \ge 0$ \cr \cr \displaystyle{1\over 2} I_t\left({n\over 2}, {1\over 2}\right) & $x < 0$ } $$

where \(t = n/(n+x^2)\) and \(I_t(a,b)\) is the beta_incomplete_regularized function.

(%i1) load ("distrib")$
(%i2) cdf_student_t(1/2, 7/3);
                                            7  1  28
                beta_incomplete_regularized(-, -, --)
                                            6  2  31
(%o2)       1 - -------------------------------------
                                  2
(%i3) float(%);
(%o3)                  0.6698450596140415
Categories: Package distrib ·
Function: quantile_student_t (q,n)

Returns the q-quantile of a Student random variable t(n) , with n>0; in other words, this is the inverse of cdf_student_t. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: mean_student_t (n)

Returns the mean of a Student random variable t(n) , with n>0. To make use of this function, write first load("distrib").

The mean is $$ E[X] = 0 $$

Categories: Package distrib ·
Function: var_student_t (n)

Returns the variance of a Student random variable t(n) , with n>2.

The variance is $$ V[X] = {n\over n-2} $$

(%i1) load ("distrib")$
(%i2) var_student_t(n);
                                n
(%o2)                         -----
                              n - 2
Categories: Package distrib ·
Function: std_student_t (n)

Returns the standard deviation of a Student random variable t(n) , with n>2. To make use of this function, write first load("distrib").

The standard deviation is $$ D[X] = \sqrt{\displaystyle{n\over n-2}} $$

Categories: Package distrib ·
Function: skewness_student_t (n)

Returns the skewness coefficient of a Student random variable t(n) , with n>3, which is always equal to 0. To make use of this function, write first load("distrib").

The skewness coefficient is $$ SK[X] = 0 $$

Categories: Package distrib ·
Function: kurtosis_student_t (n)

Returns the kurtosis coefficient of a Student random variable t(n) , with n>4. To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ KU[X] = {6\over n-4} $$

Categories: Package distrib ·
Function: random_student_t (n)
    random_student_t (n,m)

Returns a Student random variate t(n) , with n>0. Calling random_student_t with a second argument m, a random sample of size m will be simulated.

The implemented algorithm is based on the fact that if Z is a normal random variable \({\it Normal}(0, 1)\) and S^2 is a \(\chi^2\) random variable with n degrees of freedom, \(\chi^2(n)\) , then

$$ X={{Z}\over{\sqrt{{S^2}\over{n}}}} $$

is a Student random variable with n degrees of freedom, t(n) .

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.3 Noncentral Student’s t Random Variable

Let ncp be the non-centrality parameter, n be the degrees of freedom for the non-central Student’s t random variable.

Then let X be a \({\it Normal}(n, ncp)\) and S^2 be an independent \(\chi^2\) random variable with n degrees of freedom, the random variable $$ U = {X \over \sqrt{S^2\over n}} $$

has a non-central Student’s t distribution with non-centrality parameter ncp.

Function: pdf_noncentral_student_t (x,n,ncp)

Returns the value at x of the density function of a noncentral Student random variable \({\it nc\_t}(n, ncp)\) , with n>0 degrees of freedom and noncentrality parameter ncp. To make use of this function, write first load("distrib").

The pdf is $$ f(x; n, \mu) = \left[\sqrt{n} B\left({1\over 2}, {n\over 2}\right)\right]^{-1}\left(1+{x^2\over n}\right)^{-{(n+1)/2}} e^{-\mu^2/ 2} \bigg[A_n(x; \mu) + B_n(x; \mu)\bigg] $$

where $$ \eqalign{ A_n(x;\mu) &= {}_1F_1\left({n+1\over 2}; {1\over 2}; {\mu^2 x^2\over 2\left(x^2+n\right)}\right) \cr B_n(x;\mu) &= {\sqrt{2}\mu x \over \sqrt{x^2+n}} {\Gamma\left({n\over 2} + 1\right)\over \Gamma\left({n+1\over 2}\right)}\; {}_1F_1\left({n\over 2} + 1; {3\over 2}; {\mu^2 x^2\over 2\left(x^2+n\right)}\right) } $$

and \(\mu\) is the non-centrality parameter ncp.

Sometimes an extra work is necessary to get the final result.

(%i1) load ("distrib")$
(%i2) expand(pdf_noncentral_student_t(3,5,0.1));
rat: replaced 0.01889822365046136 by 15934951/843198350 = 0.01889822365046136

rat: replaced -8.734356480209641 by -294697965/33740089 = -8.734356480209641

rat: replaced 4.136255165816327 by 51033443/12338079 = 4.136255165816332

rat: replaced 1.08061432164203 by 56754827/52520891 = 1.08061432164203

rat: replaced 0.0565127306411839 by 5608717/99246965 = 0.05651273064118384

rat: replaced -300.8069396896258 by -79782423/265228 = -300.8069396896256

rat: replaced 160.6269176184973 by 178374907/1110492 = 160.626917618497
                           7/2                         7/2
      0.04296414417400905 5      1.323650307289301e-6 5
(%o2) ------------------------ + -------------------------
         3/2   5/2                       sqrt(%pi)
        2    14    sqrt(%pi)
                                                              7/2
                                         1.94793720435093e-4 5
                                       + ------------------------
                                                   %pi
(%i3) float(%);
(%o3)                  0.02080593159405671
Categories: Package distrib ·
Function: cdf_noncentral_student_t (x,n,ncp)

Returns the value at x of the distribution function of a noncentral Student random variable \({\it nc\_t}(n, ncp)\) , with n>0 degrees of freedom and noncentrality parameter ncp. This function has no closed form and it is numerically computed.

(%i1) load ("distrib")$
(%i2) cdf_noncentral_student_t(-2,5,-5);
(%o2)                   0.995203009331975
Categories: Package distrib ·
Function: quantile_noncentral_student_t (q,n,ncp)

Returns the q-quantile of a noncentral Student random variable \({\it nc\_t}(n, ncp)\) , with n>0 degrees of freedom and noncentrality parameter ncp; in other words, this is the inverse of cdf_noncentral_student_t. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: mean_noncentral_student_t (n,ncp)

Returns the mean of a noncentral Student random variable \({\it nc\_t}(n, ncp)\) , with n>1 degrees of freedom and noncentrality parameter ncp. To make use of this function, write first load("distrib").

The mean is $$ E[X] = {\mu \sqrt{n}\; \Gamma\left(\displaystyle{n-1\over 2}\right) \over \sqrt{2}\;\Gamma\left(\displaystyle{n\over 2}\right)} $$

where \(\mu\) is the noncentrality parameter ncp.

(%i1) load ("distrib")$
(%i2) mean_noncentral_student_t(df,k);
                          df - 1
                    gamma(------) sqrt(df) k
                            2
(%o2)               ------------------------
                                     df
                       sqrt(2) gamma(--)
                                     2
Categories: Package distrib ·
Function: var_noncentral_student_t (n,ncp)

Returns the variance of a noncentral Student random variable \({\it nc\_t}(n, ncp)\) , with n>2 degrees of freedom and noncentrality parameter ncp. To make use of this function, write first load("distrib").

The variance is $$ V[X] = {n(\mu^2+1)\over n-2} - {n\mu^2\; \Gamma\left(\displaystyle{n-1\over 2}\right)^2 \over 2\Gamma\left(\displaystyle{n\over 2}\right)^2} $$

where \(\mu\) is the noncentrality parameter ncp.

Categories: Package distrib ·
Function: std_noncentral_student_t (n,ncp)

Returns the standard deviation of a noncentral Student random variable \({\it nc\_t}(n, ncp)\) , with n>2 degrees of freedom and noncentrality parameter ncp. To make use of this function, write first load("distrib").

The standard deviation is $$ D[X] = \sqrt{{n(\mu^2+1)\over n-2} - {n\mu^2\; \Gamma\left(\displaystyle{n-1\over 2}\right)^2 \over 2\Gamma\left(\displaystyle{n\over 2}\right)^2}} $$

Categories: Package distrib ·
Function: skewness_noncentral_student_t (n,ncp)

Returns the skewness coefficient of a noncentral Student random variable \({\it nc\_t}(n, ncp)\) , with n>3 degrees of freedom and noncentrality parameter ncp. To make use of this function, write first load("distrib").

If U is a non-central Student’s t random variable with n degrees of freedom and a noncentrality parameter \(\mu,\) the skewness is $$ \eqalign{ SK[U] &= {\mu\sqrt{n}\,\Gamma\left({{n-1}\over{2}}\right) \over{\sqrt{2}\Gamma\left({{n }\over{2}}\right)\sigma^{3}}}\left({{n \left(2n+\mu^2-3\right)}\over{\left(n-3\right)\left(n-2\right)}} -2\sigma^2\right) \cr \sigma^2 &= {{n\left(\mu^2+1\right)}\over{n-2}}-{{n \mu^2\, \Gamma\left({{n-1}\over{2}}\right)^2}\over{2\Gamma\left({{n }\over{2}}\right)^2}} } $$

Categories: Package distrib ·
Function: kurtosis_noncentral_student_t (n,ncp)

Returns the kurtosis coefficient of a noncentral Student random variable \({\it nc\_t}(n, ncp)\) , with n>4 degrees of freedom and noncentrality parameter ncp. To make use of this function, write first load("distrib").

If U is a non-central Student’s t random variable with n degrees of freedom and a noncentrality parameter \(\mu,\) the kurtosis is

$$ \eqalign{ KU[U] &= {\mu_4\over \sigma^4} - 3\cr \mu_4 &= {{\left(\mu^4+6\mu^2+3\right)n^2}\over{(n-4)(n-2)}} -\left({{n\left(3(3n-5)+\mu^2(n+1)\right) }\over{(n-3)(n-2)}}-3\sigma^2\right) F \cr \sigma^2 &= {{n\left(\mu^2+1\right)}\over{n-2}}-{{n \mu^2 \Gamma\left({{n-1}\over{2}}\right)^2}\over{2\Gamma\left({{n }\over{2}}\right)^2}} \cr F &= {n\mu^2\Gamma\left({n-1\over 2}\right)^2 \over 2\sigma^4\Gamma\left({n\over 2}\right)^2} } $$
Categories: Package distrib ·
Function: random_noncentral_student_t (n,ncp)
    random_noncentral_student_t (n,ncp,m)

Returns a noncentral Student random variate \({\it nc\_t}(n, ncp)\) , with n>0. Calling random_noncentral_student_t with a third argument m, a random sample of size m will be simulated.

The implemented algorithm is based on the fact that if X is a normal random variable \({\it Normal}(ncp, 1)\) and S^2 is a \(\chi^2\) random variable with n degrees of freedom, \(\chi^2(n)\) , then $$ U={{X}\over{\sqrt{{S^2}\over{n}}}} $$

is a noncentral Student random variable with n degrees of freedom and noncentrality parameter ncp, \({\it nc\_t}(n, ncp)\) .

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.4 Chi-squared Random Variable

Let \(X_1, X_2, \ldots, X_n\) be independent and identically distributed \({\it Normal}(0, 1)\) variables. Then $$ X^2 = \sum_{i=1}^n X_i^2 $$

is said to follow a chi-square distribution with n degrees of freedom.

Function: pdf_chi2 (x,n)

Returns the value at x of the density function of a Chi-square random variable \(\chi^2(n)\) , with n>0. The \(\chi^2(n)\) random variable is equivalent to the \(\Gamma\left(n/2,2\right)\) .

The pdf is

$$ f(x; n) = \cases{ \displaystyle{x^{n/2-1} e^{-x/2} \over 2^{n/2} \Gamma\left(\displaystyle{n\over 2}\right)} & for $x > 0$ \cr \cr 0 & otherwise } $$
(%i1) load ("distrib")$
(%i2) pdf_chi2(x,n);
                   n/2 - 1   - x/2
                  x        %e      unit_step(x)
(%o2)             -----------------------------
                                n   n/2
                          gamma(-) 2
                                2
Categories: Package distrib ·
Function: cdf_chi2 (x,n)

Returns the value at x of the distribution function of a Chi-square random variable \(\chi^2(n)\) , with n>0.

The cdf is $$ F(x; n) = \cases{ 1 - Q\left(\displaystyle{n\over 2}, {x\over 2}\right) & $x > 0$ \cr 0 & otherwise } $$

where Q(a,z) is the gamma_incomplete_regularized function.

(%i1) load ("distrib")$
(%i2) cdf_chi2(3,4);
                                                 3
(%o2)        1 - gamma_incomplete_regularized(2, -)
                                                 2
(%i3) float(%);
(%o3)                  0.4421745996289252
Categories: Package distrib ·
Function: quantile_chi2 (q,n)

Returns the q-quantile of a Chi-square random variable \(\chi^2(n)\) , with n>0; in other words, this is the inverse of cdf_chi2. Argument q must be an element of [0,1].

This function has no closed form and it is numerically computed.

(%i1) load ("distrib")$
(%i2) quantile_chi2(0.99,9);
(%o2)                   21.66599433346194
Categories: Package distrib ·
Function: mean_chi2 (n)

Returns the mean of a Chi-square random variable \(\chi^2(n)\) , with n>0.

The \(\chi^2(n)\) random variable is equivalent to the \(\Gamma\left(n/2,2\right)\) .

The mean is $$ E[X] = n $$

(%i1) load ("distrib")$
(%i2) mean_chi2(n);
(%o2)                           n
Categories: Package distrib ·
Function: var_chi2 (n)

Returns the variance of a Chi-square random variable \(\chi^2(n)\) , with n>0.

The \(\chi^2(n)\) random variable is equivalent to the \(\Gamma\left(n/2,2\right)\) .

The variance is $$ V[X] = 2n $$

(%i1) load ("distrib")$
(%i2) var_chi2(n);
(%o2)                          2 n
Categories: Package distrib ·
Function: std_chi2 (n)

Returns the standard deviation of a Chi-square random variable \(\chi^2(n)\) , with n>0.

The \(\chi^2(n)\) random variable is equivalent to the \(\Gamma\left(n/2,2\right)\) .

The standard deviation is $$ D[X] = \sqrt{2n} $$

(%i1) load ("distrib")$
(%i2) std_chi2(n);
(%o2)                    sqrt(2) sqrt(n)
Categories: Package distrib ·
Function: skewness_chi2 (n)

Returns the skewness coefficient of a Chi-square random variable \(\chi^2(n)\) , with n>0.

The \(\chi^2(n)\) random variable is equivalent to the \(\Gamma\left(n/2,2\right)\) .

The skewness coefficient is $$ SK[X] = \sqrt{8\over n} $$

(%i1) load ("distrib")$
(%i2) skewness_chi2(n);
                               3/2
                              2
(%o2)                        -------
                             sqrt(n)
Categories: Package distrib ·
Function: kurtosis_chi2 (n)

Returns the kurtosis coefficient of a Chi-square random variable \(\chi^2(n)\) , with n>0.

The \(\chi^2(n)\) random variable is equivalent to the \(\Gamma\left(n/2,2\right)\) .

The kurtosis coefficient is $$ KU[X] = {12\over n} $$

(%i1) load ("distrib")$
(%i2) kurtosis_chi2(n);
                               12
(%o2)                          --
                               n
Categories: Package distrib ·
Function: random_chi2 (n)
    random_chi2 (n,m)

Returns a Chi-square random variate \(\chi^2(n)\) , with n>0. Calling random_chi2 with a second argument m, a random sample of size m will be simulated.

The simulation is based on the Ahrens-Cheng algorithm. See random_gamma for details.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.5 Noncentral Chi-squared Random Variable

Let \(X_1, X_2, ..., X_n\) be n independent normally distributed random variables with means \(\mu_k\) and unit variances. Then the random variable

$$ \sum_{k=1}^n X_k^2 $$

has a noncentral \(\chi^2\) distribution. The number of degrees of freedom is n, and the noncentrality parameter is defined by

$$ \sum_{k=1}^n \mu_k^2 $$
Function: pdf_noncentral_chi2 (x,n,ncp)

Returns the value at x of the density function of a noncentral \(\chi^2\) random variable m4_noncentral_chi2(n,ncp) , with n>0 and noncentrality parameter \(ncp \ge 0.\) To make use of this function, write first load("distrib").

For x < 0, the pdf is 0, and for \(x \ge 0\) the pdf is $$ f(x; n, \lambda) = {1\over 2}e^{-(x+\lambda)/2} \left(x\over \lambda\right)^{n/4-1/2}I_{{n\over 2} - 1}\left(\sqrt{n \lambda}\right) $$

Categories: Package distrib ·
Function: cdf_noncentral_chi2 (x,n,ncp)

Returns the value at x of the distribution function of a noncentral Chi-square random variable m4_noncentral_chi2(n,ncp) , with n>0 and noncentrality parameter \(ncp \ge 0.\) To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: quantile_noncentral_chi2 (q,n,ncp)

Returns the q-quantile of a noncentral Chi-square random variable m4_noncentral_chi2(n,ncp) , with n>0 and noncentrality parameter \(ncp \ge 0\) ; in other words, this is the inverse of cdf_noncentral_chi2. Argument q must be an element of [0,1].

This function has no closed form and it is numerically computed.

Categories: Package distrib ·
Function: mean_noncentral_chi2 (n,ncp)

Returns the mean of a noncentral Chi-square random variable m4_noncentral_chi2(n,ncp) , with n>0 and noncentrality parameter \(ncp \ge 0.\)

The mean is $$ E[X] = n + \mu $$

where \(\mu\) is the noncentrality parameter ncp.

Categories: Package distrib ·
Function: var_noncentral_chi2 (n,ncp)

Returns the variance of a noncentral Chi-square random variable m4_noncentral_chi2(n,ncp) , with n>0 and noncentrality parameter \(ncp \ge 0.\)

The variance is $$ V[X] = 2(n+2\mu) $$

where \(\mu\) is the noncentrality parameter ncp.

Categories: Package distrib ·
Function: std_noncentral_chi2 (n,ncp)

Returns the standard deviation of a noncentral Chi-square random variable m4_noncentral_chi2(n,ncp) , with n>0 and noncentrality parameter \(ncp \ge 0.\)

The standard deviation is $$ D[X] = \sqrt{2(n+2\mu)} $$

where \(\mu\) is the noncentrality parameter ncp.

Categories: Package distrib ·

Function: skewness_noncentral_chi2 (n,ncp)

Returns the skewness coefficient of a noncentral Chi-square random variable m4_noncentral_chi2(n,ncp) , with n>0 and noncentrality parameter \(ncp \ge 0.\)

The skewness coefficient is $$ SK[X] = {2^{3/2}(n+3\mu) \over (n+2\mu)^{3/2}} $$

where \(\mu\) is the noncentrality parameter ncp.

Categories: Package distrib ·
Function: kurtosis_noncentral_chi2 (n,ncp)

Returns the kurtosis coefficient of a noncentral Chi-square random variable m4_noncentral_chi2(n,ncp) , with n>0 and noncentrality parameter \(ncp \ge 0.\)

The kurtosis coefficient is $$ KU[X] = {12(n+4\mu)\over (2+2\mu)^2} $$

where \(\mu\) is the noncentrality parameter ncp.

Categories: Package distrib ·
Function: random_noncentral_chi2 (n,ncp)
    random_noncentral_chi2 (n,ncp,m)

Returns a noncentral Chi-square random variate m4_noncentral_chi2(n,ncp) , with n>0 and noncentrality parameter \(ncp \ge 0.\) Calling random_noncentral_chi2 with a third argument m, a random sample of size m will be simulated.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.6 F Random Variable

Let S_1 and S_2 be independent random variables with a \(\chi^2\) distribution with degrees of freedom n and m, respectively. Then $$ F = {S_1/n \over S_2/m} $$ has an F distribution with n and m degrees of freedom.

Function: pdf_f (x,m,n)

Returns the value at x of the density function of a F random variable F(m,n), with m,n>0. To make use of this function, write first load("distrib").

The pdf is $$ f(x; m, n) = \cases{ B\left(\displaystyle{m\over 2}, \displaystyle{n\over 2}\right)^{-1} \left(\displaystyle{m\over n}\right)^{m/ 2} x^{m/2-1} \left(1 + \displaystyle{m\over n}x\right)^{-\left(n+m\right)/2} & $x > 0$ \cr \cr 0 & otherwise } $$

Categories: Package distrib ·
Function: cdf_f (x,m,n)

Returns the value at x of the distribution function of a F random variable F(m,n), with m,n>0.

The cdf is $$ F(x; m, n) = \cases{ 1 - I_z\left(\displaystyle{m\over 2}, {n\over 2}\right) & $x > 0$ \cr 0 & otherwise } $$

where $$ z = {n\over mx+n} $$

and \(I_z(a,b)\) is the beta_incomplete_regularized function.

(%i1) load ("distrib")$
(%i2) cdf_f(2,3,9/4);
                                            9  3  3
(%o2)       1 - beta_incomplete_regularized(-, -, --)
                                            8  2  11
(%i3) float(%);
(%o3)                  0.6675672817900802
Categories: Package distrib ·
Function: quantile_f (q,m,n)

Returns the q-quantile of a F random variable F(m,n), with m,n>0; in other words, this is the inverse of cdf_f. Argument q must be an element of [0,1].

(%i1) load ("distrib")$
(%i2) quantile_f(2/5,sqrt(3),5);
(%o2)                  0.5189478385736904
Categories: Package distrib ·
Function: mean_f (m,n)

Returns the mean of a F random variable F(m,n), with m>0, n>2. To make use of this function, write first load("distrib").

The mean is $$ E[X] = {n\over n-2} $$

Categories: Package distrib ·
Function: var_f (m,n)

Returns the variance of a F random variable F(m,n), with m>0, n>4. To make use of this function, write first load("distrib").

The variance is $$ V[X] = {2n^2(n+m-2) \over m(n-4)(n-2)^2} $$

Categories: Package distrib ·
Function: std_f (m,n)

Returns the standard deviation of a F random variable F(m,n), with m>0, n>4. To make use of this function, write first load("distrib").

The standard deviation is $$ D[X] = {\sqrt{2}\, n \over n-2} \sqrt{n+m-2\over m(n-4)} $$

Categories: Package distrib ·
Function: skewness_f (m,n)

Returns the skewness coefficient of a F random variable F(m,n), with m>0, n>6. To make use of this function, write first load("distrib").

The skewness coefficient is $$ SK[X] = {(n+2m-2)\sqrt{8(n-4)} \over (n-6)\sqrt{m(n+m-2)}} $$

Categories: Package distrib ·
Function: kurtosis_f (m,n)

Returns the kurtosis coefficient of a F random variable F(m,n), with m>0, n>8. To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ KU[X] = 12{m(n+m-2)(5n-22) + (n-4)(n-2)^2 \over m(n-8)(n-6)(n+m-2)} $$

Categories: Package distrib ·
Function: random_f (m,n)
    random_f (m,n,k)

Returns a F random variate F(m,n), with m,n>0. Calling random_f with a third argument k, a random sample of size k will be simulated.

The simulation algorithm is based on the fact that if X is a Chi^2(m) random variable and Y is a \(\chi^2(n)\) random variable, then $$ F={{n X}\over{m Y}} $$

is a F random variable with m and n degrees of freedom, F(m,n).

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.7 Exponential Random Variable

The exponential distribution is the probablity distribution of the time between events in a process where the events occur continuously and independently at a constant average rate.

Function: pdf_exp (x,m)

Returns the value at x of the density function of an \({\it Exponential}(m)\) random variable, with m>0.

The \({\it Exponential}(m)\) random variable is equivalent to the \({\it Weibull}(1,1/m)\) .

The pdf is $$ f(x; m) = \cases{ me^{-mx} & for $x \ge 0$ \cr 0 & otherwise } $$

(%i1) load ("distrib")$
(%i2) pdf_exp(x,m);
                         - m x
(%o2)                m %e      unit_step(x)
Categories: Package distrib ·
Function: cdf_exp (x,m)

Returns the value at x of the distribution function of an \({\it Exponential}(m)\) random variable, with m>0.

The \({\it Exponential}(m)\) random variable is equivalent to the \({\it Weibull}(1,1/m)\) .

The cdf is $$ F(x; m) = \cases{ 1 - e^{-mx} & $x \ge 0$ \cr 0 & otherwise } $$

(%i1) load ("distrib")$
(%i2) cdf_exp(x,m);
                          - m x
(%o2)              (1 - %e     ) unit_step(x)
Categories: Package distrib ·
Function: quantile_exp (q,m)

Returns the q-quantile of an \({\it Exponential}(m)\) random variable, with m>0; in other words, this is the inverse of cdf_exp. Argument q must be an element of [0,1].

The \({\it Exponential}(m)\) random variable is equivalent to the \({\it Weibull}(1,1/m)\) .

(%i1) load ("distrib")$
(%i2) quantile_exp(0.56,5);
(%o2)                  0.1641961104139661
(%i3) quantile_exp(0.56,m);
                       0.8209805520698303
(%o3)                  ------------------
                               m
Categories: Package distrib ·
Function: mean_exp (m)

Returns the mean of an \({\it Exponential}(m)\) random variable, with m>0.

The \({\it Exponential}(m)\) random variable is equivalent to the \({\it Weibull}(1,1/m)\) .

The mean is $$ E[X] = {1\over m} $$

(%i1) load ("distrib")$
(%i2) mean_exp(m);
                                1
(%o2)                           -
                                m
Categories: Package distrib ·
Function: var_exp (m)

Returns the variance of an \({\it Exponential}(m)\) random variable, with m>0.

The \({\it Exponential}(m)\) random variable is equivalent to the \({\it Weibull}(1,1/m)\) .

The variance is $$ V[X] = {1\over m^2} $$

(%i1) load ("distrib")$
(%i2) var_exp(m);
                               1
(%o2)                          --
                                2
                               m
Categories: Package distrib ·
Function: std_exp (m)

Returns the standard deviation of an \({\it Exponential}(m)\) random variable, with m>0.

The \({\it Exponential}(m)\) random variable is equivalent to the \({\it Weibull}(1,1/m)\) .

The standard deviation is $$ D[X] = {1\over m} $$

(%i1) load ("distrib")$
(%i2) std_exp(m);
                                1
(%o2)                           -
                                m
Categories: Package distrib ·
Function: skewness_exp (m)

Returns the skewness coefficient of an \({\it Exponential}(m)\) random variable, with m>0.

The \({\it Exponential}(m)\) random variable is equivalent to the \({\it Weibull}(1,1/m)\) .

The skewness coefficient is $$ SK[X] = 2 $$

(%i1) load ("distrib")$
(%i2) skewness_exp(m);
(%o2)                           2
Categories: Package distrib ·
Function: kurtosis_exp (m)

Returns the kurtosis coefficient of an \({\it Exponential}(m)\) random variable, with m>0.

The \({\it Exponential}(m)\) random variable is equivalent to the \({\it Weibull}(1,1/m)\) .

The kurtosis coefficient is $$ KU[X] = 6 $$

(%i1) load ("distrib")$
(%i2) kurtosis_exp(m);
(%o2)                           6
Categories: Package distrib ·
Function: random_exp (m)
    random_exp (m,k)

Returns an \({\it Exponential}(m)\) random variate, with m>0. Calling random_exp with a second argument k, a random sample of size k will be simulated.

The simulation algorithm is based on the general inverse method.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.8 Lognormal Random Variable

The lognormal distribution is distribution for a random variable whose logarithm is normally distributed.

Function: pdf_lognormal (x,m,s)

Returns the value at x of the density function of a \({\it Lognormal}(m,s)\) random variable, with s>0. To make use of this function, write first load("distrib").

The pdf is $$ f(x; m, s) = \cases{ \displaystyle{1\over x s \sqrt{2\pi}} \exp\left(-\displaystyle{\left(\log x - m\right)^2\over 2s^2}\right) & for $x \ge 0$ \cr \cr 0 & for $x < 0$ } $$

Categories: Package distrib ·
Function: cdf_lognormal (x,m,s)

Returns the value at x of the distribution function of a \({\it Lognormal}(m,s)\) random variable, with s>0. This function is defined in terms of Maxima’s built-in error function erf.

The cdf is $$ F(x; m, s) = \cases{ \displaystyle{1\over 2}\left[1+{\rm erf}\left({\log x - m\over s\sqrt{2}}\right)\right] & for $x > 0$ \cr \cr 0 & for $x \le 0$ } $$

(%i1) load ("distrib")$
(%i2) cdf_lognormal(x,m,s);
                                 log(x) - m
                             erf(----------)
                                 sqrt(2) s     1
(%o2)          unit_step(x) (--------------- + -)
                                    2          2

See also erf.

Categories: Package distrib ·
Function: quantile_lognormal (q,m,s)

Returns the q-quantile of a \({\it Lognormal}(m,s)\) random variable, with s>0; in other words, this is the inverse of cdf_lognormal. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

(%i1) load ("distrib")$
(%i2) quantile_lognormal(95/100,0,1);
                     sqrt(2) inverse_erf(9/10)
(%o2)              %e
(%i3) float(%);
(%o3)                   5.180251602233015
Categories: Package distrib ·
Function: mean_lognormal (m,s)

Returns the mean of a \({\it Lognormal}(m,s)\) random variable, with s>0. To make use of this function, write first load("distrib").

The mean is $$ E[X] = \exp\left(m+{s^2\over 2}\right) $$

Categories: Package distrib ·
Function: var_lognormal (m,s)

Returns the variance of a \({\it Lognormal}(m,s)\) random variable, with s>0. To make use of this function, write first load("distrib").

The variance is $$ V[X] = \left(\exp\left(s^2\right) - 1\right) \exp\left(2m+s^2\right) $$

Categories: Package distrib ·
Function: std_lognormal (m,s)

Returns the standard deviation of a \({\it Lognormal}(m,s)\) random variable, with s>0. To make use of this function, write first load("distrib").

The standard deviation is $$ D[X] = \sqrt{\left(\exp\left(s^2\right) - 1\right)} \exp\left(m+{s^2\over 2}\right) $$

Categories: Package distrib ·
Function: skewness_lognormal (m,s)

Returns the skewness coefficient of a \({\it Lognormal}(m,s)\) random variable, with s>0. To make use of this function, write first load("distrib").

The skewness coefficient is $$ SK[X] = \left(\exp\left(s^2\right)+2\right)\sqrt{\exp\left(s^2\right)-1} $$

Categories: Package distrib ·
Function: kurtosis_lognormal (m,s)

Returns the kurtosis coefficient of a \({\it Lognormal}(m,s)\) random variable, with s>0. To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ KU[X] = \exp\left(4s^2\right)+2\exp\left(3s^2\right)+3\exp\left(2s^2\right)-3 $$

Categories: Package distrib ·
Function: random_lognormal (m,s)
    random_lognormal (m,s,n)

Returns a \({\it Lognormal}(m,s)\) random variate, with s>0. Calling random_lognormal with a third argument n, a random sample of size n will be simulated.

Log-normal variates are simulated by means of random normal variates. See random_normal for details.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.9 Gamma Random Variable

The gamma distribution is a two-parameter family of probability distributions. Maxima uses the parameterization using the shape and scale for the first and second parameters of the distribution.

Function: pdf_gamma (x,a,b)

Returns the value at x of the density function of a \(\Gamma\left(a,b\right)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The shape parameter is a, and the scale parameter is b.

The pdf is $$ f(x; a, b) = {x^{a-1}e^{-x/b}\over b^a \Gamma(a)} $$

Categories: Package distrib ·
Function: cdf_gamma (x,a,b)

Returns the value at x of the distribution function of a \(\Gamma\left(a,b\right)\) random variable, with a,b>0.

The cdf is $$ F(x; a, b) = \cases{ 1-Q(a,{x\over b}) & for $x \ge 0$ \cr \cr 0 & for $x < 0$ } $$

where Q(a,z) is the gamma_incomplete_regularized function.

(%i1) load ("distrib")$
(%i2) cdf_gamma(3,5,21);
                                                 1
(%o2)        1 - gamma_incomplete_regularized(5, -)
                                                 7
(%i3) float(%);
(%o3)                 4.402663157376807e-7
Categories: Package distrib ·
Function: quantile_gamma (q,a,b)

Returns the q-quantile of a \(\Gamma\left(a,b\right)\) random variable, with a,b>0; in other words, this is the inverse of cdf_gamma. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: mean_gamma (a,b)

Returns the mean of a \(\Gamma\left(a,b\right)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The mean is $$ E[X] = ab $$

Categories: Package distrib ·
Function: var_gamma (a,b)

Returns the variance of a \(\Gamma\left(a,b\right)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The variance is $$ V[X] = ab^2 $$

Categories: Package distrib ·
Function: std_gamma (a,b)

Returns the standard deviation of a \(\Gamma\left(a,b\right)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The standard deviation is $$ D[X] = b\sqrt{a} $$

Categories: Package distrib ·
Function: skewness_gamma (a,b)

Returns the skewness coefficient of a \(\Gamma\left(a,b\right)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The skewness coefficient is $$ SK[X] = {2\over \sqrt{a}} $$

Categories: Package distrib ·
Function: kurtosis_gamma (a,b)

Returns the kurtosis coefficient of a \(\Gamma\left(a,b\right)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ KU[X] = {6\over a} $$

Categories: Package distrib ·
Function: random_gamma (a,b)
    random_gamma (a,b,n)

Returns a \(\Gamma\left(a,b\right)\) random variate, with a,b>0. Calling random_gamma with a third argument n, a random sample of size n will be simulated.

The implemented algorithm is a combination of two procedures, depending on the value of parameter a:

For \(a \ge 1,\) Cheng, R.C.H. and Feast, G.M. (1979). Some simple gamma variate generators. Appl. Stat., 28, 3, 290-295.

For \(0 \lt a \lt 1,\) Ahrens, J.H. and Dieter, U. (1974). Computer methods for sampling from gamma, , poisson and binomial distributions. Computing, 12, 223-246.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.10 Beta Random Variable

The beta distribution is a family of distributions defined over [0,1] parameterized by two positive shape parameters a, and b.

Function: pdf_beta (x,a,b)

Returns the value at x of the density function of a \({\it Beta}(a,b)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The pdf is $$ f(x; a, b) = \cases{ \displaystyle{x^{a-1}(1-x)^{b-1} \over B(a,b)} & for $0 \le x \le 1$ \cr \cr 0 & otherwise } $$

Categories: Package distrib ·
Function: cdf_beta (x,a,b)

Returns the value at x of the distribution function of a \({\it Beta}(a,b)\) random variable, with a,b>0.

The cdf is $$ F(x; a, b) = \cases{ 0 & $x < 0$ \cr I_x(a,b) & $0 \le x \le 1$ \cr 1 & $x > 1$ } $$

(%i1) load ("distrib")$
(%i2) cdf_beta(1/3,15,2);
                               11
(%o2)                       --------
                            14348907
(%i3) float(%);
(%o3)                 7.666089131388195e-7
Categories: Package distrib ·
Function: quantile_beta (q,a,b)

Returns the q-quantile of a \({\it Beta}(a,b)\) random variable, with a,b>0; in other words, this is the inverse of cdf_beta. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: mean_beta (a,b)

Returns the mean of a \({\it Beta}(a,b)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The mean is $$ E[X] = {a\over a+b} $$

Categories: Package distrib ·
Function: var_beta (a,b)

Returns the variance of a \({\it Beta}(a,b)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The variance is $$ V[X] = {ab \over (a+b)^2(a+b+1)} $$

Categories: Package distrib ·
Function: std_beta (a,b)

Returns the standard deviation of a \({\it Beta}(a,b)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The standard deviation is $$ D[X] = {1\over a+b}\sqrt{ab\over a+b+1} $$

Categories: Package distrib ·
Function: skewness_beta (a,b)

Returns the skewness coefficient of a \({\it Beta}(a,b)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The skewness coefficient is $$ SK[X] = {2(b-a)\sqrt{a+b+1} \over (a+b+2)\sqrt{ab}} $$

Categories: Package distrib ·
Function: kurtosis_beta (a,b)

Returns the kurtosis coefficient of a \({\it Beta}(a,b)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ KU[X] = {3(a+b+1)\left(2(a+b)^2+ab(a+b-6)\right) \over ab(a+b+2)(a+b+3)} - 3 $$

Categories: Package distrib ·
Function: random_beta (a,b)
    random_beta (a,b,n)

Returns a \({\it Beta}(a,b)\) random variate, with a,b>0. Calling random_beta with a third argument n, a random sample of size n will be simulated.

The implemented algorithm is defined in Cheng, R.C.H. (1978). Generating Beta Variates with Nonintegral Shape Parameters. Communications of the ACM, 21:317-322

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.11 Continuous Uniform Random Variable

The continuous uniform distribution is constant over the interval [a,b] and is zero elsewhere.

Function: pdf_continuous_uniform (x,a,b)

Returns the value at x of the density function of a \({\it ContinuousUniform}(a,b)\) random variable, with \(a \lt b.\) To make use of this function, write first load("distrib").

The pdf $$ f(x; a, b) = \cases{ \displaystyle{1\over b-a} & for $0 \le x \le 1$ \cr \cr 0 & otherwise } $$

and is 0 otherwise.

Categories: Package distrib ·
Function: cdf_continuous_uniform (x,a,b)

Returns the value at x of the distribution function of a \({\it ContinuousUniform}(a,b)\) random variable, with \(a \lt b.\) To make use of this function, write first load("distrib").

The cdf is $$ F(x; a, b) = \cases{ 0 & for $x < a$ \cr \cr \displaystyle{x-a\over b-a} & for $a \le x \le b$ \cr \cr 1 & for $x > b$ } $$

Categories: Package distrib ·
Function: quantile_continuous_uniform (q,a,b)

Returns the q-quantile of a \({\it ContinuousUniform}(a,b)\) random variable, with \(a \lt b\) ; in other words, this is the inverse of cdf_continuous_uniform. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: mean_continuous_uniform (a,b)

Returns the mean of a \({\it ContinuousUniform}(a,b)\) random variable, with \(a \lt b.\) To make use of this function, write first load("distrib").

The mean is $$ E[X] = {a+b\over 2} $$

Categories: Package distrib ·
Function: var_continuous_uniform (a,b)

Returns the variance of a \({\it ContinuousUniform}(a,b)\) random variable, with \(a \lt b.\) To make use of this function, write first load("distrib").

The variance is $$ V[X] = {(b-a)^2\over 12} $$

Categories: Package distrib ·
Function: std_continuous_uniform (a,b)

Returns the standard deviation of a \({\it ContinuousUniform}(a,b)\) random variable, with \(a \lt b.\) To make use of this function, write first load("distrib").

The standard deviation is $$ D[X] = {b-a \over 2\sqrt{3}} $$

Categories: Package distrib ·
Function: skewness_continuous_uniform (a,b)

Returns the skewness coefficient of a \({\it ContinuousUniform}(a,b)\) random variable, with \(a \lt b.\) To make use of this function, write first load("distrib").

The skewness coefficient is $$ SK[X] = 0 $$

Categories: Package distrib ·
Function: kurtosis_continuous_uniform (a,b)

Returns the kurtosis coefficient of a \({\it ContinuousUniform}(a,b)\) random variable, with \(a \lt b.\) To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ KU[X] = -{6\over5} $$

Categories: Package distrib ·
Function: random_continuous_uniform (a,b)
    random_continuous_uniform (a,b,n)

Returns a \({\it ContinuousUniform}(a,b)\) random variate, with \(a \lt b.\) Calling random_continuous_uniform with a third argument n, a random sample of size n will be simulated.

This is a direct application of the random built-in Maxima function.

See also random. To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.12 Logistic Random Variable

The logistic distribution is a continuous distribution where it’s cumulative distribution function is the logistic function.

Function: pdf_logistic (x,a,b)

Returns the value at x of the density function of a \({\it Logistic}(a,b)\) random variable , with b>0. To make use of this function, write first load("distrib").

a is the location parameter and b is the scale parameter.

The pdf is $$ f(x; a, b) = {e^{-(x-a)/b} \over b\left(1 + e^{-(x-a)/b}\right)^2} $$

Categories: Package distrib ·
Function: cdf_logistic (x,a,b)

Returns the value at x of the distribution function of a \({\it Logistic}(a,b)\) random variable , with b>0. To make use of this function, write first load("distrib").

The cdf is $$ F(x; a, b) = {1\over 1+e^{-(x-a)/b}} $$

Categories: Package distrib ·
Function: quantile_logistic (q,a,b)

Returns the q-quantile of a \({\it Logistic}(a,b)\) random variable , with b>0; in other words, this is the inverse of cdf_logistic. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: mean_logistic (a,b)

Returns the mean of a \({\it Logistic}(a,b)\) random variable , with b>0. To make use of this function, write first load("distrib").

The mean is $$ E[X] = a $$

Categories: Package distrib ·
Function: var_logistic (a,b)

Returns the variance of a \({\it Logistic}(a,b)\) random variable , with b>0. To make use of this function, write first load("distrib").

The variance is $$ V[X] = {\pi^2 b^2 \over 3} $$

Categories: Package distrib ·
Function: std_logistic (a,b)

Returns the standard deviation of a \({\it Logistic}(a,b)\) random variable , with b>0. To make use of this function, write first load("distrib").

The standard deviation is $$ D[X] = {\pi b\over \sqrt{3}} $$

Categories: Package distrib ·
Function: skewness_logistic (a,b)

Returns the skewness coefficient of a \({\it Logistic}(a,b)\) random variable, with b>0. To make use of this function, write first load("distrib").

The skewness coefficient is $$ SK[X] = 0 $$

Categories: Package distrib ·
Function: kurtosis_logistic (a,b)

Returns the kurtosis coefficient of a \({\it Logistic}(a,b)\) random variable, with b>0. To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ KU[X] = {6\over 5} $$

Categories: Package distrib ·
Function: random_logistic (a,b)
    random_logistic (a,b,n)

Returns a \({\it Logistic}(a,b)\) random variate, with b>0. Calling random_logistic with a third argument n, a random sample of size n will be simulated.

The implemented algorithm is based on the general inverse method.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.13 Pareto Random Variable

Function: pdf_pareto (x,a,b)

Returns the value at x of the density function of a \({\it Pareto}(a,b)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The pdf is $$ f(x; a, b) = \cases{ \displaystyle{a b^a \over x^{a+1}} & for $x \ge b$ \cr \cr 0 & for $x < b$ } $$

Categories: Package distrib ·
Function: cdf_pareto (x,a,b)

Returns the value at x of the distribution function of a \({\it Pareto}(a,b)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The cdf is $$ F(x; a, b) = \cases{ 1-\left(\displaystyle{b\over x}\right)^a & for $x \ge b$\cr 0 & for $x < b$ } $$

Categories: Package distrib ·
Function: quantile_pareto (q,a,b)

Returns the q-quantile of a \({\it Pareto}(a,b)\) random variable, with a,b>0; in other words, this is the inverse of cdf_pareto. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: mean_pareto (a,b)

Returns the mean of a \({\it Pareto}(a,b)\) random variable, with a>1,b>0. To make use of this function, write first load("distrib").

The mean is $$ E[X] = {ab\over a-1} $$

Categories: Package distrib ·
Function: var_pareto (a,b)

Returns the variance of a \({\it Pareto}(a,b)\) random variable, with a>2,b>0. To make use of this function, write first load("distrib").

The variance is $$ V[X] = {ab^2\over (a-2)(a-1)^2} $$

Categories: Package distrib ·
Function: std_pareto (a,b)

Returns the standard deviation of a \({\it Pareto}(a,b)\) random variable, with a>2,b>0. To make use of this function, write first load("distrib").

The standard deviation is $$ D[X] = {b\over a-1} \sqrt{a\over a-2} $$

Categories: Package distrib ·
Function: skewness_pareto (a,b)

Returns the skewness coefficient of a \({\it Pareto}(a,b)\) random variable, with a>3,b>0. To make use of this function, write first load("distrib").

The skewness coefficient is $$ SK[X] = {2(a+1)\over a-3} \sqrt{a-2\over a} $$

Categories: Package distrib ·
Function: kurtosis_pareto (a,b)

Returns the kurtosis coefficient of a \({\it Pareto}(a,b)\) random variable, with a>4,b>0. To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ KU[X] = {6\left(a^3+a^2-6*a-2\right) \over a(a-3)(a-4)} - 3 $$

Categories: Package distrib ·
Function: random_pareto (a,b)
    random_pareto (a,b,n)

Returns a \({\it Pareto}(a,b)\) random variate, with a>0,b>0. Calling random_pareto with a third argument n, a random sample of size n will be simulated.

The implemented algorithm is based on the general inverse method.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.14 Weibull Random Variable

Function: pdf_weibull (x,a,b)

Returns the value at x of the density function of a \({\it Weibull}(a,b)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The pdf is $$ f(x; a, b) = \cases{ \displaystyle{1\over b} \left({x\over b}\right)^{a-1} e^{-(x/b)^a} & for $x \ge 0$ \cr \cr 0 & for $x < 0$ } $$

Categories: Package distrib ·
Function: cdf_weibull (x,a,b)

Returns the value at x of the distribution function of a \({\it Weibull}(a,b)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The cdf is $$ F(x; a, b) = \cases{ 1 - e^{-(x/b)^a} & for $x \ge 0$ \cr 0 & for $x < 0$ } $$

Categories: Package distrib ·
Function: quantile_weibull (q,a,b)

Returns the q-quantile of a \({\it Weibull}(a,b)\) random variable, with a,b>0; in other words, this is the inverse of cdf_weibull. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: mean_weibull (a,b)

Returns the mean of a \({\it Weibull}(a,b)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The mean is $$ E[X] = b\Gamma\left(1+{1\over a}\right) $$

Categories: Package distrib ·
Function: var_weibull (a,b)

Returns the variance of a \({\it Weibull}(a,b)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The variance is $$ V[X] = b^2\left[\Gamma\left(1+{2\over a}\right) - \Gamma\left(1+{1\over a}\right)^2\right] $$

Categories: Package distrib ·
Function: std_weibull (a,b)

Returns the standard deviation of a \({\it Weibull}(a,b)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The variance is $$ D[X] = b\sqrt{\Gamma\left(1+{2\over a}\right) - \Gamma\left(1+{1\over a}\right)^2} $$

Categories: Package distrib ·
Function: skewness_weibull (a,b)

Returns the skewness coefficient of a \({\it Weibull}(a,b)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The skewness coefficient is $$ SK[X] = {\displaystyle\Gamma\left(1+{3\over a}\right) -3\Gamma\left(1+{1\over a}\right)\Gamma\left(1+{2\over a}\right)+2\Gamma\left(1+{1\over a}\right)^3 \over \displaystyle\left[\Gamma\left(1+{2\over a}\right)-\Gamma\left(1+{1\over a}\right)^2\right]^{3/2} } $$

Categories: Package distrib ·
Function: kurtosis_weibull (a,b)

Returns the kurtosis coefficient of a \({\it Weibull}(a,b)\) random variable, with a,b>0. To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ KU[X] = { \Gamma_4 - 4\Gamma_1 \Gamma_3 + 6\Gamma_1^2 \Gamma_2 - 3 \Gamma_1^4 \over \left[\Gamma_2 - \Gamma_1^2\right]^2 } - 3 $$

where \(\Gamma_k = \Gamma\left(1+k/a\right).\)

Categories: Package distrib ·
Function: random_weibull (a,b)
    random_weibull (a,b,n)

Returns a \({\it Weibull}(a,b)\) random variate, with a,b>0. Calling random_weibull with a third argument n, a random sample of size n will be simulated.

The implemented algorithm is based on the general inverse method.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.15 Rayleigh Random Variable

The Rayleigh distribution coincides with the \(\chi^2\) distribution with two degrees of freedom.

Function: pdf_rayleigh (x,b)

Returns the value at x of the density function of a \({\it Rayleigh}(b)\) random variable, with b>0.

The \({\it Rayleigh}(b)\) random variable is equivalent to the \({\it Weibull}(2,1/b)\) .

The pdf is $$ f(x; b) = \cases{ 2b^2 x e^{-b^2 x^2} & for $x \ge 0$ \cr 0 & for $x < 0$ } $$

(%i1) load ("distrib")$
(%i2) pdf_rayleigh(x,b);
                              2  2
                     2     - b  x
(%o2)             2 b  x %e        unit_step(x)
Categories: Package distrib ·
Function: cdf_rayleigh (x,b)

Returns the value at x of the distribution function of a \({\it Rayleigh}(b)\) random variable, with b>0.

The \({\it Rayleigh}(b)\) random variable is equivalent to the \({\it Weibull}(2,1/b)\) .

The cdf is $$ F(x; b) = \cases{ 1 - e^{-b^2 x^2} & for $x \ge 0$\cr 0 & for $x < 0$ } $$

(%i1) load ("distrib")$
(%i2) cdf_rayleigh(x,b);
                            2  2
                         - b  x
(%o2)             (1 - %e       ) unit_step(x)
Categories: Package distrib ·
Function: quantile_rayleigh (q,b)

Returns the q-quantile of a \({\it Rayleigh}(b)\) random variable, with b>0; in other words, this is the inverse of cdf_rayleigh. Argument q must be an element of [0,1].

The \({\it Rayleigh}(b)\) random variable is equivalent to the \({\it Weibull}(2,1/b)\) .

(%i1) load ("distrib")$
(%i2) quantile_rayleigh(0.99,b);
                        2.145966026289347
(%o2)                   -----------------
                                b
Categories: Package distrib ·
Function: mean_rayleigh (b)

Returns the mean of a \({\it Rayleigh}(b)\) random variable, with b>0.

The \({\it Rayleigh}(b)\) random variable is equivalent to the \({\it Weibull}(2,1/b)\) .

The mean is $$ E[X] = {\sqrt{\pi}\over 2b} $$

(%i1) load ("distrib")$
(%i2) mean_rayleigh(b);
                            sqrt(%pi)
(%o2)                       ---------
                               2 b
Categories: Package distrib ·
Function: var_rayleigh (b)

Returns the variance of a \({\it Rayleigh}(b)\) random variable, with b>0.

The \({\it Rayleigh}(b)\) random variable is equivalent to the \({\it Weibull}(2,1/b)\) .

The variance is $$ V[X] = {1\over b^2}\left(1-{\pi \over 4}\right) $$

(%i1) load ("distrib")$
(%i2) var_rayleigh(b);
                                 %pi
                             1 - ---
                                  4
(%o2)                        -------
                                2
                               b
Categories: Package distrib ·
Function: std_rayleigh (b)

Returns the standard deviation of a \({\it Rayleigh}(b)\) random variable, with b>0.

The \({\it Rayleigh}(b)\) random variable is equivalent to the \({\it Weibull}(2,1/b)\) .

The standard deviation is $$ D[X] = {1\over b}\sqrt{\displaystyle 1 - {\pi\over 4}} $$

(%i1) load ("distrib")$
(%i2) std_rayleigh(b);
                                   %pi
                          sqrt(1 - ---)
                                    4
(%o2)                     -------------
                                b
Categories: Package distrib ·
Function: skewness_rayleigh (b)

Returns the skewness coefficient of a \({\it Rayleigh}(b)\) random variable, with b>0.

The \({\it Rayleigh}(b)\) random variable is equivalent to the \({\it Weibull}(2,1/b)\) .

The skewness coefficient is $$ SK[X] = {2\sqrt{\pi}(\pi - 3)\over (4-\pi)^{3/2}} $$

(%i1) load ("distrib")$
(%i2) skewness_rayleigh(b);
                         3/2
                      %pi      3 sqrt(%pi)
                      ------ - -----------
                        4           4
(%o2)                 --------------------
                               %pi 3/2
                          (1 - ---)
                                4
Categories: Package distrib ·
Function: kurtosis_rayleigh (b)

Returns the kurtosis coefficient of a \({\it Rayleigh}(b)\) random variable, with b>0.

The \({\it Rayleigh}(b)\) random variable is equivalent to the \({\it Weibull}(2,1/b)\) .

The kurtosis coefficient is $$ KU[X] = {32-3\pi\over (4-\pi)^2} - 3 $$

(%i1) load ("distrib")$
(%i2) kurtosis_rayleigh(b);
                                  2
                             3 %pi
                         2 - ------
                               16
(%o2)                    ---------- - 3
                              %pi 2
                         (1 - ---)
                               4
Categories: Package distrib ·
Function: random_rayleigh (b)
    random_rayleigh (b,n)

Returns a \({\it Rayleigh}(b)\) random variate, with b>0. Calling random_rayleigh with a second argument n, a random sample of size n will be simulated.

The implemented algorithm is based on the general inverse method.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.16 Laplace Random Variable

The Laplace distribution is a continuous probability distribution that is sometimes called the double exponential distribution because it can be thought of as two exponential distributions spliced back to back.

Function: pdf_laplace (x,a,b)

Returns the value at x of the density function of a \({\it Laplace}(a,b)\) random variable, with b>0. To make use of this function, write first load("distrib").

Here, a is the location parameter (or mean), and b is the scale parameter, related to the variance.

The pdf is $$ f(x; a, b) = {1\over 2b}\exp\left(-{|x-a|\over b}\right) $$

Categories: Package distrib ·
Function: cdf_laplace (x,a,b)

Returns the value at x of the distribution function of a \({\it Laplace}(a,b)\) random variable, with b>0. To make use of this function, write first load("distrib").

The cdf is $$ F(x; a, b) = \cases{ \displaystyle{1\over 2} \exp\left({x-a\over b}\right) & for $x < a$\cr \cr 1-\displaystyle{1\over 2} \exp\left({x-a\over b}\right) & for $x \ge a$ } $$

Categories: Package distrib ·
Function: quantile_laplace (q,a,b)

Returns the q-quantile of a \({\it Laplace}(a,b)\) random variable, with b>0; in other words, this is the inverse of cdf_laplace. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: mean_laplace (a,b)

Returns the mean of a \({\it Laplace}(a,b)\) random variable, with b>0. To make use of this function, write first load("distrib").

The mean is $$ E[X] = a $$

Categories: Package distrib ·
Function: var_laplace (a,b)

Returns the variance of a \({\it Laplace}(a,b)\) random variable, with b>0. To make use of this function, write first load("distrib").

The variance is $$ V[X] = 2b^2 $$

Categories: Package distrib ·
Function: std_laplace (a,b)

Returns the standard deviation of a \({\it Laplace}(a,b)\) random variable, with b>0. To make use of this function, write first load("distrib").

The standard deviation is $$ D[X] = \sqrt{2} b $$

Categories: Package distrib ·
Function: skewness_laplace (a,b)

Returns the skewness coefficient of a \({\it Laplace}(a,b)\) random variable, with b>0. To make use of this function, write first load("distrib").

The skewness coefficient is $$ SK[X] = 0 $$

Categories: Package distrib ·
Function: kurtosis_laplace (a,b)

Returns the kurtosis coefficient of a \({\it Laplace}(a,b)\) random variable, with b>0. To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ KU[X] = 3 $$

Categories: Package distrib ·
Function: random_laplace (a,b)
    random_laplace (a,b,n)

Returns a \({\it Laplace}(a,b)\) random variate, with b>0. Calling random_laplace with a third argument n, a random sample of size n will be simulated.

The implemented algorithm is based on the general inverse method.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.17 Cauchy Random Variable

The Cauchy distribution (also known as the Lorentz distribution) is the distribution of of the ratio of two independent normally distributed random variables with mean zero.

Note that the mean, variance, standard deviation, skewness coefficient, and kurtosis coefficient are all undefined for the Cauchy distribution. The integrals do not converge in this case.

Function: pdf_cauchy (x,a,b)

Returns the value at x of the density function of a \({\it Cauchy}(a,b)\) random variable, with b>0. To make use of this function, write first load("distrib").

The pdf is $$ f(x; a, b) = {b\over \pi\left((x-a)^2+b^2\right)} $$

Categories: Package distrib ·
Function: cdf_cauchy (x,a,b)

Returns the value at x of the distribution function of a \({\it Cauchy}(a,b)\) random variable, with b>0. To make use of this function, write first load("distrib").

The cdf is $$ F(x; a, b) = {1\over 2} + {1\over \pi} \tan^{-1} {x-a\over b} $$

Categories: Package distrib ·
Function: quantile_cauchy (q,a,b)

Returns the q-quantile of a \({\it Cauchy}(a,b)\) random variable, with b>0; in other words, this is the inverse of cdf_cauchy. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: random_cauchy (a,b)
    random_cauchy (a,b,n)

Returns a \({\it Cauchy}(a,b)\) random variate, with b>0. Calling random_cauchy with a third argument n, a random sample of size n will be simulated.

The implemented algorithm is based on the general inverse method.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.2.18 Gumbel Random Variable

Function: pdf_gumbel (x,a,b)

Returns the value at x of the density function of a \({\it Gumbel}(a,b)\) random variable, with b>0. To make use of this function, write first load("distrib").

The pdf is $$ f(x; a, b) = {1\over b} \exp\left[{a-x\over b} - \exp\left({a-x\over b}\right)\right] $$

Categories: Package distrib ·
Function: cdf_gumbel (x,a,b)

Returns the value at x of the distribution function of a \({\it Gumbel}(a,b)\) random variable, with b>0. To make use of this function, write first load("distrib").

The cdf is $$ F(x; a, b) = \exp\left[-\exp\left({a-x\over b}\right)\right] $$

Categories: Package distrib ·
Function: quantile_gumbel (q,a,b)

Returns the q-quantile of a \({\it Gumbel}(a,b)\) random variable, with b>0; in other words, this is the inverse of cdf_gumbel. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: mean_gumbel (a,b)

Returns the mean of a \({\it Gumbel}(a,b)\) random variable, with b>0.

The mean is $$ E[X] = a+b\gamma $$

(%i1) load ("distrib")$
(%i2) mean_gumbel(a,b);
(%o2)                     %gamma b + a

where symbol %gamma stands for the Euler-Mascheroni constant. See also %gamma.

Categories: Package distrib ·
Function: var_gumbel (a,b)

Returns the variance of a \({\it Gumbel}(a,b)\) random variable, with b>0. To make use of this function, write first load("distrib").

The variance is $$ V[X] = {\pi^2\over 6} b^2 $$

Categories: Package distrib ·
Function: std_gumbel (a,b)

Returns the standard deviation of a \({\it Gumbel}(a,b)\) random variable, with b>0. To make use of this function, write first load("distrib").

The standard deviation is $$ D[X] = {\pi \over \sqrt{6}} b $$

Categories: Package distrib ·
Function: skewness_gumbel (a,b)

Returns the skewness coefficient of a \({\it Gumbel}(a,b)\) random variable, with b>0.

The skewness coefficient is $$ SK[X] = {12\sqrt{6}\over \pi^3} \zeta(3) $$

(%i1) load ("distrib")$
(%i2) skewness_gumbel(a,b);
                            3/2
                         2 6    zeta(3)
(%o2)                    --------------
                                 3
                              %pi

where zeta stands for the Riemann’s zeta function.

Categories: Package distrib ·
Function: kurtosis_gumbel (a,b)

Returns the kurtosis coefficient of a \({\it Gumbel}(a,b)\) random variable, with b>0. To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ KU[X] = {12\over 5} $$

Categories: Package distrib · Package distrib ·
Function: random_gumbel (a,b)
    random_gumbel (a,b,n)

Returns a \({\it Gumbel}(a,b)\) random variate, with b>0. Calling random_gumbel with a third argument n, a random sample of size n will be simulated.

The implemented algorithm is based on the general inverse method.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.3 Functions and Variables for discrete distributions

Maxima knows the following kinds of discrete distributions


53.3.1 General Finite Discrete Random Variable

Function: pdf_general_finite_discrete (x,v)

Returns the value at x of the probability function of a general finite discrete random variable, with vector probabilities v, such that Pr(X=i) = v_i. Vector v can be a list of nonnegative expressions, whose components will be normalized to get a vector of probabilities. To make use of this function, write first load("distrib").

(%i1) load ("distrib")$
(%i2) pdf_general_finite_discrete(2, [1/7, 4/7, 2/7]);
                                4
(%o2)                           -
                                7
(%i3) pdf_general_finite_discrete(2, [1, 4, 2]);
                                4
(%o3)                           -
                                7
Categories: Package distrib ·
Function: cdf_general_finite_discrete (x,v)

Returns the value at x of the distribution function of a general finite discrete random variable, with vector probabilities v.

See pdf_general_finite_discrete for more details.

(%i1) load ("distrib")$
(%i2) cdf_general_finite_discrete(2, [1/7, 4/7, 2/7]);
                                5
(%o2)                           -
                                7
(%i3) cdf_general_finite_discrete(2, [1, 4, 2]);
                                5
(%o3)                           -
                                7
(%i4) cdf_general_finite_discrete(2+1/2, [1, 4, 2]);
                                5
(%o4)                           -
                                7
Categories: Package distrib ·
Function: quantile_general_finite_discrete (q,v)

Returns the q-quantile of a general finite discrete random variable, with vector probabilities v.

See pdf_general_finite_discrete for more details.

Categories: Package distrib ·
Function: mean_general_finite_discrete (v)

Returns the mean of a general finite discrete random variable, with vector probabilities v.

See pdf_general_finite_discrete for more details.

Categories: Package distrib ·
Function: var_general_finite_discrete (v)

Returns the variance of a general finite discrete random variable, with vector probabilities v.

See pdf_general_finite_discrete for more details.

Categories: Package distrib ·
Function: std_general_finite_discrete (v)

Returns the standard deviation of a general finite discrete random variable, with vector probabilities v.

See pdf_general_finite_discrete for more details.

Categories: Package distrib ·
Function: skewness_general_finite_discrete (v)

Returns the skewness coefficient of a general finite discrete random variable, with vector probabilities v.

See pdf_general_finite_discrete for more details.

Categories: Package distrib ·
Function: kurtosis_general_finite_discrete (v)

Returns the kurtosis coefficient of a general finite discrete random variable, with vector probabilities v.

See pdf_general_finite_discrete for more details.

Categories: Package distrib ·
Function: random_general_finite_discrete (v)
    random_general_finite_discrete (v,m)

Returns a general finite discrete random variate, with vector probabilities v. Calling random_general_finite_discrete with a second argument m, a random sample of size m will be simulated.

See pdf_general_finite_discrete for more details.

(%i1) load ("distrib")$
(%i2) random_general_finite_discrete([1,3,1,5]);
(%o2)                           4
(%i3) random_general_finite_discrete([1,3,1,5], 10);
(%o3)            [3, 4, 3, 4, 4, 4, 4, 2, 4, 4]
Categories: Package distrib · Random numbers ·

53.3.2 Binomial Random Variable

The binomial distribution with parameters n and p is a discrete probability distribution. It consists of n independent experiments where each experiment consists of a Boolean-valued outcome where a success occurs with a probablity p.

For example, a biased coin that comes up heads with probablity p is tossed n times. Then the probability of exactly k heads in n tosses is given by the binomial distribution.

Function: pdf_binomial (x,n,p)

Returns the value at x of the probability function of a \({\it Binomial}(n,p)\) random variable, with 0 \leq p \leq 1 and n a positive integer. To make use of this function, write first load("distrib").

The pdf is $$ f(x; n, p) = {n\choose x} (1-p)^{n-x}p^x $$

Categories: Package distrib ·
Function: cdf_binomial (x,n,p)

Returns the value at x of the distribution function of a \({\it Binomial}(n,p)\) random variable, with 0 \leq p \leq 1 and n a positive integer.

The cdf is $$ F(x; n, p) = I_{1-p}(n-\lfloor x \rfloor, \lfloor x \rfloor + 1) $$

where \(I_z(a,b)\) is the beta_incomplete_regularized function.

(%i1) load ("distrib")$
(%i2) cdf_binomial(5,7,1/6);
                              7775
(%o2)                         ----
                              7776
(%i3) float(%);
(%o3)                  0.9998713991769548
Categories: Package distrib ·
Function: quantile_binomial (q,n,p)

Returns the q-quantile of a \({\it Binomial}(n,p)\) random variable, with 0 \leq p \leq 1 and n a positive integer; in other words, this is the inverse of cdf_binomial. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: mean_binomial (n,p)

Returns the mean of a \({\it Binomial}(n,p)\) random variable, with 0 \leq p \leq 1 and n a positive integer. To make use of this function, write first load("distrib").

The mean is $$ E[X] = np $$

Categories: Package distrib ·
Function: var_binomial (n,p)

Returns the variance of a \({\it Binomial}(n,p)\) random variable, with 0 \leq p \leq 1 and n a positive integer. To make use of this function, write first load("distrib").

The variance is $$ V[X] = np(1-p) $$

Categories: Package distrib ·
Function: std_binomial (n,p)

Returns the standard deviation of a \({\it Binomial}(n,p)\) random variable, with 0 \leq p \leq 1 and n a positive integer. To make use of this function, write first load("distrib").

The standard deviation is $$ D[X] = \sqrt{np(1-p)} $$

Categories: Package distrib ·
Function: skewness_binomial (n,p)

Returns the skewness coefficient of a \({\it Binomial}(n,p)\) random variable, with 0 \leq p \leq 1 and n a positive integer. To make use of this function, write first load("distrib").

The skewness coefficient is $$ SK[X] = {1-2p\over \sqrt{np(1-p)}} $$

Categories: Package distrib ·
Function: kurtosis_binomial (n,p)

Returns the kurtosis coefficient of a \({\it Binomial}(n,p)\) random variable, with 0 \leq p \leq 1 and n a positive integer. To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ KU[X] = {1-6p(1-p)\over np(1-p)} $$

Categories: Package distrib ·
Function: random_binomial (n,p)
    random_binomial (n,p,m)

Returns a \({\it Binomial}(n,p)\) random variate, with 0 \leq p \leq 1 and n a positive integer. Calling random_binomial with a third argument m, a random sample of size m will be simulated.

The implemented algorithm is based on the one described in Kachitvichyanukul, V. and Schmeiser, B.W. (1988) Binomial Random Variate Generation. Communications of the ACM, 31, Feb., 216.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.3.3 Poisson Random Variable

The Poisson distribution is a discrete probability distribution. It is the probability that a given number of events occur in a fixed interval when the events occur independently of the time of the last event, and the events occur with a known constant rate.

Function: pdf_poisson (x,m)

Returns the value at x of the probability function of a \({\it Poisson}(m)\) random variable, with m>0. To make use of this function, write first load("distrib").

The pdf is $$ f(x; m) = {m^x e^{-m}\over x!} $$

Categories: Package distrib ·
Function: cdf_poisson (x,m)

Returns the value at x of the distribution function of a \({\it Poisson}(m)\) random variable, with m>0.

The cdf is $$ F(x; m) = Q(\lfloor x \rfloor + 1, m) $$

where Q(x,m) is the gamma_incomplete_regularized function.

(%i1) load ("distrib")$
(%i2) cdf_poisson(3,5);
(%o2)          gamma_incomplete_regularized(4, 5)
(%i3) float(%);
(%o3)                  0.2650259152973619
Categories: Package distrib ·
Function: quantile_poisson (q,m)

Returns the q-quantile of a \({\it Poisson}(m)\) random variable, with m>0; in other words, this is the inverse of cdf_poisson. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: mean_poisson (m)

Returns the mean of a \({\it Poisson}(m)\) random variable, with m>0. To make use of this function, write first load("distrib").

The mean is $$ E[X] = m $$

Categories: Package distrib ·
Function: var_poisson (m)

Returns the variance of a \({\it Poisson}(m)\) random variable, with m>0. To make use of this function, write first load("distrib").

The variance is $$ V[X] = m $$

Categories: Package distrib ·
Function: std_poisson (m)

Returns the standard deviation of a \({\it Poisson}(m)\) random variable, with m>0. To make use of this function, write first load("distrib").

The standard deviation is $$ V[X] = \sqrt{m} $$

Categories: Package distrib ·
Function: skewness_poisson (m)

Returns the skewness coefficient of a \({\it Poisson}(m)\) random variable, with m>0. To make use of this function, write first load("distrib").

The skewness is $$ SK[X] = {1\over \sqrt{m}} $$

Categories: Package distrib ·
Function: kurtosis_poisson (m)

Returns the kurtosis coefficient of a Poisson random variable Poi(m), with m>0. To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ KU[X] = {1\over m} $$

Categories: Package distrib ·
Function: random_poisson (m)
    random_poisson (m,n)

Returns a \({\it Poisson}(m)\) random variate, with m>0. Calling random_poisson with a second argument n, a random sample of size n will be simulated.

The implemented algorithm is the one described in Ahrens, J.H. and Dieter, U. (1982) Computer Generation of Poisson Deviates From Modified Normal Distributions. ACM Trans. Math. Software, 8, 2, June,163-179.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.3.4 Bernoulli Random Variable

The Bernoulli distribution is a discrete probability distribution which takes on two values, 0 and 1. The value 1 occurs with probability p, and 0 occurs with probabilty 1-p.

It is equivalent to the \({\it Binomial}(1,p)\) distribution (see Binomial Random Variable)

Function: pdf_bernoulli (x,p)

Returns the value at x of the probability function of a \({\it Bernoulli}(p)\) random variable, with 0 \leq p \leq 1.

The \({\it Bernoulli}(p)\) random variable is equivalent to the \({\it Binomial}(1,p)\) .

The mean is $$ f(x; p) = p^x (1-p)^{1-x} $$

(%i1) load ("distrib")$
(%i2) pdf_bernoulli(1,p);
(%o2)                           p
Categories: Package distrib ·
Function: cdf_bernoulli (x,p)

Returns the value at x of the distribution function of a \({\it Bernoulli}(p)\) random variable, with 0 \leq p \leq 1. To make use of this function, write first load("distrib").

The cdf is $$ F(x; p) = I_{1-p}(1-\lfloor x \rfloor, \lfloor x \rfloor + 1) $$

Categories: Package distrib ·
Function: quantile_bernoulli (q,p)

Returns the q-quantile of a \({\it Bernoulli}(p)\) random variable, with 0 \leq p \leq 1; in other words, this is the inverse of cdf_bernoulli. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: mean_bernoulli (p)

Returns the mean of a \({\it Bernoulli}(p)\) random variable, with 0 \leq p \leq 1.

The \({\it Bernoulli}(p)\) random variable is equivalent to the \({\it Binomial}(1,p)\) .

The mean is $$ E[X] = p $$

(%i1) load ("distrib")$
(%i2) mean_bernoulli(p);
(%o2)                           p
Categories: Package distrib ·
Function: var_bernoulli (p)

Returns the variance of a \({\it Bernoulli}(p)\) random variable, with 0 \leq p \leq 1.

The \({\it Bernoulli}(p)\) random variable is equivalent to the \({\it Binomial}(1,p)\) .

The variance is $$ V[X] = p(1-p) $$

(%i1) load ("distrib")$
(%i2) var_bernoulli(p);
(%o2)                       (1 - p) p
Categories: Package distrib ·
Function: std_bernoulli (p)

Returns the standard deviation of a \({\it Bernoulli}(p)\) random variable, with 0 \leq p \leq 1.

The \({\it Bernoulli}(p)\) random variable is equivalent to the \({\it Binomial}(1,p)\) .

The standard deviation is $$ D[X] = \sqrt{p(1-p)} $$

(%i1) load ("distrib")$
(%i2) std_bernoulli(p);
(%o2)                    sqrt((1 - p) p)
Categories: Package distrib ·
Function: skewness_bernoulli (p)

Returns the skewness coefficient of a \({\it Bernoulli}(p)\) random variable, with 0 \leq p \leq 1.

The \({\it Bernoulli}(p)\) random variable is equivalent to the \({\it Binomial}(1,p)\) .

The skewness coefficient is $$ SK[X] = {1-2p \over \sqrt{p(1-p)}} $$

(%i1) load ("distrib")$
(%i2) skewness_bernoulli(p);
                             1 - 2 p
(%o2)                    ---------------
                         sqrt((1 - p) p)
Categories: Package distrib ·
Function: kurtosis_bernoulli (p)

Returns the kurtosis coefficient of a \({\it Bernoulli}(p)\) random variable, with 0 \leq p \leq 1.

The \({\it Bernoulli}(p)\) random variable is equivalent to the \({\it Binomial}(1,p)\) .

The kurtosis coefficient is $$ KU[X] = {1-6p(1-p) \over p(1-p)} $$

(%i1) load ("distrib")$
(%i2) kurtosis_bernoulli(p);
                         1 - 6 (1 - p) p
(%o2)                    ---------------
                            (1 - p) p
Categories: Package distrib ·
Function: random_bernoulli (p)
    random_bernoulli (p,n)

Returns a \({\it Bernoulli}(p)\) random variate, with 0 \leq p \leq 1. Calling random_bernoulli with a second argument n, a random sample of size n will be simulated.

This is a direct application of the random built-in Maxima function.

See also random. To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.3.5 Geometric Random Variable

The Geometric distibution is a discrete probability distribution. It is the distribution of the number Bernoulli trials that fail before the first success.

Consider flipping a biased coin where heads occurs with probablity p. Then the probability of k-1 tails in a row followed by heads is given by the \({\it Geometric}(p)\) distribution.

Function: pdf_geometric (x,p)

Returns the value at x of the probability function of a \({\it Geometric}(p)\) random variable, with 0 < p \leq 1

The pdf is $$ f(x; p) = p(1-p)^x $$

This is interpreted as the probability of x failures before the first success.

load("distrib") loads this function.

Categories: Package distrib ·
Function: cdf_geometric (x,p)

Returns the value at x of the distribution function of a \({\it Geometric}(p)\) random variable, with 0 < p \leq 1

The cdf is $$ 1-(1-p)^{1 + \lfloor x \rfloor} $$

load("distrib") loads this function.

Categories: Package distrib ·
Function: quantile_geometric (q,p)

Returns the q-quantile of a \({\it Geometric}(p)\) random variable, with \(0 \lt p \le 1\) ; in other words, this is the inverse of cdf_geometric. Argument q must be an element of [0,1].

The probability from which the quantile is derived is defined as p (1 - p)^x. This is interpreted as the probability of x failures before the first success.

load("distrib") loads this function.

Categories: Package distrib ·
Function: mean_geometric (p)

Returns the mean of a \({\it Geometric}(p)\) random variable, with 0 < p \leq 1.

The mean is $$ E[X] = {1\over p} - 1 $$

The probability from which the mean is derived is defined as p (1 - p)^x. This is interpreted as the probability of x failures before the first success.

load("distrib") loads this function.

Categories: Package distrib ·
Function: var_geometric (p)

Returns the variance of a \({\it Geometric}(p)\) random variable, with 0 < p \leq 1.

The variance is $$ V[X] = {1-p\over p^2} $$

load("distrib") loads this function.

Categories: Package distrib ·
Function: std_geometric (p)

Returns the standard deviation of a \({\it Geometric}(p)\) random variable, with 0 < p \leq 1.

$$ D[X] = {\sqrt{1-p} \over p} $$

load("distrib") loads this function.

Categories: Package distrib ·
Function: skewness_geometric (p)

Returns the skewness coefficient of a \({\it Geometric}(p)\) random variable, with 0 < p \leq 1.

The skewness coefficient is $$ SK[X] = {2-p \over \sqrt{1-p}} $$

load("distrib") loads this function.

Categories: Package distrib ·
Function: kurtosis_geometric (p)

Returns the kurtosis coefficient of a geometric random variable \({\it Geometric}(p)\) , with 0 < p \leq 1.

The kurtosis coefficient is $$ KU[X] = {p^2-6p+6 \over 1-p} $$

load("distrib") loads this function.

Categories: Package distrib ·
Function: random_geometric (p)
    random_geometric (p,n)

random_geometric(p) returns one random sample from a \({\it Geometric}(p)\) distribution, with \(0 \lt p \le 1.\)

random_geometric(p, n) returns a list of n random samples.

The algorithm is based on simulation of Bernoulli trials.

The probability from which the random sample is derived is defined as p (1 - p)^x. This is interpreted as the probability of x failures before the first success.

load("distrib") loads this function.

Categories: Package distrib · Random numbers ·

53.3.6 Discrete Uniform Random Variable

The Discrete uniform distribution is a discrete probablity distribution where a finite number of values are equally likely to occur. The values are 1,2,3,...,n.

For example throwing a fair die of 6 sides numbered 1 through 6 follows a \({\it DiscreteUniform}(1/6)\) distribution.

Function: pdf_discrete_uniform (x,n)

Returns the value at x of the probability function of a \({\it DiscreteUniform}(n)\) random variable, with n a strictly positive integer. To make use of this function, write first load("distrib").

The pdf is $$ f(x,n) = {1\over n} $$

Categories: Package distrib ·
Function: cdf_discrete_uniform (x,n)

Returns the value at x of the distribution function of a \({\it DiscreteUniform}(n)\) random variable, with n a strictly positive integer. To make use of this function, write first load("distrib").

The cdf is $$ F(x; n) = {\lfloor x \rfloor \over n} $$

Categories: Package distrib ·
Function: quantile_discrete_uniform (q,n)

Returns the q-quantile of a \({\it DiscreteUniform}(n)\) random variable, with n a strictly positive integer; in other words, this is the inverse of cdf_discrete_uniform. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: mean_discrete_uniform (n)

Returns the mean of a \({\it DiscreteUniform}(n)\) random variable, with n a strictly positive integer. To make use of this function, write first load("distrib").

The mean is $$ E[X] = {n+1\over 2} $$

Categories: Package distrib ·
Function: var_discrete_uniform (n)

Returns the variance of a \({\it DiscreteUniform}(n)\) random variable, with n a strictly positive integer. To make use of this function, write first load("distrib").

The variance is $$ V[X] = {n^2-1 \over 12} $$

Categories: Package distrib ·
Function: std_discrete_uniform (n)

Returns the standard deviation of a \({\it DiscreteUniform}(n)\) random variable, with n a strictly positive integer. To make use of this function, write first load("distrib").

The standard deviation is $$ D[X] = {\sqrt{n^2-1} \over 2\sqrt{3}} $$

Categories: Package distrib ·
Function: skewness_discrete_uniform (n)

Returns the skewness coefficient of a \({\it DiscreteUniform}(n)\) random variable, with n a strictly positive integer. To make use of this function, write first load("distrib").

The skewness coefficient is $$ SK[X] = 0 $$

Categories: Package distrib ·
Function: kurtosis_discrete_uniform (n)

Returns the kurtosis coefficient of a \({\it DiscreteUniform}(n)\) random variable, with n a strictly positive integer. To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ KU[X] = - {6(n^2+1)\over 5 (n^2-1)} $$

Categories: Package distrib ·
Function: random_discrete_uniform (n)
    random_discrete_uniform (n,m)

Returns a \({\it DiscreteUniform}(n)\) random variate, with n a strictly positive integer. Calling random_discrete_uniform with a second argument m, a random sample of size m will be simulated.

This is a direct application of the random built-in Maxima function.

See also random. To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.3.7 Hypergeometric Random Variable

The hypergeometric distribution is a discrete probability distribution.

Let n_1 be the number of objects of a class A and n_2 be the number of objects of class B. We take out n objects, without replacment. Then the hypergeometric distribution is the probability that exactly k objects are from class A. Of course n \leq n_1 + n_2.

Function: pdf_hypergeometric (x,n_1,n_2,n)

Returns the value at x of the probability function of a \({\it Hypergeometric}(n1,n2,n)\) random variable, with n_1, n_2 and n non negative integers and n\leq n_1+n_2. Being n_1 the number of objects of class A, n_2 the number of objects of class B, and n the size of the sample without replacement, this function returns the probability of event "exactly x objects are of class A".

To make use of this function, write first load("distrib").

The pdf is $$ f(x; n_1, n_2, n) = {\displaystyle{n_1\choose x} {n_2 \choose n-x} \over \displaystyle{n_2+n_1 \choose n}} $$

Categories: Package distrib ·
Function: cdf_hypergeometric (x,n_1,n_2,n)

Returns the value at x of the distribution function of a \({\it Hypergeometric}(n1,n2,n)\) random variable, with n_1, n_2 and n non negative integers and n\leq n_1+n_2. See pdf_hypergeometric for a more complete description.

To make use of this function, write first load("distrib").

The cdf is $$ F(x; n_1, n_2, n) = {n_2+n_1\choose n}^{-1} \sum_{k=0}^{\lfloor x \rfloor} {n_1 \choose k} {n_2 \choose n - k} $$

Categories: Package distrib ·
Function: quantile_hypergeometric (q,n1,n2,n)

Returns the q-quantile of a \({\it Hypergeometric}(n1,n2,n)\) random variable, with n1, n2 and n non negative integers and n\leq n1+n2; in other words, this is the inverse of cdf_hypergeometric. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: mean_hypergeometric (n_1,n_2,n)

Returns the mean of a discrete uniform random variable \({\it Hypergeometric}(n_1,n_2,n)\) , with n_1, n_2 and n non negative integers and n\leq n_1+n_2. To make use of this function, write first load("distrib").

The mean is $$ E[X] = {n n_1\over n_2+n_1} $$

Categories: Package distrib ·
Function: var_hypergeometric (n1,n2,n)

Returns the variance of a hypergeometric random variable \({\it Hypergeometric}(n_1,n_2,n)\) , with n_1, n_2 and n non negative integers and \(n \le n_1 + n_2.\) To make use of this function, write first load("distrib").

The variance is $$ V[X] = {n n_1 n_2 (n_1 + n_2 - n) \over (n_1 + n_2 - 1) (n_1 + n_2)^2} $$

Categories: Package distrib ·
Function: std_hypergeometric (n_1,n_2,n)

Returns the standard deviation of a \({\it Hypergeometric}(n_1,n_2,n)\) random variable, with n_1, n_2 and n non negative integers and n\leq n_1+n_2. To make use of this function, write first load("distrib").

The standard deviation is $$ D[X] = {1\over n_1+n_2}\sqrt{n n_1 n_2 (n_1 + n_2 - n) \over n_1+n_2-1} $$

Categories: Package distrib ·
Function: skewness_hypergeometric (n_1,n_2,n)

Returns the skewness coefficient of a \({\it Hypergeometric}(n1,n2,n)\) random variable, with n_1, n_2 and n non negative integers and n\leq n1+n2. To make use of this function, write first load("distrib").

The skewness coefficient is $$ SK[X] = {(n_2-n_2)(n_1+n_2-2n)\over n_1+n_2-2} \sqrt{n_1+n_2-1 \over n n_1 n_2 (n_1+n_2-n)} $$

Categories: Package distrib ·
Function: kurtosis_hypergeometric (n_1,n_2,n)

Returns the kurtosis coefficient of a \({\it Hypergeometric}(n_1,n_2,n)\) random variable, with n_1, n_2 and n non negative integers and n\leq n1+n2. To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ \eqalign{ KU[X] = & \left[{C(1)C(0)^2 \over n n_1 n_2 C(3)C(2)C(n)}\right. \cr & \times \left.\left( {3n_1n_2\left((n-2)C(0)^2+6nC(n)-n^2C(0)\right) \over C(0)^2 } -6nC(n) + C(0)C(-1) \right)\right] \cr &-3 } $$

where \(C(k) = n_1+n_2-k.\)

Categories: Package distrib ·
Function: random_hypergeometric (n1,n2,n)
    random_hypergeometric (n1,n2,n,m)

Returns a \({\it Hypergeometric}(n1,n2,n)\) random variate, with n1, n2 and n non negative integers and \(n \le n_1 + n_2.\) Calling random_hypergeometric with a fourth argument m, a random sample of size m will be simulated.

Algorithm described in Kachitvichyanukul, V., Schmeiser, B.W. (1985) Computer generation of hypergeometric random variates. Journal of Statistical Computation and Simulation 22, 127-145.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

53.3.8 Negative Binomial Random Variable

The negative binomial distribution is a discrete probability distribution. Suppose we have a sequence of Bernoulli trials where each trial has two outcomes called “success” and “failure” where “success” occurs with probablity p and “failure” with probability 1-p. We observe the sequence until a predefined number r of sucesses have occurred. Then the number of failures seen will have a \({\it NegativeBinomial}(r,p)\) distribution.

Function: pdf_negative_binomial (x,n,p)

Returns the value at x of the probability function of a \({\it NegativeBinomial}(n,p)\) random variable, with 0 < p \leq 1 and n a positive number. To make use of this function, write first load("distrib").

The pdf is $$ f(x; n, p) = {x+n-1 \choose n-1} (1-p)^xp^n $$

Categories: Package distrib ·
Function: cdf_negative_binomial (x,n,p)

Returns the value at x of the distribution function of a \({\it NegativeBinomial}(n,p)\) random variable, with 0 < p \leq 1 and n a positive number.

The cdf is $$ F(x; n, p) = I_p(n,\lfloor x \rfloor + 1) $$

where \(I_p(a,b)\) is the beta_incomplete_regularized function.

(%i1) load ("distrib")$
(%i2) cdf_negative_binomial(3,4,1/8);
                              3271
(%o2)                        ------
                             524288
Categories: Package distrib ·
Function: quantile_negative_binomial (q,n,p)

Returns the q-quantile of a \({\it NegativeBinomial}(n,p)\) random variable, with 0 < p \leq 1 and n a positive number; in other words, this is the inverse of cdf_negative_binomial. Argument q must be an element of [0,1]. To make use of this function, write first load("distrib").

Categories: Package distrib ·
Function: mean_negative_binomial (n,p)

Returns the mean of a \({\it NegativeBinomial}(n,p)\) random variable, with 0 < p \leq 1 and n a positive number. To make use of this function, write first load("distrib").

The mean is $$ E[X] = {n(1-p)\over p} $$

Categories: Package distrib ·
Function: var_negative_binomial (n,p)

Returns the variance of a \({\it NegativeBinomial}(n,p)\) random variable, with 0 < p \leq 1 and n a positive number. To make use of this function, write first load("distrib").

The variance is $$ V[X] = {n(1-p)\over p^2} $$

Categories: Package distrib ·
Function: std_negative_binomial (n,p)

Returns the standard deviation of a \({\it NegativeBinomial}(n,p)\) random variable, with 0 < p \leq 1 and n a positive number. To make use of this function, write first load("distrib").

The standard deviation is $$ D[X] = {\sqrt{n(1-p)}\over p} $$

Categories: Package distrib ·
Function: skewness_negative_binomial (n,p)

Returns the skewness coefficient of a \({\it NegativeBinomial}(n,p)\) random variable, with 0 < p \leq 1 and n a positive number. To make use of this function, write first load("distrib").

The skewness coefficient is $$ SK[X] = {2-p \over \sqrt{n(1-p)}} $$

Categories: Package distrib ·
Function: kurtosis_negative_binomial (n,p)

Returns the kurtosis coefficient of a \({\it NegativeBinomial}(n,p)\) random variable, with 0 < p \leq 1 and n a positive number. To make use of this function, write first load("distrib").

The kurtosis coefficient is $$ KU[X] = {p^2-6p+6 \over n(1-p)} $$

Categories: Package distrib ·
Function: random_negative_binomial (n,p)
    random_negative_binomial (n,p,m)

Returns a \({\it NegativeBinomial}(n,p)\) random variate, with 0 < p \leq 1 and n a positive number. Calling random_negative_binomial with a third argument m, a random sample of size m will be simulated.

Algorithm described in Devroye, L. (1986) Non-Uniform Random Variate Generation. Springer Verlag, p. 480.

To make use of this function, write first load("distrib").

Categories: Package distrib · Random numbers ·

Next: , Previous:   [Contents][Index]