evalDMoment-methods {momentfit} | R Documentation |
evalDMoment
in Package momentfit ~~It computes the matrix of derivatives of the sample moments with respect to the coefficients.
## S4 method for signature 'functionModel' evalDMoment(object, theta, impProb=NULL, lambda=NULL) ## S4 method for signature 'rfunctionModel' evalDMoment(object, theta, impProb=NULL, lambda=NULL) ## S4 method for signature 'rnonlinearModel' evalDMoment(object, theta, impProb=NULL, lambda=NULL) ## S4 method for signature 'formulaModel' evalDMoment(object, theta, impProb=NULL, lambda=NULL) ## S4 method for signature 'rformulaModel' evalDMoment(object, theta, impProb=NULL, lambda=NULL) ## S4 method for signature 'regModel' evalDMoment(object, theta, impProb=NULL, lambda=NULL) ## S4 method for signature 'sysModel' evalDMoment(object, theta) ## S4 method for signature 'rslinearModel' evalDMoment(object, theta) ## S4 method for signature 'rsnonlinearModel' evalDMoment(object, theta, impProb=NULL)
object |
An model object |
theta |
A numerical vector of coefficients |
impProb |
If a vector of implied probablities is provided, the sample means are computed using them. If not provided, the means are computed using the uniform weight |
lambda |
A vector of Lagrange multipliers associated with the moment conditions. Its length must therefore match the number of conditions. See details below. |
Without the argument lambda
, the method returns a q \times
k matrix, where k is the number of coefficients, and q is
the number of moment conditions. That matrix is the derivative of the
sample mean of the moments with respect to the coefficient.
If lambda
is provided, the method returns an n \times k
matrix, where n is the sample size. The ith row is
G_i'λ, where $G_i$ is the derivative of the moment
function evaluated at the ith observation. For now, this option is
used to compute robust-to-misspecified standard errors of GEL
estimators.
signature(object = "functionModel")
signature(object = "rfunctionModel")
The theta vector must match the number of coefficients in the restricted model.
signature(object = "formulaModel")
signature(object = "rformulaModel")
The theta vector must match the number of coefficients in the restricted model.
signature(object = "regModel")
signature(object = "sysModel")
signature(object = "rslinearModel")
data(simData) theta <- c(1,1) model1 <- momentModel(y~x1, ~z1+z2, data=simData) G <- evalDMoment(model1, theta) ## A nonlinearModel g <- y~beta0+x1^beta1 h <- ~z1+z2 model2 <- momentModel(g, h, c(beta0=1, beta1=2), data=simData) G <- evalDMoment(model2, c(beta0=1, beta1=2)) ## A functionModel fct <- 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) } dfct <- 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) } X <- rnorm(200) model3 <- momentModel(fct, X, theta0=c(beta0=1, beta1=2), grad=dfct) G <- evalDMoment(model3, c(beta0=1, beta1=2))