pgmm {plm} | R Documentation |
Generalized method of moments estimation for static or dynamic models with panel data.
pgmm(formula, data, subset, na.action, effect = c("twoways", "individual"), model = c("onestep", "twosteps"), collapse = FALSE, lost.ts = NULL, 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"), ...)
formula |
a symbolic description for the model to be estimated. The preferred 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 |
data |
a |
subset |
see |
na.action |
see |
effect |
the effects introduced in the model, one of
|
model |
one of |
collapse |
if |
lost.ts |
the number of lost time series: if |
transformation |
the kind of transformation to apply to the
model: either |
fsm |
the matrix for the one step estimator: one of |
index |
the indexes, |
digits |
digits, |
width |
the maximum length of the lines in the print output, |
robust |
if |
time.dummies |
if |
... |
further arguments. |
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 describes the
covariates. The second one, which is mandatory, describes the gmm
instruments. The third one, which is optional, 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 within the xtabond2 library for Stata (see
Roodman (2009)).
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, |
vcov |
the covariance matrix of the coefficients, |
fitted.values |
the vector of fitted values, |
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.
Yves Croissant
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(1), pp. 115–143.
Doornik, J., Arellano, M. and Bond, S. (2006) Panel Data Estimation using DPD for Ox. http://www.doornik.com/download/oxmetrics7/Ox_Packages/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. http://www.stata-journal.com/article.html?article=st0159.
dynformula
for dynamic formulas, sargan
for Sargan tests and mtest
for Arellano–Bond's tests of
serial correlation.
data("EmplUK", package = "plm") ## Arellano and Bond (1991), table 4 col. b 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 4, col. b 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)