R: Hausman Test for Panel Models

phtest {plm} | R Documentation

## Hausman Test for Panel Models

### Description

Specification test for panel models.

### Usage

    phtest(x, ...)
    ## S3 method for class 'panelmodel'
    phtest(x, x2, ...)
    ## S3 method for class 'formula'
    phtest(x, data, model = c("within", "random"),
                    method = c("chisq", "aux"),
                    index = NULL, vcov = NULL, ...)

### Arguments

`x` | an object of class `"panelmodel"` or `"formula"`,
`x2` | an object of class `"panelmodel"`,
`model` | a character vector containing the names of two models (length(model) must be 2),
`data` | a `data.frame`,
`method` | one of `"chisq"` or `"aux"`,
`index` | an optional vector of index variables,
`vcov` | an optional covariance function,
`...` | further arguments to be passed on. For the formula method, place argument `effect` here to compare e.g. twoway models (`effect = "twoways"`) Note: Argument `effect` is not respected in the panelmodel method.

### Details

The Hausman test (sometimes also called Durbin–Wu–Hausman test) is based on the difference of the vectors of coefficients of two different models. The `panelmodel` method computes the original version of the test based on a quadratic form (Hausman (1978)). The `formula` method, if `method="chisq"` (default), computes the original version of the test based on a quadratic form; if `method="aux"` then the auxiliary-regression-based version in Wooldridge (2010, Sec. 10.7.3.) is computed instead. Only the latter can be robustified by specifying a robust covariance estimator as a function through the argument `vcov` (see Examples).

The equivalent tests in the one-way case using a between model (either "within vs. between" or "random vs. between") (see Hausman/Taylor (1981) or Baltagi (2013), Sec. 4.3) can also be performed by `phtest`, but only for `test = "chisq"`, not for the regression-based test. NB: These equivalent tests using the between model do not extend to the two-ways case. (There are, however, some other equivalent tests, see Kang (1985) or Baltagi (2013), Sec. 4.3.7), but those are unsupported by `phtest`.)

### Value

An object of class `"htest"`.

### Author(s)

Yves Croissant, Giovanni Millo

### References

Hausman, J.A. (1978), Specification tests in econometrics, Econometrica, 46(6), pp. 1251–1271.

Hausman, J.A./Taylor, W.E. (1981), Panel data and unobservable individual effects, Econometrica, 49(6), pp. 1377–1398.

Kang, Suk (1985), A note on the equivalence of specification tests in the two-factor multivariate variance components model, Journal of Econometrics, 28(2), pp. 193–203.

Wooldridge, Jeffrey M. (2010), Econometric analysis of cross-section and panel data, 2nd ed., MIT Press, Sec. 10.7.3., pp. 328–334.

Baltagi, Badi H. (2013), Econometric Analysis of Panel Data, 5th ed., John Wiley and Sons., Sec. 4.3.

### Examples

    data("Gasoline", package = "plm")
    form <- lgaspcar ~ lincomep + lrpmg + lcarpcap
    wi <- plm(form, data = Gasoline, model = "within")
    re <- plm(form, data = Gasoline, model = "random")
    phtest(wi, re)
    phtest(form, data = Gasoline)
    phtest(form, data = Gasoline, method = "aux")

    # robust Hausman test (regression-based)
    phtest(form, data = Gasoline, method = "aux", vcov = vcovHC)

    # robust Hausman test with vcov supplied as a
    # function and additional parameters
    phtest(form, data = Gasoline, method = "aux",
      vcov = function(x) vcovHC(x, method="white2", type="HC3"))

[Package plm version 1.6-5 Index]