evalDMoment-methods: ~~ Methods for Function 'evalDMoment' in Package 'momentfit'...

evalDMoment-methodsR 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))

momentfit documentation built on Sept. 20, 2023, 3:01 a.m.