R: Lagrange Multiplier Tests for Panel Models

plmtest {plm} | R Documentation

## Lagrange Multiplier Tests for Panel Models

### Description

Test of individual and/or time effects for panel models.

### Usage

    plmtest(x, ...)
    ## S3 method for class 'plm'
    plmtest(x, effect = c("individual", "time", "twoways"),
               type = c("honda", "bp", "ghm", "kw"), ...)
    ## S3 method for class 'formula'
    plmtest(x, data, ..., effect = c("individual", "time", "twoways"),
                          type = c("honda", "bp", "ghm", "kw"))

### Arguments

`x` | an object of class `"plm"` or a formula of class `"formula"`,
`data` | a `data.frame`,
`effect` | a character string indicating which effects are tested: individual effects (`"individual"`), time effects (`"time"`) or both (`"twoways"`),
`type` | a character string indicating the test to be performed: `"honda"` (default) for Honda (1985), `"bp"` for Breusch/Pagan (1980), `"kw"` for King/Wu (1997), or `"ghm"` for Gourieroux/Holly/Monfort (1982); For unbalanced panel data sets, the respective unbalanced version of the tests are computed,
`...` | further arguments passed to `plmtest`.

### Details

These Lagrange multiplier tests use only the residuals of the pooling model. The first argument of this function may be either a pooling model of class `plm` or an object of class `formula` describing the model. For inputted within (fixed effects) or random effects models, the corresponding pooling model is calculated internally first as the tests are based on the residuals of the pooling model.

The `bp` test for unbalanced panels was derived in Baltagi/Li (1990), the `kw` test for unbalanced panels in Baltagi/Chang/Li (1998). The `ghm` test and the `kw` test were extended to two-way effects in Baltagi/Chang/Li (1992).
For a concise overview of all these statistics see Baltagi (2013), Sec. 4.2, pp. 68–76 (for balanced panels) and Sec. 9.5, pp. 200–203 (for unbalanced panels).

### Value

An object of class `"htest"`.

### Note

For the King-Wu statistics (`"kw"`), the oneway statistics (`"individual"` and `"time"`) coincide with the respective Honda statistics (`"honda"`); twoway statistics of `"kw"` and `"honda"` differ.

### Author(s)

Yves Croissant (initial implementation), Kevin Tappe (generalization to unbalanced panels)

### References

Baltagi, B. H. (2013) Econometric Analysis of Panel Data, 5th edition, Sec. 4.2, pp. 68–76 and Sec. 9.5, pp. 200–203.

Baltagi, B. H./Li, Q. (1990) A lagrange multiplier test for the error components model with incomplete panels, Econometric Reviews, 9(1), pp. 103–107.

Baltagi B. H./Chang, Y./Li, Q. (1992) Monte Carlo results on several new and existing tests for the error component model, Journal of Econometrics, 54(1-3), pp. 95–120.

Baltagi B. H./Chang, Y./Li, Q. (1998) Testing for random effects using unbalanced panel data, Advances in Econometrics, 13, pp. 1–20.

Breusch, T. S./Pagan, A. R. (1980) The Lagrange multiplier test and its applications to model specification in econometrics, Review of Economic Studies, 47(1), pp. 239–253.

Gourieroux, C./Holly, A./Monfort, A. (1982) Likelihood ratio test, Wald test, and Kuhn–Tucker test in linear models with inequality constraints on the regression parameters, Econometrica, 50(1), pp. 63–80.

Honda, Y. (1985) Testing the error components model with non–normal disturbances, Review of Economic Studies, 52(4), pp. 681–690.

King, M. L./Wu, P. X. (1997) Locally optimal one–sided tests for multiparameter hypotheses, Econometric Reviews, 16(2), pp. 131–156.

### See Also

`pFtest` for individual and/or time effects tests based on the within model.

### Examples

    data("Grunfeld", package = "plm")
    g <- plm(inv ~ value + capital, data = Grunfeld, model = "pooling")
    plmtest(g)
    plmtest(g, effect="time")
    plmtest(inv ~ value + capital, data = Grunfeld, type = "honda")
    plmtest(inv ~ value + capital, data = Grunfeld, type = "bp")
    plmtest(inv ~ value + capital, data = Grunfeld, type = "bp",  effect = "twoways")
    plmtest(inv ~ value + capital, data = Grunfeld, type = "ghm", effect = "twoways")
    plmtest(inv ~ value + capital, data = Grunfeld, type = "kw",  effect = "twoways")

    Grunfeld_unbal <- Grunfeld[1:(nrow(Grunfeld)-1), ] # create an unbalanced panel data set
    g_unbal <- plm(inv ~ value + capital, data = Grunfeld_unbal, model = "pooling")
    plmtest(g_unbal) # unbalanced version of test is indicated in output

[Package plm version 1.6-5 Index]