evalDMoment-methods {momentfit} | R Documentation |
~~ Methods for Function evalDMoment
in Package momentfit ~~
Description
It computes the matrix of derivatives of the sample moments with respect to the coefficients.
Usage
## 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)
Arguments
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. |
Details
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'\lambda
, 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.
Methods
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")
Examples
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))