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 *δ*.

1 |

`n` |
an |

`alpha` |
characteristic exponent |

`beta` |
skewness |

`gamma` |
scale |

`delta` |
location |

`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.

1 2 3 4 5 6 7 8 9 | ```
# 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)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.