pgmm {plm}R Documentation

General Method of Moments Estimator for Panel Data

Description

General method of moments estimator for static or dynamic models with panel data.

Usage

pgmm(formula, data, effect = "individual", model = "twosteps",
   instruments = NULL, gmm.inst, lag.gmm, transformation = "d",
   fsm = NULL, index = NULL,...)
## S3 method for class 'pgmm':
summary(object,robust, ...)
## 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. Should be an object of class "dynformula"
object,x an object of class "pgmm",
data a data.frame,
effect the effects introduced in the model, one of "individual" or "twoways",
model one of "onestep" or "twosteps",
instruments a one side formula containing the normal instruments,
gmm.inst a one side formula containing the GMM instruments,
lag.gmm a list containing the lags to use for each GMM instrument, or a list of two named lists ("d" for difference and "l" for level) in case of ``system GMM'',
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, see plm.data,
digits digits,
width the maximum length of the lines in the print output,
robust if TRUE, robust inference is performed in the summary,
... further arguments.

Details

pgmm estimates a model for panel data with the general method of moments estimator. The description of the model to estimate is provided with a dynformula. The GMM instruments are provided by filling the pgmm.inst argument with a one side formula. 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 dynformula, but the user may also specified one side formula to indicate expicitly the variables to use as normal instruments. The lags used for the GMM instruments are indicated with the lag.gmm argument. For each instrument, it is either a vector of length 2 (c(99,3) indicates to use all the lags available up to t-3), or a scalar (2 indicates to use the lags 0, 1 and 2). If a single vector (or scalar) is written, then this lag structure is replicated for all GMM instruments. Otherwise, lag.gmm should be a list of length equal to the number of 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 xtabound2 library for STATA (see Roodman 2006).

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''),
K a list containing K the number of explanatory variables, Ky the number of lags of the dependent variable and Kt the number of time dummies,
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), april 1991, pp.227–297.

Arellano, M. and Bond, S. (1998) Dynamic Panel Data Estimation Using DPD89 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.

Roodman, D. (2006) How to do xtabound2 : an Introduction to ``difference'' and ``system'' GMM in Stata, working paper no 103, Center for Global Development.

See Also

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

Examples


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

## Arellano Bond 91 table 4b 
z1 <- pgmm(dynformula(log(emp)~log(wage)+log(capital)+log(output),list(2,1,0,1)),
    data=EmplUK, effect="twoways", model="twosteps",
    gmm.inst=~log(emp),lag.gmm=list(c(2,99)))

## Blundell and Bond tab4 (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)


[Package plm version 1.1-1 Index]