bread function

Bread for sandwiches

Bread for sandwiches

Computes the bread of the sandwich covariance matrix

## S3 method for class 'gmm' bread(x, ...) ## S3 method for class 'gel' bread(x, ...) ## S3 method for class 'tsls' bread(x, ...)

Arguments

  • x: A fitted model of class gmm or gel.
  • ...: Other arguments when bread is applied to another class object

Details

When the weighting matrix is not the optimal one, the covariance matrix of the estimated coefficients is: (GWG)1GWVWG(GWG)1(G'WG)^{-1} G'W V W G(G'WG)^{-1}, where G=dgˉ/dθG=d\bar{g}/d\theta, WW is the matrix of weights, and VV is the covariance matrix of the moment function. Therefore, the bread is (GWG)1(G'WG)^{-1}, which is the second derivative of the objective function.

The method if not yet available for gel objects.

Returns

A k×kk \times k matrix (see details).

References

Zeileis A (2006), Object-oriented Computation of Sandwich Estimators. Journal of Statistical Software, 16 (9), 1--16. URL tools:::Rd_expr_doi("10.18637/jss.v016.i09") .

Examples

# See \code{\link{gmm}} for more details on this example. # With the identity matrix # bread is the inverse of (G'G) n <- 1000 x <- rnorm(n, mean = 4, sd = 2) g <- function(tet, x) { m1 <- (tet[1] - x) m2 <- (tet[2]^2 - (x - tet[1])^2) m3 <- x^3 - tet[1]*(tet[1]^2 + 3*tet[2]^2) f <- cbind(m1, m2, m3) return(f) } Dg <- function(tet, x) { jacobian <- matrix(c( 1, 2*(-tet[1]+mean(x)), -3*tet[1]^2-3*tet[2]^2,0, 2*tet[2], -6*tet[1]*tet[2]), nrow=3,ncol=2) return(jacobian) } res <- gmm(g, x, c(0, 0), grad = Dg,weightsMatrix=diag(3)) G <- Dg(res$coef, x) bread(res) solve(crossprod(G))
  • Maintainer: Pierre Chausse
  • License: GPL (>= 2)
  • Last published: 2023-06-06

Useful links