*一般线性回归,默认有常数项
reg y x1 x2 控制变量
*或一般线性回归,无常数项
reg y x1 x2 控制变量,noconstant //无常数项的回归
*回归结果导出
outreg2 using OLS结果.doc, replace tstat bdec(3) tdec(2) e(r2_a,F) addstat (F test, e(p))
*或
outreg2 using OLS结果.doc,replace tstat bdec(3) tdec(2) ctitle(y)
解读
(1)总体显著性检验:F检验——判断多元线性回归方程是否成立
F值是对模型整体的显著性检验,原假设H0:所有变量的系数都为0,即全部自变量联合对因变量没有影响。
F统计量的P值:P值(越小越好)<α,则可视为,在α水平下认为自变量联合对因变量有显著影响,即模型整体显著。α常用值为1%、5%、10%。——P值=0.000,模型整体显著,则拒绝原假设H0,认为x对y有显著影响(一元线性);当是多元线性回归时,证明回归模型有意义,说明至少有一个X会对因变量Y产生影响。
(2)模型拟合优度(决定系数):R²——判断模型中该不该加入其他变量,可看R²
R²=ESS/TSS=1-RSS/TSS——模型拟合优度(模型拟合程度),R²的取值范围为0-1,越大越好,但也要警惕因R²过大而存在的过拟合现象。——图中R²=0.05,说明自变量可以解释因变量5%的变化原因,模型拟合很差。要关注调整后的R²的变化。
修正的R²:修正的R²会随着变量数k的增加而减少。
RMSE=MSE开根号(均方误差开根号),越小越好。
注意:如果回归模型无常数项,则不适合用R²来度量拟合优度。一般来说,有常数项的模型的R²更为可信。
(3)回归系数显著性检验:t检验——检验每个自变量对因变量的影响
看图,红色部分解读——
Coef为回归系数,t(对单个系数的检验)=Coef/Std.(系数/标准差)。β1为x1的系数=0.185,β2为x2的系数=0.077,β0=_cons,是回归的常数项。其中β1、β2为自变量的回归系数。——正负号可解读为正向或负向显著。
_cons表示“常数项”。
Std——标准误。
系数是否显著看P值(stata默认为双侧检验),P值越小越显著。P值<α(α常用值为1%、5%、10% ),则在α水平上显著。如图中x1的P值为0.000<0.01,在1%的水平上显著,x2的P值同样如此。若P值大于0.1,则在10%水平上不显著。可解读为x1、x2均对y具有显著正向影响,都能影响y。
P值与t值有关。一般来说,P值小于0.05即显著。
系数的置信区间,即系数在95%的置信区间。
紫色部分解读——
a: 离差平方和=回归平方和+残差平方和,TSS=ESS+RSS。TSS为可解释变量的离差平方和,其中,可由模型解释的部分为ESS,模型所无法解释的部分为RSS。
b:自由度df:回归自由度=变量的个数k(不包括常数项);残差自由度=n-k-1(n为样本数);总体自由度=回归自由度+残差自由度=n-1。
c:均方=平方和/自由度,其中,RSS/n-k-1(残差平方和/残差自由度)为均方误差MSE,再开根号为RMES。
举例:
教育年限和家庭收入对数的关系:y为edu,x为inc,根据表中数据,可将样本回归线写为:
根据一元回归的结果,家庭年收入每提高1个单位,则受教育年限平均可增加81.8%。
根据图中所示,TSS=50200.7693,其中可解释部分ESS=3947.75902,而不可解释部分RSS=46253.0103.
R²=0.0784,即家庭年收入约可解释受教育年限7.8%的变动。——(希望能看懂)
(4)自相关检验
存在协方差矩阵的非主对角线元素不全为0,则存在“自相关”或“序列相关”。一般来说,横截面数据不容易出现自相关。检验:画图、BG检验、DW检验、Q检验、HAC稳健标准误。
*定义时间变量
tsset year //设置时间变量为year,该数据为时间序列
scatter e1 L,e1 //画残差与其滞后的散点图ac e1 //残差自相关图(即各阶自相关系数)
2)BG检验
BG检验,若输出的P-Value显著小于0.05,则拒绝原假设,认为存在序列相关。
estat bgodfrey
estat bgodfrey,lags(p) nomiss0 //lags(p)用来制定BG检验的滞后阶数p,默认lags(1),即p=1。nomiss0表示不添加0的BG检验,默认以0代替缺失值。
3)DW检验(杜宾-瓦特森检验):D-W值——检验是否存在自相关
一般认为,若DW值在1.8-2.2之间时接受原假设,说明模型不存在一阶自相关,模型构建比较好。若DW值接近0或4,则拒绝原假设,说明模型具有自相关性,模型构建较差。——一般对于时间序列分析才会考虑DW值。
DW接近2,残差间相关性差。
DW接近0,残差间正相关
DW接近4,残差负相关。
wntestq e1,lags(p)
*or
corrgram e1,lags(p)
(5)残差方差齐性判断:异方差检验
条件异方差检验:画残差图;BP检验;怀特检验
1)画残差图——看残差与拟合值的散点图,直观但不严格
完成回归后,使用以下命令得到残差图:
rvfplot //残差与拟合值的散点图rvpplot 解释变量 //残差与解释变量的散点图
2)BP检验
完成回归后,使用以下命令进行BP检验:
*使用拟合值进行BP检验
estat hettest,iid //使用拟合值进行BP检验*使用所有解释变量进行BP检验
estat hettest,iid rhs //estat是估计后的统计量,iid表示仅假定数据位iid,而无需正态假定。rhs表示方程右边的全部解释变量进行辅助回归,默认使用拟合值进行。
*如果想指定解释变量进行辅助回归,则
estat hettest[varlist],iid //其中,[varlist]为指定变量清单
以上三种形式BP检验的p值都等于0.0000,故强烈拒绝同方差的原假设,认为存在异方差。
3)怀特检验
white检验,如果输出的P显著小于0.05,则拒绝原假设,认为存在异方差。
*残差的正态性——画图,绘制标准化残差的直方图、茎叶图、正态概率分布图(PP图)
predict residual_1 , residual //得到残差,取名residual_1
histogram residual_1 //方法1. 绘制直方图看看
sum residual_1 ,detail //方法2. 可以选择通过偏度、峰度来看
qnorm residual_1 //方法3,QQ图
sktest residual_1 //正态性检验也可以用 swilk residual_1, sfrancia residual_1等
*异常值检验
graph box Y //方法1,绘制Y的箱式图
sum Y,detail //方法2,对Y进行详细描述
reg y x1 x2 控制变量
*再输入代码,进行怀特检验,原假设H0是不存在异方差,p值小于0.05就会拒绝原假设。一旦显著说明存在异方差。
estat imtest, white
解决异方差:——+r再次回归后,得到的结果是解决了异方差后的回归结果
reg y x1 x2 控制变量,r //稳健标准误命令
*输出结果
outreg2 using OLS结果.doc, replace tstat bdec(3) tdec(2) e(r2_a,F) addstat (F test, e(p))