gmm (version 1.6-2)

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

Description

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

Usage

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

Arguments

gt

A \(n \times q\) matrix with typical element \(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".

tol_lam

Tolerance for \(\lambda\) between two iterations. The algorithm stops when \(\|\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|)\) 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=\int_{-\infty}^{\infty} k(s)ds\) and \(k2=\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(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).

control

Controls to send to optim, nlminb or constrOptim

Value

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

Details

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

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

Run this code
# NOT RUN {
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")
# }

Run the code above in your browser using DataLab