This function defines the Skew Power exponential (SEP) distribution, a four parameter distribution,
for a gamlss.family
object to be used for a
GAMLSS fitting using the function gamlss()
. The functions dSEP
,
pSEP
, qSEP
and rSEP
define the density,
distribution function, quantile function and random
generation for the Skew Power exponential (SEP) distribution.
SEP(mu.link = "identity", sigma.link = "log", nu.link = "identity",
tau.link = "log")
dSEP(x, mu = 0, sigma = 1, nu = 0, tau = 2, log = FALSE)
pSEP(q, mu = 0, sigma = 1, nu = 0, tau = 2, lower.tail = TRUE,
log.p = FALSE)
qSEP(p, mu = 0, sigma = 1, nu = 0, tau = 2, lower.tail = TRUE,
log.p = FALSE, lower.limit = mu - 5 * sigma,
upper.limit = mu + 5 * sigma)
rSEP(n, mu = 0, sigma = 1, nu = 0, tau = 2)
SEP()
returns a gamlss.family
object which can be used to fit the SEP distribution in the gamlss()
function.
dSEP()
gives the density, pSEP()
gives the distribution
function, qSEP()
gives the quantile function, and rSEP()
generates random deviates.
Defines the mu.link
, with "identity" link as the default for the mu
parameter. Other links are "\(1/mu^2\)" and "log"
Defines the sigma.link
, with "log" link as the default for the sigma
parameter. Other links are "inverse" and "identity"
Defines the nu.link
, with "identity" link as the default for the nu
parameter. Other links are "\(1/nu^2\)" and "log"
Defines the tau.link
, with "log" link as the default for the tau
parameter. Other links are "\(1/tau^2\)", and "identity
vector of quantiles
vector of location parameter values
vector of scale parameter values
vector of skewness nu
parameter values
vector of kurtosis tau
parameter values
logical; if TRUE, probabilities p are given as log(p).
logical; if TRUE (default), probabilities are P[X <= x], otherwise, P[X > x]
vector of probabilities.
number of observations. If length(n) > 1
, the length is
taken to be the number required
lower limit for the golden search to find quantiles from probabilities
upper limit for the golden search to find quantiles from probabilities
Bob Rigby and Mikis Stasinopoulos
The qSEP and rSEP are slow since they are relying on golden section for finding the quantiles
The probability density function of the Skew Power exponential distribution, (SEP
), is defined as
$$f(y|n,\mu,\sigma\,\nu,\tau)==\frac{z}{\sigma} \Phi(\omega) \hspace{1mm} f_{EP}(z,0,1,\tau) $$
for \( -\infty < y < \infty \), \(\mu=(-\infty,+\infty)\), \(\sigma>0\), \(\nu=(-\infty,+\infty)\) and \(\tau>0\). where \(z = \frac{y-\mu}{\sigma}\), \(\omega = sign(z)|z|^{\tau/2}\nu \sqrt{2/\tau}\) and \(f_{EP}(z,0,1,\tau)\) is the pdf of an Exponential Power distribution.
Diciccio, T. J. and Mondi A. C. (2004). Inferential Aspects of the Skew Exponential Power distribution., JASA, 99, 439-450.
Rigby, R. A. and Stasinopoulos D. M. (2005). Generalized additive models for location, scale and shape,(with discussion), Appl. Statist., 54, part 3, pp 507-554.
Rigby, R. A., Stasinopoulos, D. M., Heller, G. Z., and De Bastiani, F. (2019) Distributions for modeling location, scale, and shape: Using GAMLSS in R, Chapman and Hall/CRC, tools:::Rd_expr_doi("10.1201/9780429298547"). An older version can be found in https://www.gamlss.com/.
Stasinopoulos D. M. Rigby R.A. (2007) Generalized additive models for location scale and shape (GAMLSS) in R. Journal of Statistical Software, Vol. 23, Issue 7, Dec 2007, tools:::Rd_expr_doi("10.18637/jss.v023.i07").
Stasinopoulos D. M., Rigby R.A., Heller G., Voudouris V., and De Bastiani F., (2017) Stasinopoulos D. M., Rigby R.A., Heller G., Voudouris V., and De Bastiani F., (2017) Flexible Regression and Smoothing: Using GAMLSS in R, Chapman and Hall/CRC. tools:::Rd_expr_doi("10.1201/b21973")
(see also https://www.gamlss.com/).
gamlss.family
, JSU
, BCT
SEP() #
plot(function(x)dSEP(x, mu=0,sigma=1, nu=1, tau=2), -5, 5,
main = "The SEP density mu=0,sigma=1,nu=1, tau=2")
plot(function(x) pSEP(x, mu=0,sigma=1,nu=1, tau=2), -5, 5,
main = "The BCPE cdf mu=0, sigma=1, nu=1, tau=2")
dat <- rSEP(100,mu=10,sigma=1,nu=-1,tau=1.5)
# library(gamlss)
# gamlss(dat~1,family=SEP, control=gamlss.control(n.cyc=30))
Run the code above in your browser using DataLab