Learn R Programming

systemfit (version 1.1-18)

hausman.systemfit: Hausman Test

Description

hausman.systemfit returns the Hausman statistic for a specification test.

Usage

hausman.systemfit( results2sls, results3sls )

Arguments

results2sls
result of a 2SLS (limited information) estimation returned by systemfit.
results3sls
result of a 3SLS (full information) estimation returned by systemfit.

Value

  • hausman.systemfit returns a list of the class htest that contains following elements:
  • qvector of the differences between the estimated coefficients.
  • qVarvariance covariance matrix of q (difference between the variance covariance matrices of the estimated coefficients).
  • statisticthe Hausman test statistic.
  • parameterdegrees of freedom.
  • p.valueP-value of the test.
  • methodcharacter string describing this test.
  • data.namename of the data.frame used for estimation.

Details

The null hypotheses of the test is that all exogenous variables are uncorrelated with all disturbance terms. Under this hypothesis both the 2SLS and the 3SLS estimator are consistent but only the 3SLS estimator is (asymptotically) efficient. Under the alternative hypothesis the 2SLS estimator is consistent but the 3SLS estimator is inconsistent.

The Hausman test statistic is

$$m = ( b_2 - b_3 )' ( V_2 - V_3 ) ( b_2 - b_3 )$$

where $b_2$ and $V_2$ are the estimated coefficients and their variance covariance matrix of a 2SLS estimation and $b_3$ and $V_3$ are the estimated coefficients and their variance covariance matrix of a 3SLS estimation.

References

Greene, W. H. (1993) Econometric Analysis, Fifth Edition, Macmillan.

Hausman, J. A. (1978) Specification Tests in Econometrics. Econometrica. 46:1251-1271.

Kmenta, J. (1997) Elements of Econometrics, Second Edition, University of Michigan Publishing

See Also

systemfit

Examples

Run this code
data( "Kmenta" )
eqDemand <- consump ~ price + income
eqSupply <- consump ~ price + farmPrice + trend
inst <- ~ income + farmPrice + trend
system <- list( demand = eqDemand, supply = eqSupply )

## perform the estimations
fit2sls <- systemfit( system, "2SLS", inst = inst, data = Kmenta )
fit3sls <- systemfit( system, "3SLS", inst = inst, data = Kmenta )

## perform the Hausman test
h <- hausman.systemfit( fit2sls, fit3sls )
print( h )

Run the code above in your browser using DataLab