gmm (version 1.6-2)

estfun: Extracts the empirical moment function

Description

It extracts the matrix of empirical moments so that it can be used by the kernHAC function.

Usage

# S3 method for gmmFct
estfun(x, y = NULL, theta = NULL, ...)
# S3 method for gmm
estfun(x, ...)
# S3 method for gel
estfun(x, ...)
# S3 method for tsls
estfun(x, ...)
# S3 method for tsls
model.matrix(object, ...)

Arguments

x

A function of the form \(g(\theta,y)\) or a \(n \times q\) matrix with typical element \(g_i(\theta,y_t)\) for \(i=1,...q\) and \(t=1,...,n\) or an object of class gmm. See gmm for more details. For tsls, it is an object of class tsls.

object

An object of class tsls.

y

The matrix or vector of data from which the function \(g(\theta,y)\) is computed if g is a function.

theta

Vector of parameters if g is a function.

...

Other arguments when estfun is applied to another class object

Value

A \(n \times q\) matrix (see details).

Details

For estfun.gmmFct, it returns a \(n \times q\) matrix with typical element \(g_i(\theta,y_t)\) for \(i=1,...q\) and \(t=1,...,n\). It is only used by gmm to obtain the estimates.

For estfun.gmm, it returns the matrix of first order conditions of \(\min_\theta \bar{g}'W\bar{g}/2\), which is a \(n \times k\) matrix with the \(t^{th}\) row being \(g(\theta, y_t)W G\), where \(G\) is \(d\bar{g}/d\theta\). It allows to compute the sandwich covariance matrix using kernHAC or vcovHAC when \(W\) is not the optimal matrix.

The method if not yet available for gel objects.

For tsls, model.matrix and estfun are used by vcov() to compute different covariance matrices using the sandwich package. See vcov.tsls. model.matrix returns the fitted values frin the first stage regression and esfun the residuals.

References

Zeileis A (2006), Object-oriented Computation of Sandwich Estimators. Journal of Statistical Software, 16(9), 1--16. URL http://www.jstatsoft.org/v16/i09/.

Examples

Run this code
# NOT RUN {
n = 500
phi<-c(.2,.7)
thet <- 0
sd <- .2
x <- matrix(arima.sim(n=n,list(order=c(2,0,1),ar=phi,ma=thet,sd=sd)),ncol=1)
y <- x[7:n]
ym1 <- x[6:(n-1)]
ym2 <- x[5:(n-2)]
H <- cbind(x[4:(n-3)], x[3:(n-4)], x[2:(n-5)], x[1:(n-6)])
g <- y ~ ym1 + ym2
x <- H
res <- gmm(g, x,weightsMatrix = diag(5))

gt <- res$gt
G <- res$G

foc <- gt
# }
# NOT RUN {
<!-- %*%G -->
# }
# NOT RUN {
foc2 <- estfun(res)

foc[1:5,]
foc2[1:5,]

# }

Run the code above in your browser using DataCamp Workspace