拟合优度用来判定样本回归曲线拟合真实
值的优劣程度,又称为判定系数。
(图片来源:古扎拉蒂《计量经济学精要》(第 4 版))
如上图所示,将
的总变异(TSS)分解为两部分,可以被回归分解(ESS) + 未被回归分解(RSS)。即:
【注意】TSS、ESS 和 RSS 的叫法在不同的教材会有区别
在伍德里奇的教材中,总平方和(total sum of squares, SST)、解释平方和(explained sum of squares, SSE) 和残差平方和(residual sum of squares,SSR)。
在古扎拉蒂的教材中,总平方和(TSS)、解释平方和(ESS)、残差平方和(RSS)。
在 Stata 汇报的结果中:解释平方和(SS of Model)、残差平方和(SS of Residual)和 总平方和(SS of Total)。
问题:证明
。
证明:将离差
写为
,则可将 TSS 写为:
只需证明交叉项
即可,而这由 OLS 的正交性所保证:
故得证。
有了计算公式,我们试试自己手动计算带截距项回归的
:
*手工计算 R2
sysuse auto,clear
qui regress price weight length mpg rep78
predict y_hat
predict e,re
egen y_bar = mean(price)
egen ess = total((y_hat - y_bar)^2)
egen rss = total((price - y_hat)^2)
gen tss = ess + rss
gen r2 = ess/tss
format tss ess rss %9.0f r2
list tss ess rss r2 in 1
*查看报告结果验证
sysuse auto,clear
regress price weight length mpg rep78
拟合优度的缺点是:如果增加解释变量的数目,则
只增不减,因为至少可让新增解释变量的系数为 0 而保持
不变。
另一方面,通过最优地选择新增解释变量的系数(以及已有解释变量的系数),通常可以提高
。
下面,我们用程序来看看,是不是解释变量,
越大:
/* x 越多真的 r2 越大吗?
* 演示:在一个模型中逐步加入解释变量,并储存相应的 r2 。
当解释变量累计增加到200个时,R2的变化。
*/
clear
set obs 500
gen id = _n
gen r2 = .
gen y = int(10*runiform()) //生成被解释变量
forvalues i = 1/200 {
gen x`i' = 10*runiform() //生成解释变量
}
forvalues c = 1/200{ //逐步加入解释变量
if `c' == 1 {
reg y x1
}
else{
reg y x1-x`c'
}
replace r2 = `e(r2)' in `c'
}
scatter r2 id if id < 200,xlabel(0(100)200) ///
ytitle("拟合系数") xtitle("解释变量个数")
可以看出,模型中随着解释变量个数的增加,拟合系数越来越高。
因此,为了避免
的这个缺点,引入调整
对解释变量过多(模型不够简洁)进行惩罚,调整的
就是在分子和分母上下除以自由度。
定义调整
为:
自由度是指当以样本的统计量来估计总体的参数时,样本中独立或能自由变化的数据的个数,称为该统计量的自由度。通常为
。
比如,若存在两个变量
,而
那么自由度为 1 。因为其实只有
才能真正的自由变化,
会被
的取值不同所限制(
)。
按自由度的定义:
TSS 自由度:TSS =
。
已知,
已知,如果
个
已知,那么最后一个也就不能随便变化了。因此只有
个
是可变化的,最后一个则可以通过平均值与样本量确切的计算出来。所以 TSS 的自由度为
。
ESS 自由度:
。对于每个
可以有
个
。但是
平均值已知,正如一元线性回归中所看到的,
,这样又占据了一个自由度。所以 ESS 的自由度是
。
RSS 自由度:
。回忆正规方程组,给定
个方程,意味着
个残差固定,所以对于残差平方和,自由度为
。
* 计算调整R^2
* 调整拟合优度
/*
adj_r2 = 1 - (RSS/df)/(TSS/df)
= 1 - ((RSS/n-k-1)/(TSS/(n-1))
*/
sysuse auto, clear
qui reg pr wei len
eret list
/*
ESS: e(mss)
RSS: e(rss)
TSS: e(mss) + e(rss)
n: e(N)
k: e(df_m)
*/
scalar adj_r2 = 1- (e(rss)/(e(N)-e(df_m)-1))/((e(mss)+e(rss))/(e(N)-1))
dis "调整的R^2:" adj_r2
* 验证:
sysuse auto, clear
qui reg pr wei len
还有一种情况要注意,当模型没有截距项的时候,平方和分解公式不成立(只有一个一阶条件,无法保证
),不宜使用
来度量拟合优度。
记拟合值为
,残差仍与拟合值正交仍然成立:
所以可以利用正交性将
分解为:
为可由模型解释的部分,而
为模型不可解释的部分。
定义非中心
(uncentered
):
如果无常数项,Stata 汇报的
正是
。
* 非中心拟合优度
* 手动计算
sysuse auto, clear
qui reg price wei length, noconstant
predict yhat, xb
gen yhat2 = yhat^2
gen y2 = price^2
egen yhat2_sum = total(yhat2)
egen y2_sum = total(y2)
gen r_r2_2 = yhat2_sum/y2_sum
list r_r2_2 in 1
*验证
reg price wei length, noconstant
有常数项的情况下,拟合优度等于被解释变量
与拟合值
之间相关系数的平方,即
,故记为
。
* R2的理解
sysuse auto,clear
reg pr wei len mpg rep78
predict yhat, xb
qui corr pr yhat
scalar rho = r(rho)
dis rho^2
[1] 杰弗里·M·伍德里奇, 2015. 计量经济学导论(第 5 版)[M]. 北京: 中国人民大学出版社.
[2] 陈强, 2015. 计量经济学及 Stata 应用[M]. 高等教育出版社.
[3] 达莫道尔·N·古扎拉蒂, 道恩·C·波特, 2010. 经济计量学精要(第 4 版)[M]. 机械工业出版社.
[4] 李·C·阿迪金斯, 卡特·希尔, 2015. 应用 Stata 学习计量经济学原理(第 4 版)[M]. 重庆:重庆大学出版社.