R: Estimate gamma by Taylor approximation

gamma_Taylor {LambertW} | R 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)

[Package LambertW version 0.6.7 Index]