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 matrix, where
is the number of coefficients, and
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
matrix, where
is the sample size. The ith row is
, 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))