pgmm {plm}R Documentation

Generalized Method of Moments (GMM) Estimation for Panel Data

Description

Generalized method of moments estimation for static or dynamic models with panel data.

Usage

pgmm(formula, data, subset, na.action,
     effect = c("twoways", "individual"),
     model = c("onestep", "twosteps"),
     transformation = c("d", "ld"),
     fsm = NULL, index = NULL, ...) 
## S3 method for class 'pgmm'
summary(object, robust, time.dummies = FALSE, ...)
## S3 method for class 'summary.pgmm'
print(x, digits = max(3, getOption("digits") - 2),
    width = getOption("width"),...)

Arguments

formula

a symbolic description for the model to be estimated. The prefered interface is now to indicate a multi-part formula, the first two parts describing the covariates and the gmm instruments and, if any, the third part the 'normal' instruments,

object,x

an object of class "pgmm",

data

a data.frame,

subset

see lm,

na.action

see lm,

effect

the effects introduced in the model, one of "twoways" (the default) or "individual",

model

one of "onestep" (the default) or "twosteps",

transformation

the kind of transformation to apply to the model: either "d" (the default value) for the “difference GMM” model or "ld" for the “system GMM”,

fsm

the matrix for the one step estimator : one of "I" (identity matrix) or "G" (=D'D where D is the first-difference operator) if transformation="d", one of "GI" or "full" if transformation="ld",

index

the indexes,

digits

digits,

width

the maximum length of the lines in the print output,

robust

if TRUE, robust inference is performed in the summary,

time.dummies

if TRUE, the estimated coefficients of time dummies are present in the table of coefficients,

...

further arguments.

Details

pgmm estimates a model for panel data with a generalized method of moments (GMM) estimator. The description of the model to estimate is provided with a multi-part formula which is (or which is coerced to) a Formula object. The first right-hand side part describe the covariates. The second one, which is mandatory, describes the gmm instruments. The third one, which is optionnal, describes the 'normal' instruments. By default, all the variables of the model which are not used as GMM instruments are used as normal instruments with the same lag structure as the one specified in the model.

y~lag(y, 1:2)+lag(x1, 0:1)+lag(x2, 0:2) | lag(y, 2:99) is similar to y~lag(y, 1:2)+lag(x1, 0:1)+lag(x2, 0:2) | lag(y, 2:99) | lag(x1, 0:1)+lag(x2, 0:2) and indicates that all lags from 2 of y is used as gmm instruments.

transformation indicates how the model should be transformed for the estimation. "d" gives the “difference GMM” model (see Arellano and Bond (1991)), "ld" the “system GMM” model (see Blundell and Bond (1998)).

pgmm is an attempt to adapt GMM estimators available within the DPD library for GAUSS (see Arellano and Bond 1998) and Ox (see Doornik, Arellano and Bond 2006) and with the xtabond2 library for STATA (see Roodman 2009).

Value

An object of class c("pgmm","panelmodel"), which has the following elements:

coefficients

the vector (or the list for fixed effects) of coefficients,

residuals

the vector of residuals,

fitted.values

the vector of fitted.values,

vcov

the covariance matrix of the coefficients,

df.residual

degrees of freedom of the residuals,

model

a list containing the variables used for the estimation for each individual,

W

a list containing the instruments for each individual (two lists in case of “sys–GMM”),

A1

the weighting matrix for the one–step estimator,

A2

the weighting matrix for the two–steps estimator,

call

the call.

It has print, summary and print.summary methods.

Author(s)

Yves Croissant

References

Arellano, M. and Bond, S. (1991) Some Tests of Specification for Panel Data: Monte Carlo Evidence and an Application to Employment Equations, The Review of Economic Studies, vol. 58(2), 1991, pp.227–297.

Arellano, M. and Bond, S. (1998) Dynamic Panel Data Estimation Using DPD98 for GAUSS: A Guide for Users.

Blundell, R. and Bond, S. (1998) Initial Conditions and Moment Restrictions in Dynamic Panel Data Models, Journal of Econometrics, vol. 87, pp.115–143.

Doornik, J., Arellano, M. and Bond, S. (2006) Panel Data Estimation using DPD for Ox. http://www.doornik.com/download/dpd.pdf

Roodman, D. (2009) How to do xtabond2: An Introduction to “difference” and “system” GMM in Stata, Stata Journal, vol. 9(1), pp. 86–136. Working Paper version at http://ideas.repec.org/p/cgd/wpaper/103.html

See Also

dynformula for dynamic formulas, sargan for Sargan tests and mtest for Arellano–Bond's tests of multicollinearity.

Examples

data("EmplUK", package = "plm")

## Arellano and Bond (1991), table 4b 
z1 <- pgmm(log(emp) ~ lag(log(emp), 1:2) + lag(log(wage), 0:1)
           + log(capital) + lag(log(output), 0:1) | lag(log(emp), 2:99),
            data = EmplUK, effect = "twoways", model = "twosteps")
summary(z1)

## Blundell and Bond (1998) table 4 (cf DPD for OX p.12 col.4)
z2 <- pgmm(log(emp) ~ lag(log(emp), 1)+ lag(log(wage), 0:1) +
           lag(log(capital), 0:1) | lag(log(emp), 2:99) +
           lag(log(wage), 2:99) + lag(log(capital), 2:99),        
           data = EmplUK, effect = "twoways", model = "onestep", 
           transformation = "ld")
summary(z2, robust = TRUE)

## Not run: 
## Same with the old formula or dynformula interface
## Arellano and Bond (1991), table 4b 
z1 <- pgmm(log(emp) ~ log(wage) + log(capital) + log(output),
            lag.form = list(2,1,0,1), data = EmplUK, 
            effect = "twoways", model = "twosteps",
            gmm.inst = ~log(emp), lag.gmm = list(c(2,99)))
summary(z1)

## Blundell and Bond (1998) table 4 (cf DPD for OX p.12 col.4)
z2 <- pgmm(dynformula(log(emp) ~ log(wage) + log(capital), list(1,1,1)), 
            data = EmplUK, effect = "twoways", model = "onestep", 
            gmm.inst = ~log(emp) + log(wage) + log(capital), 
            lag.gmm = c(2,99), transformation = "ld")
summary(z2, robust = TRUE)

## End(Not run)

[Package plm version 1.2-10 Index]