gamma_Taylor {LambertW}R Documentation

Estimate gamma by Taylor approximation

Description

Computes an initial estimate of γ\gamma based on the Taylor approximation of the skewness of Lambert W ×\times Gaussian RVs around γ=0\gamma = 0. See Details for the formula.

This is the initial estimate for IGMM and gamma_GMM.

Usage

gamma_Taylor(y, skewness.y = skewness(y), skewness.x = 0, degree = 3)

Arguments

y

a numeric vector of data values.

skewness.y

skewness of yy; default: empirical skewness of data y.

skewness.x

skewness for input X; default: 0 (symmetric input).

degree

degree of the Taylor approximation; in Goerg (2011) it just uses the first order approximation (6γ6 \cdot \gamma); a much better approximation is the third order (6γ+8γ36 \cdot \gamma + 8 \cdot \gamma^3). By default it uses the better degree = 3 approximation.

Details

The first order Taylor approximation of the theoretical skewness γ1\gamma_1 (not to be confused with the skewness parameter γ\gamma) of a Lambert W x Gaussian random variable around γ=0\gamma = 0 equals

γ1(γ)=6γ+O(γ3). \gamma_1(\gamma) = 6 \gamma + \mathcal{O}(\gamma^3).

Ignoring higher order terms, using the empirical estimate on the left hand side, and solving γ\gamma yields a first order Taylor approximation estimate of γ\gamma as

γ^Taylor(1)=16γ^1(y), \widehat{\gamma}_{Taylor}^{(1)} = \frac{1}{6} \widehat{\gamma}_1(\mathbf{y}),

where γ^1(y)\widehat{\gamma}_1(\mathbf{y}) is the empirical skewness of the data y\mathbf{y}.

As the Taylor approximation is only good in a neighborhood of γ=0\gamma = 0, the output of gamma_Taylor is restricted to the interval (0.5,0.5)(-0.5, 0.5).

The solution of the third order Taylor approximation

γ1(γ)=6γ+8γ3+O(γ5), \gamma_1(\gamma) = 6 \gamma + 8 \gamma^3 + \mathcal{O}(\gamma^5),

is also supported. See code for the solution to this third order polynomial.

Value

Scalar; estimate of γ\gamma.

See Also

IGMM to estimate all parameters jointly.

Examples


set.seed(2)
# a little skewness
yy <- rLambertW(n = 1000, theta = list(beta = c(0, 1), gamma = 0.1), 
                distname = "normal") 
# Taylor estimate is good because true gamma = 0.1 close to 0
gamma_Taylor(yy) 

# very highly negatively skewed
yy <- rLambertW(n = 1000, theta = list(beta = c(0, 1), gamma = -0.75), 
                distname = "normal") 
# Taylor estimate is bad since gamma = -0.75 is far from 0; 
# and gamma = -0.5 is the lower bound by default.
gamma_Taylor(yy) 


[Package LambertW version 0.6.9-1 Index]