Random numbers from (Skew) Stable Distributions
Generate random numbers of the stable distribution
S(α, β, γ, δ; k)
with characteristic exponent alpha in (0,2], skewness beta in [-1,1], scale gamma in [0,Inf), and location delta in IR; see Nolan (2010) for the parameterization k in {0,1}. The case γ=0 is understood as the unit jump at δ.
rstable1(n, alpha, beta, gamma = 1, delta = 0, pm = 1)
n |
an |
alpha |
characteristic exponent alpha in (0,2]. |
beta |
skewness beta in [-1,1]. |
gamma |
scale gamma in [0,Inf). |
delta |
location delta in IR. |
pm |
0 or 1, denoting which parametrization (as by Nolan) is used. |
We use the approach of John Nolan for generating random variates of
stable distributions. The function rstable1
provides two basic
parametrizations, by default,
pm = 1
, the so called “S”, “S1”, or “1”
parameterization. This is the parameterization used by Samorodnitsky and
Taqqu (1994), and is a slight modification of Zolotarev's (A)
parameterization. It is the form with the most simple form of the
characteristic function; see Nolan (2010, p. 8).
pm = 0
is the “S0” parameterization: based on the (M)
representation of Zolotarev for an alpha stable distribution with
skewness beta. Unlike the Zolotarev (M) parameterization, gamma and
delta are straightforward scale and shift parameters. This
representation is continuous in all 4 parameters.
A numeric
vector of length n
containing the
generated random variates.
Chambers, J. M., Mallows, C. L., and Stuck, B. W. (1976), A Method for Simulating Stable Random Variables, J. Amer. Statist. Assoc. 71, 340–344.
Nolan, J. P. (2012), Stable Distributions—Models for Heavy Tailed Data, Birkhaeuser, in progress.
Samoridnitsky, G. and Taqqu, M. S. (1994), Stable Non-Gaussian Random Processes, Stochastic Models with Infinite Variance, Chapman and Hall, New York.
rstable
which also allows the
2-parametrization and provides further functionality for
stable distributions.
# Generate and plot a series of stable random variates set.seed(1953) r <- rstable1(n = 1000, alpha = 1.9, beta = 0.3) plot(r, type = "l", main = "stable: alpha=1.9 beta=0.3", col = "steelblue"); grid() hist(r, "Scott", prob = TRUE, ylim = c(0,0.3), main = "Stable S(1.9, 0.3; 1)") lines(density(r), col="red2", lwd = 2)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.