连老师:
您好!
::高级部分::
* 计量分析与Stata应用
* ==========================
* 第八讲 STATA编程进阶
* ==========================
* 8.4 输出项
第873-905行
cap program drop myreg7
program define myreg7, eclass
version 9.2
syntax varlist [if] [in] [, level(real 95) eform(string)]
gettoken y x: varlist
local df : word count `x' /*模型的自由度*/
marksample touse
qui count if `touse'
local nobs = r(N) /*记录有效样本数*/
preserve
qui keep if `touse' /*注意该用法*/
tempname Y X b e t0 V
mkmat `y', mat(`Y')
mkmat `x', mat(`X')
mat `b' = inv(`X''*`X')*`X''*`Y' /*b=inv(X'X)X'y*/
mat `e' = `Y' - `X'*`b'
mat `t0' = `e''*`e' /*残差平方和*/
local sigma2 = `t0'[1,1]/(`nobs'-`df') /* s2=e'e/(N-K) */
mat `V' = `sigma2'*inv(`X''*`X') /*beta的方差-协方差矩阵 V=s2*inv(X'*X)*/
restore
* 显示结果
mat `b' = `b''
dis _n in g "OLS regress for " in y "`y'" in g " on " in y "`x':"
eret post `b' `V', esample(`touse') obs(`nobs') dof(`df') depname(`y')
eret display, level(`level') eform(`eform')
* 存储更多的返回值:暂元
eret local cmd "myreg6"
eret local dep_var `y'
eret local indep_var `x'
end
问题:
第892行
local sigma2 = `t0'[1,1]/(`nobs'-`df') /* s2=e'e/(N-K) */
[1,1]什么意思?作用是什么?能否换成[1,1,1]、[1,2]、[2,1]、[1,1,0]等?
谢谢连老师!


雷达卡





京公网安备 11010802022788号







