以下是引用pudder在2005-11-2 5:55:52的发言: 感谢arllionn的答复!
继续求教:
1。请问应该如何“直接用矩阵进行运算”?能否简要说明一下?
2。我尝试着用xtgls命令,设定了异方差,但是结果并没有太大差别。您能否大概说下应该怎么做?如下:
我采用了一个简单的例子加以说明,结果如下,你可以换成任意的数据去验证。
==============Part1: codes =================
// to show that the Whithin estimator <===> GLS estimator for FDed data use "D:\stata8\ado\Examples\XTFiles\invest2.dta", clear qui tsset com time qui xtdes local N = r(N) local T = r(mean)
*--1--* set up dataset in matrix format mkmat invest , mat(Y) mkmat mark st, mat(X)
*--2--* Whithin estimation mat one = J(`T',1,1) mat One = J(`N'*`T',1,1) mat D = I(`N')#one mat Q = I(`N'*`T') - D*inv(D'*D)*D' mat beta_w = inv(X'*Q*X)*X'*Q*Y
*--3--* First Differenced data, estimated by GLS mat B = J(`T'-1,`T',0) mat B[1,1] = -1*I(`T'-1) mat B1 = B mat B = J(`T'-1,`T',0) mat B[1,2] = I(`T'-1) mat B2 = B mat B = B1 + B2
mat QB = I(`N')#B mat QQ = QB'*inv(QB*QB')*QB mat beta_f = inv(X'*QQ*X)*X'*QQ*Y
mat list beta_w /* Whithin estimator */ mat list beta_f /* GLS estimator for First differenced data */
==============Part2 Results===============
. mat list beta_w /* Whithin estimator */ beta_w[2,1] invest market .10597991 stock .34665958
. mat list beta_f /* GLS estimator for First differenced data */
beta_f[2,1] invest market .10597991 stock .34665958
证明的部分已经发到你的邮箱里。