gmm (version 1.6-2)

bread: Bread for sandwiches

Description

Computes the bread of the sandwich covariance matrix

Usage

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

Arguments

x

A fitted model of class gmm or gel.

...

Other arguments when bread is applied to another class object

Value

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

Details

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

The method if not yet available for gel objects.

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 {
# 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))
# }

Run the code above in your browser using DataLab