Extracts the empirical moment function

Share:

Description

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

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## 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(θ,y) or a n \times q matrix with typical element g_i(θ,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(θ,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

Details

For estfun.gmmFct, it returns a n \times q matrix with typical element g_i(θ,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_θ \bar{g}'W\bar{g}/2, which is a n \times k matrix with the t^{th} row being g(θ, y_t)W G, where G is d\bar{g}/dθ. 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.

Value

A n \times q matrix (see details).

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
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
foc2 <- estfun(res)

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