linear.hypothesis.systemfit {systemfit}R Documentation

Test Linear Hypothesis

Description

Testing linear hypothesis on the coefficients of a system of equations by an F-test or Wald-test.

Usage

   ## S3 method for class 'systemfit':
   linear.hypothesis( model,
      hypothesis.matrix, rhs = NULL, test = c( "FT", "F", "Chisq" ),
      vcov. = NULL, ... )

Arguments

model a fitted object of type systemfit.
hypothesis.matrix matrix (or vector) giving linear combinations of coefficients by rows, or a character vector giving the hypothesis in symbolic form (see documentation of linear.hypothesis in package "car" for details).
rhs optional right-hand-side vector for hypothesis, with as many entries as rows in the hypothesis matrix; if omitted, it defaults to a vector of zeroes.
test character string, "FT", "F", or "Chisq", specifying whether to compute Theil's finite-sample F test (with approximate F distribution), the finite-sample Wald test (with approximate F distribution), or the large-sample Wald test (with asymptotic Chi-squared distribution).
vcov. a function for estimating the covariance matrix of the regression coefficients or an estimated covariance matrix (function vcov is used by default).
... further arguments passed to linear.hypothesis.default (package "car").

Details

Theil's F statistic for sytems of equations is

F = frac{ ( R hat{b} - q )' ( R ( X' ( Σ otimes I )^{-1} X )^{-1} R' )^{-1} ( R hat{b} - q ) / j }{ hat{e}' ( Σ otimes I )^{-1} hat{e} / ( M cdot T - K ) }

where j is the number of restrictions, M is the number of equations, T is the number of observations per equation, K is the total number of estimated coefficients, and Σ is the estimated residual covariance matrix. Under the null hypothesis, F has an approximate F distribution with j and M cdot T - K degrees of freedom (Theil, 1971, p. 314).

The F statistic for a Wald test is

F = frac{ ( R hat{b} - q )' ( R , widehat{Cov} [ hat{b} ] R' )^{-1} ( R hat{b} - q ) }{ j }

Under the null hypothesis, F has an approximate F distribution with j and M cdot T - K degrees of freedom (Greene, 2003, p. 346).

The chi^2 statistic for a Wald test is

W = ( R hat{b} - q )' ( R widehat{Cov} [ hat{b} ] R' )^{-1} ( R hat{b} - q )

Asymptotically, W has a chi^2 distribution with j degrees of freedom under the null hypothesis (Greene, 2003, p. 347).

Value

An object of class anova, which contains the residual degrees of freedom in the model, the difference in degrees of freedom, the test statistic (either F or Wald/Chisq) and the corresponding p value. See documentation of linear.hypothesis in package "car".

Author(s)

Arne Henningsen arne.henningsen@googlemail.com

References

Greene, W. H. (2003) Econometric Analysis, Fifth Edition, Prentice Hall.

Theil, Henri (1971) Principles of Econometrics, John Wiley & Sons, New York.

See Also

systemfit, linear.hypothesis (package "car"), lrtest.systemfit

Examples

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

## unconstrained SUR estimation
fitsur <- systemfit( system, method = "SUR", data=Kmenta )

# create hypothesis matrix to test whether beta_2 = \beta_6
R1 <- matrix( 0, nrow = 1, ncol = 7 )
R1[ 1, 2 ] <- 1
R1[ 1, 6 ] <- -1
# the same hypothesis in symbolic form
restrict1 <- "demand_price - supply_farmPrice = 0"

## perform Theil's F test
linear.hypothesis( fitsur, R1 )  # rejected
linear.hypothesis( fitsur, restrict1 )

## perform Wald test with F statistic
linear.hypothesis( fitsur, R1, test = "F" )  # rejected
linear.hypothesis( fitsur, restrict1 )

## perform Wald-test with chi^2 statistic
linear.hypothesis( fitsur, R1, test = "Chisq" )  # rejected
linear.hypothesis( fitsur, restrict1, test = "Chisq" )

# create hypothesis matrix to test whether beta_2 = - \beta_6
R2 <- matrix( 0, nrow = 1, ncol = 7 )
R2[ 1, 2 ] <- 1
R2[ 1, 6 ] <- 1
# the same hypothesis in symbolic form
restrict2 <- "demand_price + supply_farmPrice = 0"

## perform Theil's F test
linear.hypothesis( fitsur, R2 )  # accepted
linear.hypothesis( fitsur, restrict2 )

## perform Wald test with F statistic
linear.hypothesis( fitsur, R2, test = "F" )  # accepted
linear.hypothesis( fitsur, restrict2 )

## perform Wald-test with chi^2 statistic
linear.hypothesis( fitsur, R2, test = "Chisq" )  # accepted
linear.hypothesis( fitsur, restrict2, test = "Chisq" )

[Package systemfit version 1.0-9 Index]