Learn R Programming

LambertW (version 0.6.4)

delta_Taylor: Estimate of delta by Taylor approximation

Description

Computes an initial estimate of \(\delta\) based on the Taylor approximation of the kurtosis of Lambert W \(\times\) Gaussian RVs. See Details for the formula.

This is the initial estimate for IGMM and delta_GMM.

Usage

delta_Taylor(y, kurtosis.y = kurtosis(y), distname = "normal")

Arguments

y

a numeric vector of data values.

kurtosis.y

kurtosis of \(y\); default: empirical kurtosis of data y.

distname

string; name of the distribution. Currently only supports "normal".

Value

scalar; estimated \(\delta\).

Details

The second order Taylor approximation of the theoretical kurtosis of a heavy tail Lambert W x Gaussian RV around \(\delta = 0\) equals

$$ \gamma_2(\delta) = 3 + 12 \delta + 66 \delta^2 + \mathcal{O}(\delta^3). $$

Ignoring higher order terms, using the empirical estimate on the left hand side, and solving for \(\delta\) yields (positive root) $$\widehat{\delta}_{Taylor} = \frac{1}{66} \cdot \left( \sqrt{66 \widehat{\gamma}_2(\mathbf{y}) - 162}-6 \right), $$ where \(\widehat{\gamma}_2(\mathbf{y})\) is the empirical kurtosis of \(\mathbf{y}\).

Since the kurtosis is finite only for \(\delta < 1/4\), delta_Taylor upper-bounds the returned estimate by \(0.25\).

See Also

IGMM to estimate all parameters jointly.

Examples

Run this code
# NOT RUN {
set.seed(2)
# a little heavy-tailed (kurtosis does exist)
y <- rLambertW(n = 1000, theta = list(beta = c(0, 1), delta = 0.2), 
               distname = "normal")
# good initial estimate since true delta=0.2 close to 0, and
# empirical kurtosis well-defined.
delta_Taylor(y) 
delta_GMM(y) # iterative estimate

y <- rLambertW(n = 1000, theta = list(beta = c(0, 1), delta = 1), 
               distname = "normal") # very heavy-tailed (like a Cauchy)
delta_Taylor(y) # bounded by 1/4 (as otherwise kurtosis does not exist)
delta_GMM(y) # iterative estimate

# }

Run the code above in your browser using DataLab