回归模型的设定误差检验 (RESET) 以及Stata里的RESET检验法

函数形式误设 (functional form misspecification) 是多元回归模型中一个很常见的问题. 如果一个多元回归模型不能正确地解释因变量和所观测到的解释变量之间的关系, 那么这个模型就存在函数形式误设问题.


为了检验模型是否存在函数形式误设的问题, 我们可以在多元回归模型中添加显著解释变量的二次项或高阶项并对其进行显著性检验. 如果结果显著, 则证明我们需要添加高阶项. 此方法的弊端在于使用了大量的自由度, 而且高阶项的加入使得参数过多, 不便于我们的计算; 除此之外 添加二次项不能帮助我们得到被忽略的某些特定非线性关系.


除了以上方法外, 另一种常用的方法就是使用对函数形式误设的一般检验 (Regression specification error test - RESET). 我们一般称它为RESET. RESET检验法是计量经济学中一种常用的检验法, 它就是我们熟知的拉姆齐的回归设定误差检验 (Ramsey RESET). 与上一种方法不同之处在于, RESET在回归模型方程中添加了因变量OLS估计值的多项式 (平方项到四次方项), 以考察是否存在函数形式误设.


进行RESET检验, 需要在原有多元回归模型的基础上增加多个OLS拟合值的多次项, 来做为解释变量. 在这些多次项中, 拟合值的平方项和三次项是是使用率最高的, 也是最常用的. RESET可以用来检验原模型中是否遗漏了重要的非线性关系.


RESET的原假设是: 拟合估计值的多次项系数等于0 (换句话说就是: 最初始的模型没有被误设, 即模型中不存在遗漏变量 (omitted variables)). 显著的F统计量表明我们有足够的理由拒绝原假设, 也就是说扩充后的模型存在某种函数形式误设的问题. 因此, RESET统计量较小, 相应的p值较大的模型在RESET检验下拟合程度可能会更好一些.


通过RESET检验, 我们可以知道因变量拟合值的非线性组合是否对模型有显著影响, 如果有显著影响, 那么这个模型就存在函数形式的误设, 也就意味着我们可能需要在原有模型的基础上增加解释变量的多元项, 或者改变函数形式, 使之成为对数函数模型, 或者指数函数模型等非线性回归模型.


在Stata中使用RESET检验常用的命令有:

estat ovtest
estat ovtest, rhs

注意: 通常情况下用estat ovtest命令就可以说明模型是否存在函数形式的误设, 在这个命令后加上rhs选项可以检测出这个模型是否因为存在解释变量的高阶项而导致非线性关系, 从而导致函数形式的误设. 加上rhs选项后的原假设是: 模型中解释变量的高阶项系数为零, 即: 模型不存在某些特定非线性关系 (实际上也相当于最初始的模型没有被误设).


接下来我会为大家举例说明如何用Stata做RESET检验. 我所使用的数据库是auto.dta. 首先我会进行一个简单的多元线性回归:

接着使用estat ovtest命令来进行RESET检验:


从输出结果我们可以看到, p值大于0.05的边界值 (如果我们取0.05做为临界值), 所以我们没有足够的理由拒绝原假设, 即: 拟合值的高阶项系数均为零. 也就是说我们接受原假设关于拟合值系数为零的假设, 这个多元线性回归不需要增加拟合值的高次方项, 也就是说我们假设的price和mpg以及rep78之间的多元线性关系成立. 我们还可以用estat vif命令来检测模型的多重共线性:


这个结果说明模型不存在多重共线性. 整体拟合度较好, 暂时不需要再增加其余变量.

您可以通过Stata里的多重共线性检验-方差膨胀系数 (VIF)这篇文章了解更多关于多重共线性的内容和Stata里的estat vif命令.


如果以上的测试结果显著, 也就是说我们有足够的理由拒绝原假设, 那么说明这个模型存在重要的遗漏变量 (omitted variables), 原始的多元线性回归模型是不充分的, 但是我们不能确定遗漏变量是哪几个也并不知道是解释变量的几次方项. 这种情况下, 我们通常可以用predict yhat这个命令来找出对于模型显著的拟合值的多次项.


接下来我会用estat ovtest, rhs命令再做一次RESET检验, 这个命令检测的原假设是: 模型中不存在解释变量的高阶项, 即模型不存在某些特定非线性关系:

这一次的输出结果显示p值小于边界值0.05, 也就是说我们有足够的理由拒绝原假设, 模型存在某些特定非线性关系. 这个特定的非线性关系有可能是在原线性模型基础上增加某个解释变量的高阶项, 也有可能是回归模型其它函数形式其它函数形式, 比如对数函数或者指数函数 .


通过以上两个例子我们可以看出, 利用RESET检验虽然可以判断出多元线性回归模型是否存在函数形式误设的问题, 但是RESET检验的一个弊端就是它很难确定函数形式误设的准确原因, 从而不能准确判断非线性形式.


在实践中, 一个函数模型可能存在多种问题, 比如多重共线性 (Multicollinearity), 异方差性 (Heteroskedasticity), 自相关性 (Autocorrelation), 当然也有我们今天讨论的设定误差 (Misspecification). 如果您想了解更多关于函数模型的其它问题, 请发邮件至sales@surveydesign.com.au


288 views0 comments

Recent Posts

See All