Learn R Programming

NonNorMvtDist (version 1.1.0)

MvtLogis: Multivariate Logistic Distribution

Description

Calculation of density function, cumulative distribution function, equicoordinate quantile function and survival function, and random numbers generation for multivariate logistic distribution with vector parameter parm1 and vector parameter parm2.

Usage

dmvlogis(x, parm1 = rep(1, k), parm2 = rep(1, k), log = FALSE)

pmvlogis(q, parm1 = rep(1, k), parm2 = rep(1, k))

qmvlogis(p, parm1 = rep(1, k), parm2 = rep(1, k), interval = c(0, 1e+08))

rmvlogis(n, parm1 = rep(1, k), parm2 = rep(1, k))

smvlogis(q, parm1 = rep(1, k), parm2 = rep(1, k))

Value

dmvlogis gives the numerical values of the probability density.

pmvlogis gives the cumulative probability.

qmvlogis gives the equicoordinate quantile.

rmvlogis generates random numbers.

smvlogis gives the value of survival function

Arguments

x

vector or matrix of quantiles. If \(x\) is a matrix, each row vector constitutes a vector of quantiles for which the density \(f(x)\) is calculated (for \(i\)-th row \(x_i\), \(f(x_i)\) is reported).

parm1

a vector of location parameters, see parameter \(\mu_i\) in Details.

parm2

a vector of scale parameters, see parameters \(\sigma_i\) in Details.

log

logical; if TRUE, probability densities \(f\) are given as \(log(f)\).

q

a vector of quantiles.

p

a scalar value corresponding to probability.

interval

a vector containing the end-points of the interval to be searched. Default value is set as c(0, 1e8).

n

number of observations.

k

dimension of data or number of variates.

Details

Bivariate logistic distribution was introduced by Gumbel (1961) and its multivariate generalization was given by Malik and Abraham (1973) as $$f(x_1, \cdots, x_k) = \frac{k! \exp{(-\sum_{i=1}^{k} \frac{x_i - \mu_i}{\sigma_i})}}{[\prod_{i=1}^{p} \sigma_i] [1 + \sum_{i=1}^{k} \exp{(-\frac{x_i - \mu_i}{\sigma_i})}]^{1+k}},$$ where \(-\infty<x_i, \mu_i<\infty, \sigma_i > 0, i=1,\cdots, k\).

Cumulative distribution function \(F(x_1, \dots, x_k)\) is given as $$F(x_1, \cdots, x_k) = \left[1 + \sum_{i=1}^{k} \exp(-\frac{x_i-\mu_i}{\sigma_i})\right]^{-1}.$$

Equicoordinate quantile is obtained by solving the following equation for \(q\) through the built-in one dimension root finding function uniroot: $$\int_{-\infty}^{q} \cdots \int_{-\infty}^{q} f(x_1, \cdots, x_k) dx_k \cdots dx_1 = p,$$ where \(p\) is the given cumulative probability.

The survival function \(\bar{F}(x_1, \cdots, x_k)\) is obtained by the following formula related to cumulative distribution function \(F(x_1, \dots, x_k)\) (Joe, 1997) $$\bar{F}(x_1, \cdots, x_k) = 1 + \sum_{S \in \mathcal{S}} (-1)^{|S|} F_S(x_j, j \in S).$$

Random numbers \(X_1, \cdots, X_k\) from multivariate logistic distribution can be generated through transformation of multivariate Lomax random variables \(Y_1, \cdots, Y_k\) by letting \(X_i=\mu_i-\sigma_i\ln(\theta_i Y_i), i = 1, \cdots, k\); see Nayak (1987).

References

Gumbel, E.J. (1961). Bivariate logistic distribution. J. Am. Stat. Assoc., 56, 335-349.

Joe, H. (1997). Multivariate Models and Dependence Concepts. London: Chapman & Hall.

Malik, H. J. and Abraham, B. (1973). Multivariate logistic distributions. Ann. Statist. 3, 588-590.

Nayak, T. K. (1987). Multivariate Lomax Distribution: Properties and Usefulness in Reliability Theory. Journal of Applied Probability, Vol. 24, No. 1, 170-177.

See Also

uniroot for one dimensional root (zero) finding.

Examples

Run this code
# Calculations for the multivariate logistic distribution with parameters:
# mu1 = 0.5, mu2 = 1, mu3 = 2, sigma1 = 1, sigma2 = 2 and sigma3 = 3
# Vector of quantiles: c(3, 2, 1)

dmvlogis(x = c(3, 2, 1), parm1 = c(0.5, 1, 2), parm2 = c(1, 2, 3)) # Density

pmvlogis(q = c(3, 2, 1), parm1 = c(0.5, 1, 2), parm2 = c(1, 2, 3)) # Cumulative Probability

# Equicoordinate quantile of cumulative probability 0.5
qmvlogis(p = 0.5, parm1 = c(0.5, 1, 2), parm2 = c(1, 2, 3))

# Random numbers generation with sample size 100
rmvlogis(n = 100, parm1 = c(0.5, 1, 2), parm2 = c(1, 2, 3)) 

smvlogis(q = c(3, 2, 1), parm1 = c(0.5, 1, 2), parm2 = c(1, 2, 3)) # Survival function

Run the code above in your browser using DataLab