linear.hypothesis.systemfit {systemfit} | R Documentation |
Testing linear hypothesis on the coefficients of a system of equations by an F-test or Wald-test.
## S3 method for class 'systemfit': linear.hypothesis( model, hypothesis.matrix, rhs = NULL, test = c( "FT", "F", "Chisq" ), vcov. = NULL, ... )
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"). |
Theil's F statistic for sytems of equations is
F = \frac{ ( R \hat{b} - q )' ( R ( X' ( \Sigma \otimes I )^{-1} X )^{-1} R' )^{-1} ( R \hat{b} - q ) / j }{ \hat{e}' ( \Sigma \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 \Sigma 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).
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".
Arne Henningsen arne.henningsen@googlemail.com
Greene, W. H. (2003) Econometric Analysis, Fifth Edition, Prentice Hall.
Theil, Henri (1971) Principles of Econometrics, John Wiley & Sons, New York.
systemfit
, linear.hypothesis
(package "car"),
lrtest.systemfit
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" )