Outer product of gradients estimation for the covariance matrix of the coefficient estimates in regression models.
vcovOPG(x, adjust = FALSE, ...)
a fitted model object.
logical. Should a finite sample adjustment be made? This amounts to multiplication with \(n/(n-k)\) where \(n\) is the number of observations and \(k\) the number of estimated parameters.
arguments passed to the
In correctly specified models, the “meat” matrix (cross product of estimating
meat) and the inverse of the “bread” matrix
(inverse of the derivative of the estimating functions, see
bread) are equal
and correspond to the Fisher information matrix.
Typically, an empirical version of the bread is used for estimation of the information
but alternatively it is also possible to use the meat. This method is also known as
the outer product of gradients (OPG) estimator (Cameron & Trivedi 2005).
Using the sandwich infrastructure, the OPG estimator could easily be computed via
solve(meat(obj)) (modulo scaling). To employ numerically more stable implementation
of the inversion, this simple convenience function can be used:
Note that this only works if the
estfun() method computes the maximum
likelihood scores (and not a scaled version such as least squares scores for
A matrix containing the covariance matrix estimate.
Cameron AC and Trivedi PK (2005). Microeconometrics: Methods and Applications. Cambridge University Press, Cambridge.
Zeileis A (2006). “Object-Oriented Computation of Sandwich Estimators.” Journal of Statistical Software, 16(9), 1--16. doi:10.18637/jss.v016.i09
## generate poisson regression relationship x <- sin(1:100) y <- rpois(100, exp(1 + x)) ## compute usual covariance matrix of coefficient estimates fm <- glm(y ~ x, family = poisson) vcov(fm) #> (Intercept) x #> (Intercept) 0.005386019 -0.004587807 #> x -0.004587807 0.009517869 vcovOPG(fm) #> (Intercept) x #> (Intercept) 0.006650112 -0.005947346 #> x -0.005947346 0.010395918