gamma_Taylor: Estimate gamma by Taylor approximation

View source: R/gamma_Taylor.R

gamma_TaylorR Documentation

Estimate gamma by Taylor approximation

Description

Computes an initial estimate of γ based on the Taylor approximation of the skewness of Lambert W \times Gaussian RVs around γ = 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 y; 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 \cdot γ); a much better approximation is the third order (6 \cdot γ + 8 \cdot γ^3). By default it uses the better degree = 3 approximation.

Details

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

γ_1(γ) = 6 γ + \mathcal{O}(γ^3).

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

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

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

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

The solution of the third order Taylor approximation

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

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

Value

Scalar; estimate of γ.

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) 


LambertW documentation built on Sept. 22, 2022, 5:07 p.m.