predict后面加或不加option选项xb,生成的都是线性拟合值(linear prediction),跟残差项没半点关系。你用predict u或者predict e,得到了两个模型的拟合值,区别仅仅在于一个名字叫u,一个名字叫e。
要想求残差项,其实你再往下走一步就可以了:残差项等于被解释变量减去模型的拟合值,而拟合值已经有了,被解释变量的数据也是有的(BTD)。这种做法对于截面数据和面板数据下求残差项都是适用的。
除了这种两步走的手动计算以外,结合特定的option选项,predict也是能够直接得到残差项的。比如,在截面数据中,OLS回归之后运行:
predict newvar,residuals
就可以了。其中,newvar为生成的残差项名字,option选项residuals可以简写为resid。要注意的是,在面板数据中加residuals得到残差项的做法是行不通的,软件会报错option not allowed。
固定效应回归之后运行:
predict newvar,ue
便可以直接得到残差项。你可以把这个结果与两步走手动计算的结果进行比较,完全一致。