Author Image :
Author Details : Student of M.Tech. Data Analytics (2015-2017)
Supervisor : Dr. Moonis Shakeel
Institute : Jaypee Institute of Information Technology
This is a R Markdown Document. Markdown is a simple formatting syntax for authoring HTML, PDF and WORD documents. Following is a WORD document of a topic titled “Systems of Linear Equations” taken from the book titled “Applied Econometrics with R”. For more details you can download the book from the following link (http://link.springer.com/book/10.1007%2F978-0-387-77318-6).
Systems of regression equations have been a hallmark of econometrics for several decades. The package systemfit (Henningsen and Hamann 2007) can estimate a number of multiple-equation models. As an example, we present a seemingly unrelated regression (SUR) model (Zellner 1962) for the Grunfeld data.
As noted by Greene (2003, p. 329,fn. 39), “[a]lthough admittedly not current, these data are unusually cooperative for illustrating the different aspects of estimating systems of regression equations”.
Unlike the panel data models considered in the preceding section, which permit only individual-specific intercepts, the SUR model also allows for individual-specific slopes. (As regards terminology, the individuals of the preceding section will now be referred to as “equations”.)
The model assumes contemporaneous correlation across equations, and thus joint estimation of all parameters is, in general, more efficient than OLS each equation.
The main fitting function is systemfit(). When fitting a SUR model, it requires a “plm.data” object containing the information on the internal structure of the data. This is set up as utilizing plm.data()(to save space we only consider two firms):
> data("Grunfeld", package = "AER")
> data("Grunfeld", package = "plm")
> gr2 <- subset(Grunfeld, firm %in% c("Chrysler","IBM"))
> gr2
## [1] firm year inv value capital
## <0 rows> (or 0-length row.names)
> pgr2 <- plm.data(Grunfeld, c("firm", "year"))
The main arguments to systemfit() are a formula, a data set, and a method (defaulting to “OLS”). Here we need method = “SUR”:
> gr_sur <- systemfit(inv ~ value + capital,method = "SUR", data = Grunfeld)
> summary(gr_sur, residCov = FALSE, equations = FALSE)
##
## systemfit results
## method: SUR
##
## N DF SSR detRCov OLS-R2 McElroy-R2
## system 200 197 1755850 8912.95 0.812408 0.812408
##
## N DF SSR MSE RMSE R2 Adj R2
## eq1 200 197 1755850 8912.95 94.4084 0.812408 0.810504
##
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## eq1_(Intercept) -42.71436944 9.51167603 -4.49073 1.2074e-05 ***
## eq1_value 0.11556216 0.00583571 19.80259 < 2.22e-16 ***
## eq1_capital 0.23067849 0.02547580 9.05481 < 2.22e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Thus, summary() provides the standard regression results for each equation in a compact layout as well as some measures of overall fit. For compactness, we suppressed parts of the rather voluminous default output. We can also use the following command summary(gr_sur) to obtain more detailed information, including between-equation correlations.
The output indicates again that there is substantial variation among the firms, and thus a single-equation model for the pooled data is not appropriate. In addition to SUR models, systemfit can estimate linear simultaneous equations models by several methods (two-stage least squares, three-stage least squares, and variants thereof), and there is also a fitting function for certain nonlinear specifications.