getLamb function

Solving for the Lagrange multipliers of Generalized Empirical Likelihood (GEL)

Solving for the Lagrange multipliers of Generalized Empirical Likelihood (GEL)

It computes the vector of Lagrange multipliers, which maximizes the GEL objective function, using an iterative Newton method.

getLamb(gt, l0, type = c("EL","ET","CUE", "ETEL", "HD","ETHD","RCUE"), tol_lam = 1e-7, maxiterlam = 100, tol_obj = 1e-7, k = 1, method = c("nlminb", "optim", "iter", "Wu"), control = list())

Arguments

  • gt: A n×qn \times q matrix with typical element gi(θ,xt)g_i(\theta,x_t)

  • l0: Vector of starting values for lambda

  • type: "EL" for empirical likelihood, "ET" for exponential tilting, "CUE" for continuous updated estimator, and "HD" for Hellinger Distance. See details for "ETEL" and "ETHD". "RCUE" is a restricted version of "CUE" in which the probabilities are bounded below by zero. In that case, an analytical Kuhn-Tucker method is used to find the solution.

  • tol_lam: Tolerance for λ\lambda between two iterations. The algorithm stops when λiλi1\|\lambda_i -\lambda_{i-1}\| reaches tol_lam

  • maxiterlam: The algorithm stops if there is no convergence after "maxiterlam" iterations.

  • tol_obj: Tolerance for the gradiant of the objective function. The algorithm returns a non-convergence message if max(gradiant)\max(|gradiant|)

    does not reach tol_obj. It helps the gel algorithm to select the right space to look for θ\theta

  • k: It represents the ratio k1/k2, where k1=k(s)dsk1=\int_{-\infty}^{\infty} k(s)ds and k2=k(s)2dsk2=\int_{-\infty}^{\infty} k(s)^2 ds. See Smith(2004).

  • method: The iterative procedure uses a Newton method for solving the FOC. It i however recommended to use optim or nlminb. If type is set to "EL" and method to "optim", constrOptim is called to prevent log(1gtλ)log(1-gt'\lambda)

    from producing NA. The gradient and hessian is provided to nlminb which speed up the convergence. The latter is therefore the default value. "Wu" is for "EL" only. It uses the algorithm of Wu (2005). The value of method is ignored for "CUE" because in that case, the analytical solution exists.

  • control: Controls to send to optim, nlminb or constrOptim ## Details

It solves the problem c("maxlambdafrac1nsumt=1n\n\\max_{\\lambda} \\frac{1}{n}\\sum_{t=1}^n\n", "rho(gtlambda)\\rho(gt'\\lambda)"). For the type "ETEL", it is only used by gel. In that case λ\lambda is obtained by maximizing 1nt=1nρ(gtλ)\frac{1}{n}\sum_{t=1}^n \rho(gt'\lambda), using ρ(v)=expv\rho(v)=-\exp{v} (so ET) and θ\theta by minimizing the same equation but with ρ(v)log(1v)\rho(v)-\log{(1-v)}. To avoid NA's, constrOptim is used with the restriction c("lambdagt\n\\lambda'g_t\n", "<1< 1"). The type "ETHD" is experimental and proposed by Antoine-Dovonon (2015). The paper is not yet available.

Returns

lambda: A q×1q\times 1 vector of Lagrange multipliers which solve the system of equations given above. conv: Details on the type of convergence.

References

Newey, W.K. and Smith, R.J. (2004), Higher Order Properties of GMM and Generalized Empirical Likelihood Estimators. Econometrica, 72 , 219-255.

Smith, R.J. (2004), GEL Criteria for Moment Condition Models. Working paper, CEMMAP.

Wu, C. (2005), Algorithms and R codes for the pseudo empirical likelihood method in survey sampling. Survey Methodology, 31 (2), page 239.

Examples

g <- function(tet,x) { n <- nrow(x) u <- (x[7:n] - tet[1] - tet[2]*x[6:(n-1)] - tet[3]*x[5:(n-2)]) f <- cbind(u, u*x[4:(n-3)], u*x[3:(n-4)], u*x[2:(n-5)], u*x[1:(n-6)]) return(f) } n = 500 phi<-c(.2, .7) thet <- 0.2 sd <- .2 x <- matrix(arima.sim(n = n, list(order = c(2, 0, 1), ar = phi, ma = thet, sd = sd)), ncol = 1) gt <- g(c(0,phi),x) getLamb(gt, type = "EL",method="optim")
  • Maintainer: Pierre Chausse
  • License: GPL (>= 2)
  • Last published: 2023-06-06

Useful links