Learn R Programming

plm (version 0.3-1)

pgmm: 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
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.

Value

  • an object of class c("pgmm","panelmodel"), which has the following elements :
  • coefficientsthe vector (or the list for fixed effects) of coefficients,
  • residualsthe vector of residuals,
  • fitted.valuesthe vector of fitted.values,
  • vcovthe covariance matrix of the coefficients,
  • df.residualdegrees of freedom of the residuals,
  • modela list containing the variables used for the estimation for each individual,
  • Wa list containing the instruments for each individual (two lists in case of ``sys--GMM''),
  • Ka list containing K the number of explanatory variables, Ky the number of lags of the dependent variable and Kt the number of time dummies,
  • A1the weighting matrix for the one--step estimator,
  • A2the weighting matrix for the two--steps estimator,
  • callthe call.
  • It has print, summary and print.summary methods.

Details

pgmm estimate 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 with the PDP library for GAUSS (see Arellano and Bound 1998) and OX (see Doornik, Arelanno and Bond 2006) and with the xtabound2 library for STATA (see Roodman 2006).

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

Run this code
data("EmplUK", package="plm")

## Arelanno Bound 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)))


## Blundel 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)

Run the code above in your browser using DataLab