Learn R Programming

gmm (version 1.5-0)

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 class 'gmmFct':
estfun(x, y = NULL, theta = NULL, ...)
## S3 method for class 'gmm':
estfun(x, ...)
## S3 method for class 'gel':
estfun(x, ...)
## S3 method for class 'tsls':
estfun(x, ...)
## S3 method for class '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
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
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 <- gtfoc2 <- estfun(res)

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

Run the code above in your browser using DataLab