Learn R Programming

stabledist (version 0.7-2)

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)

Value

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

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().

Author

Diethelm Wuertz for the Rmetrics R-port; minor cleanup by Martin Maechler.

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