The equations of Klein's SEQM defined by (4.1) and (4.2) are motivated by economic theory. They are an attempt to write down in a parsimonious way the ``structure'' of the economy from an aggregate, macro perspective. The parameters of these equations are thus the proper targets of estimation: after all, they supposedly tell us ``how the economy works''. In the following sections, we will briefly discuss two approaches of estimating the parameters of a structural SEQM such as Klein's model.
A necessary condition for consistent estimation is identification. Identification in SEQMs is a serious issue and warrants an extended treatment that can't be provided in the format of this chapter. But any good econometrics textbook features an extensive discussion of this matter. See, for instance, Greene (1998) or Goldberger (1991).
Intuitively speaking, identification is difficult because of the interrelatedness of the variables, which makes it hard to disentangle their various relationships. A necessary and easily verified condition for identification in SEQMs is that the number of exogenous variables excluded from any equation must be as least as large as the number of endogenous variables included in that equation (``order condition'').
In Klein's model of equations (4.1) and (4.2), the endogenous variables are
and
(note that the latter three are endogenous despite not being a left-hand side variable of any statistical equation).
All other variables are exogenous or predetermined. You may verify that in the first equation of (4.1) there are two endogenous (
and
) and six excluded exogenous variables (
and
). Hence, the order equation is satisfied for this equation.
Greene (1998) shows that the condition is satisfied for the entire system
(as well as other, sufficient conditions for identification).
Let us write down the statistical equations (i.e, the equations that have unknown coefficients and error terms) of the structural form (i.e., the equations as they are suggested by economics) of a SEQM :
![]() |
Focusing on the first equation,
is the left-hand side variable,
is the vector of endogenous right-hand side variables,
is the vector of exogenous or predetrmined right-hand side variables and
and
are the objects of interest: the unknown structural parameters of the model.
We can illustrate the notation by using, say, the -th equation of Klein's model introduced above:
(the coefficients of the identities in (4.2) are known and need not be estimated),
,
and
Suppose that we have observations of all the variables of the model. Then we can write down
the SEQM in terms of the data matrices and vectors as follows:
![]() |
Using again the -th equation to illustrate the notation,
and
are
vectors whereas
and
are
matrices with
rows that have as many columns as
and
respectively.
Defining
and
for
, we can write the system even more compactly as
Estimating
by applying ordinary least squares to
each equation is not a consistent estimation procedure as some of the right-hand side variables
are endogenous and therefore correlated with the error terms.
For instance, in the second equation of (4.1), is correlated with the error term.
This can be seen by substituting the first identity of (4.2) for
into the second identity of (4.2) and observing that
is a linear function of
Endogenous regressors can be treated by instrumenting them and this is precisely what the method of two-stage least squares does.
![]() |
(4.4) |
Using the notation of (4.5), Greene (1998) shows that the two-stage least squares estimator of the parameters of equation can be written as
Let us rewrite (4.5) such that the system nature of the SEQM is even more evident:
Using this ``system'' notation, we can write the two-stage least squares estimator (4.7)
for all equations very compactly as
As remarked earlier, this estimator is consistent but it is not efficient. A more efficient estimator is
suggested by looking at the covariance matrix of the long residual vector
of
(4.9).
Suppose we knew the covariance matrix Then a generalized least squares, instrumental variables estimator could be computed as
|
The quantlet
seq
is all you need to estimate a SEQM with
XploRe
.
It belongs to the
metrics
quantlib which you have to load before you can use
seq
:
library("metrics")
; reading in the data data=read("klein.dat") ; getting rid of the missing values of the lagged variables data=data[2:rows(data),] ; assigning the columns of "data" to the variables C=data[,2] P=data[,3] Wp=data[,4] I=data[,5] K1=data[,6] Y=data[,7] Wg=data[,8] G=data[,9] T=data[,10] W=data[,11] P1=data[,12] Y1=data[,13] A=data[,14] ; preparing the matrices that form seqlist1 ; first matrix: concatenated vectors ; of left-hand side variables y=C~I~Wp ; a column of "1"s for constant term ONE=matrix(rows(data),1) ; second through (M+1)st matrix: ; matrices of right-hand side variables z1=P~P1~W~ONE z2=P~P1~K1~ONE z3=Y~Y1~A~ONE ; (M+2)nd matrix: matrix of instruments ; (exogenous and predetermined variables) x=ONE~G~T~Wg~A~P1~K1~Y1 ; forming a list of matrices seqlist1=list(y,z1,z2,z3,x) ; now we will prepare the string vectors that will form ; seqlist2 vector with names of left-hand side variables yl="C"|"I"|"Wp" ; vectors with names of right-hand side variables ; of equations 1 though M l1="P"|"P1"|"W"|"ONE" l2="P"|"P1"|"K1"|"ONE" l3="E"|"E1"|"A"|"ONE" ; vector with names of instruments xl="ONE"|"G"|"T"|"Wg"|"A"|"P1"|"K1"|"Y1" ; putting the string vectors into a list seqlist2=list(yl,l1,l2,l3,xl) ; finally, we call the seq-quantlet {d1,s,d2}=seq(seqlist1,seqlist2)
There is a table of estimation results both for the two-stage (shown first) and three-stage least squares procedures (shown last). Both tables are designed to be easily readable and self-explanatory. We hope that you are going to agree after looking at the three-stage least squares table for the Klein's model:
[ 1,] "=====================================================" [ 2,] " 3stage Least-squares estimates" [ 3,] "=====================================================" [ 4,] "EQ dep. var. R2" [ 5,] "=====================================================" [ 6,] " 1 C 0.980 " [ 7,] " 2 I 0.826 " [ 8,] " 3 Wp 0.986 " [ 9,] "=====================================================" [10,] "VARIABLE Coef.Est. Std.Err. t" [11,] "--------------------------------------------------" [12,] "P 0.125 0.108 1.155" [13,] "P1 0.163 0.100 1.624" [14,] "W 0.790 0.038 20.826" [15,] "ONE 16.441 1.305 12.603" [16,] "--------------------------------------------------" [17,] "P -0.013 0.162 -0.081" [18,] "P1 0.756 0.153 4.942" [19,] "K1 -0.195 0.033 -5.990" [20,] "ONE 28.178 6.794 4.148" [21,] "--------------------------------------------------" [22,] "E 0.400 0.032 12.589" [23,] "E1 0.181 0.034 5.307" [24,] "A 0.150 0.028 5.358" [25,] "ONE 1.797 1.116 1.611" [26,] "=====================================================" [27,] "INSTRUMENTS Mean Std.Dev. " [28,] "--------------------------------------------------" [29,] "ONE 1.000 0.000" [30,] "G 9.914 3.910" [31,] "T 6.805 2.032" [32,] "Wg 5.119 1.957" [33,] "A 0.000 6.205" [34,] "P1 16.376 4.028" [35,] "K1 200.495 9.919" [36,] "Y1 57.986 8.919" [37,] "====================================================="Besides showing the estimation results in the output window you can also access some of them as vectors or matrices. Specifically, the following quantities are returned by