| IGMM {LambertW} | R Documentation | 
Iterative Generalized Method of Moments – IGMM
Description
An iterative method of moments estimator to find this \tau = (\mu_x,
    \sigma_x, \gamma) for type = 's' (\tau = (\mu_x, \sigma_x,
    \delta) for type = 'h' or \tau = (\mu_x, \sigma_x, \delta_l,
    \delta_r) for type = "hh") which minimizes the distance between
the sample and theoretical skewness (or kurtosis) of \boldsymbol x
and X.
This algorithm is only well-defined for data with finite mean and variance
input X.  See analyze_convergence and references therein
for details.
Usage
IGMM(
  y,
  type = c("h", "hh", "s"),
  skewness.x = 0,
  kurtosis.x = 3,
  tau.init = get_initial_tau(y, type),
  robust = FALSE,
  tol = .Machine$double.eps^0.25,
  location.family = TRUE,
  not.negative = NULL,
  max.iter = 100,
  delta.lower = -1,
  delta.upper = 3
)
Arguments
| y | a numeric vector of real values. | 
| type | type of Lambert W  | 
| skewness.x | theoretical skewness of input X; default  | 
| kurtosis.x | theoretical kurtosis of input X; default  | 
| tau.init | starting values for IGMM algorithm; default:
 | 
| robust | logical; only used for  | 
| tol | a positive scalar specifiying the tolerance level for terminating
the iterative algorithm. Default:  | 
| location.family | logical; tell the algorithm whether the underlying
input should have a location family distribution (for example, Gaussian
input); default:  | 
| not.negative | logical; if  | 
| max.iter | maximum number of iterations; default:  | 
| delta.lower,delta.upper | lower and upper bound for
 | 
Details
For algorithm details see the References.
Value
A list of class LambertW_fit: 
| tol | see Arguments | 
| data |  data  | 
| n | number of observations | 
| type | see Arguments | 
| tau.init |  starting values for  | 
| tau |  IGMM estimate for  | 
| tau.trace | entire iteration trace of  | 
| sub.iterations | number of iterations only performed in GMM algorithm to find optimal  | 
| iterations | number of iterations to update  | 
| hessian | Hessian matrix (obtained from simulations; see References) | 
| call | function call | 
| skewness.x,kurtosis.x | see Arguments | 
| distname |  a character string describing distribution characteristics given
the target theoretical skewness/kurtosis for the input. Same information as  | 
| location.family | see Arguments | 
| message | message from the optimization method. What kind of convergence? | 
| method | estimation method; here:  | 
Author(s)
Georg M. Goerg
See Also
delta_GMM, gamma_GMM, analyze_convergence
Examples
# estimate tau for the skewed version of a Normal
y <- rLambertW(n = 100, theta = list(beta = c(2, 1), gamma = 0.2), 
               distname = "normal")
fity <- IGMM(y, type = "s")
fity
summary(fity)
plot(fity)
## Not run: 
# estimate tau for the skewed version of an exponential
y <- rLambertW(n = 100, theta = list(beta = 1, gamma = 0.5), 
               distname = "exp")
fity <- IGMM(y, type = "s", skewness.x = 2, location.family = FALSE)
fity
summary(fity)
plot(fity)
# estimate theta for the heavy-tailed version of a Normal = Tukey's h
y <- rLambertW(n = 100, theta = list(beta = c(2, 1), delta = 0.2), 
               distname = "normal")
system.time(
fity <- IGMM(y, type = "h")
)
fity
summary(fity)
plot(fity)
## End(Not run)