Learn R Programming

stabledist (version 0.6-5)

StableMode: Mode of the Stable Distribution Function

Description

Computes the mode of the stable distribution, i.e., the maximum of its density function in the "0" parametrization, i.e., the maximum $x_0$ of dstable(x, alpha, beta, gamma = 1, delta = 0, pm = 0).

Finds the maximum of dstable numerically, using optimize.

Usage

stableMode(alpha, beta,
           beta.max = 1 - 1e-11,
           tol = .Machine$double.eps^0.25)

Arguments

alpha, beta
numeric parameters: value of the index parameter alpha in the range $(0,2]$, and the skewness parameter beta, in the range $[-1, 1]$.
beta.max
for numerical purposes, values of beta too close to 1, are set to beta.max. Do not modify unless you know what you're doing.
tol
numerical tolerance for optimize().

Value

  • returns a numeric value, the location of the stable mode.

See Also

For definition and the dpqr-functions, StableDistribution, also for the references.

Examples

Run this code
## beta = 0  <==>  symmetric  <==>  mode = 0
all.equal(stableMode(alpha=1, beta=0), 0)
al.s <- c(1e-100, seq(0,2, by = 1/32)[-1])
stopifnot(vapply(al.s, function(alp)
                 stableMode(alpha=alp, beta=0), 1.) == 0)

## more interesting: asymmetric (beta != 0):
stableMode(alpha=1.2, beta=0.1)

if(stabledist:::doExtras()) { # takes 2.5 seconds
 sm0.5 <- vapply(al.s, function(AA)
                 stableMode(alpha=AA, beta= 0.5), 1.)
 plot(al.s, sm0.5, type = "o", col=2, xlab = quote(alpha), ylab="mode",
      main = quote("Mode of stable"*{}(alpha, beta == 0.5, pm==0)))
}

Run the code above in your browser using DataLab