Learn R Programming

PoweR (version 1.0.7)

law0038.AsymmetricPowerDistribution: The Asymmetric Power Distribution

Description

Random generation for the Asymmetric Power Distribution with parameters theta, phi, alpha and lambda.

This generator is called by function gensample to create random variables based on its parameters.

Arguments

Details

If theta, phi, alpha and lambda are not specified they assume the default values of 0, 1, 0.5 and 2, respectively.

The Asymmetric Power Distribution with parameters theta, phi, alpha and lambda has density: $$f(u) = \frac{1}{\phi}\frac{\delta^{1/\lambda}_{\alpha,\lambda}}{\Gamma(1+1/\lambda)}\exp\left[-\frac{\delta_{\alpha,\lambda}}{\alpha^{\lambda}}\left|\frac{u-\theta}{\phi}\right|^{\lambda}\right]$$ if $$u\leq0$$ and $$f(u) = \frac{1}{\phi}\frac{\delta^{1/\lambda}_{\alpha,\lambda}}{\Gamma(1+1/\lambda)}\exp\left[-\frac{\delta_{\alpha,\lambda}}{(1-\alpha)^{\lambda}}\left|\frac{u-\theta}{\phi}\right|^{\lambda}\right]$$ if $$u\leq0,$$where \(0<\alpha<1, \lambda>0\) and \(\delta_{\alpha,\lambda}=\frac{2\alpha^{\lambda}(1-\alpha)^{\lambda}}{\alpha^{\lambda}+(1-\alpha)^{\lambda}}\).

The mean and variance of APD are defined respectively by $$E(U) = \theta+\phi\frac{\Gamma(2/\lambda)}{\Gamma(1/\lambda)} [1-2\alpha]\delta_{\alpha,\lambda}^{-1/\lambda}$$ and $$V(U) = \phi^2 \frac{\Gamma(3/\lambda)\Gamma(1/\lambda)[1-3\alpha+3\alpha^2]-\Gamma(2/\lambda)^2[1-2\alpha]^2}{\Gamma^2(1/\lambda)} \delta_{\alpha,\lambda}^{-2/\lambda}. $$

References

Pierre Lafaye de Micheaux, Viet Anh Tran (2016). PoweR: A Reproducible Research Tool to Ease Monte Carlo Power Simulation Studies for Goodness-of-fit Tests in R. Journal of Statistical Software, 69(3), 1--42. doi:10.18637/jss.v069.i03

Komunjer, I. (2007), Asymmetric Power Distribution: Theory and Applications to Risk Measurement, Journal of Applied Econometrics, 22, 891--921.

See Also

See Distributions for other standard distributions.

Examples

Run this code
# NOT RUN {
res <- gensample(38,10000,law.pars=c(3,2,0.5,1))
res$law
res$law.pars
mean(res$sample)
sd(res$sample)
# }

Run the code above in your browser using DataLab