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×kq \times k matrix, where kk is the number of coefficients, and qq 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×kn \times k matrix, where nn is the sample size. The ith row is Giλ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))

[Package momentfit version 0.5 Index]