Stata: AIC / BIC / MSE / MAE 等信息准则的计算

作者: 贺旭 (中央财经大学)

Stata 连享会: 知乎 | | 码云 | CSDN

Stata连享会   计量专题 || 精品课程 || 推文 || 公众号合集

Stata: AIC / BIC / MSE / MAE 等信息准则的计算_第1张图片
点击查看完整推文列表

2020寒假Stata现场班 (北京, 1月8-17日,连玉君-江艇主讲),「+助教招聘」

Stata: AIC / BIC / MSE / MAE 等信息准则的计算_第2张图片
2020寒假Stata现场班

本篇推文将介绍 AIC,BIC 等信息准则以及在 Stata 中的相关命令。

1 信息准则

该小节将介绍 AIC , BIC 等信息准则以及在 Stata 中的相关命令

1.1 简介

经常的,在建模过程中,会有一些备选解释变量,选择不同的变量组合会得到不同的模型,而信息准则就是刻画这些模型相对于 “ 真实模型 ” 的信息损失。AIC, BIC, HQIC 等信息准则的计算公式为:

赤池信息量 (akaike information criterion):

贝叶斯信息量 (bayesian information criterion):

汉南 - 奎因信息量 (quinn criterion):

其中 : 是该模型下的最大似然, 是数据数量, 是模型的变量个数。

在模型拟合时,增加参数可使得似然概率增大,但是却引入了额外的变量,因此 AIC 和 BIC 都在目标式中添加了模型参数个数的惩罚项,也就是第二项。当 时, ,所以,BIC 相比 AIC 在大数据量时对模型参数惩罚得更多,导致 BIC 更倾向于选择参数少的简单模型。

连享会计量方法专题……

1.2 信息准则的Stata命令

在估计完模型后用,用命令 estat ic 来获得模型的 AIC,BIC , 例如 :

. sysuse auto ///载入数据
. regress price headroom trunk length mpg ///利用数据估计模型
. estat ic ///获得模型地AIC和BIC

结果为

Akaike's information criterion and Bayesian information criterion

-----------------------------------------------------------------------------
       Model |        Obs  ll(null)  ll(model)      df         AIC        BIC
-------------+---------------------------------------------------------------
           . |         74 -695.7129  -685.0518       5    1380.104   1391.624
-----------------------------------------------------------------------------

2 回归评价指标

该小节将介绍 MSE、MAE、MAPE、R2、Adjusted R2 等回归评价指标以及在 Stata 中的相关命令。

2.1 简介

MSE、MAE、MAPE、R2、Adjusted R2 等指标用来表示回归模型拟合数据的精确程度。以下是各个指标的具体公式:

均方误差 MSE(Mean Square Error):

平均绝对误差 MAE(Mean Absolute Error):

平均绝对百分比误差 MAPE(Mean Absolute Percentage Error):

决定系数 R2(R-Square):

校正决定系数 adj-R2(Adjusted R-Square):

dajust

其中: 为解释变量, 为拟合值

MSE、MAE、MAPE 与 R2 、Adjusted R2 都可以描述模型拟合的精确程度,但 R2和 Adjusted R2,大致可以分为一类。因为 R2 范围为 0 到 1,给了所有模型一个相同的比较标准,Adjusted R2 有可能小于 0,但也大致在 0 到 1 这个范围内。而 MSE、MAE、MAPE 的值与数据有关,范围没有限制。

2.2 回归评价指标的Stata命令

我们继续用 Stata 自带的 auto 数据来做演示。

(一) R2 和 Adjusted R2 的计算:

. sysuse auto ///载入数据
. regress price headroom trunk length mpg ///利用数据估计模型 ,R2 和 Adjusted R2也在结果中显示了///

结果为:

      Source |       SS           df       MS      Number of obs   =        74
-------------+----------------------------------   F(4, 69)        =      5.76
       Model |   158982705         4  39745676.1   Prob > F        =    0.0005
    Residual |   476082692        69  6899749.15   R-squared       =    0.2503
-------------+----------------------------------   Adj R-squared   =    0.2069
       Total |   635065396        73  8699525.97   Root MSE        =    2626.7

------------------------------------------------------------------------------
       price |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
    headroom |  -680.2898   486.0063    -1.40   0.166    -1649.846    289.2663
       trunk |    80.9094   119.8176     0.68   0.502    -158.1201    319.9389
      length |   23.28608   27.02926     0.86   0.392    -30.63583    77.20798
         mpg |  -173.9507   87.75118    -1.98   0.051    -349.0095    1.108165
       _cons |   6416.948   6036.935     1.06   0.292    -5626.407     18460.3
------------------------------------------------------------------------------

(二) MSE 的计算:

. sysuse auto ///载入数据
. regress price headroom trunk length mpg ///利用数据估计模型 ///
. predict e,xb ///获得模型拟合值保存为变量 e
. gen mse=(price-e)*(price-e) ///计算并创建变量 mse
. sum mse//得到结果栏中mean那一列为MSE

结果为:

    Variable |        Obs        Mean    Std. Dev.       Min        Max
-------------+---------------------------------------------------------
         mse |         74     6433550    1.26e+07   2230.343   8.80e+07

(三) MAE 的计算:

. sysuse auto ///载入数据
. regress price headroom trunk length mpg ///利用数据估计模型 ///
. predict e,xb ///获得模型拟合值保存为变量 e
. gen mae=abs(price-e) ///计算并创建变量 mae
. sum mae//mae的均值即为结果,也就是结果栏中mean那一列的值

结果为:

    Variable |        Obs        Mean    Std. Dev.       Min        Max
-------------+---------------------------------------------------------
         mae |         74    1958.684    1622.555   47.22651   9380.703

(三) MAE 的计算:

. sysuse auto ///载入数据
. regress price headroom trunk length mpg ///利用数据估计模型 ///
. predict e,xb ///获得模型拟合值保存为变量 e
. gen mape=abs(price-e)/price ///计算并创建变量 mae
. sum mape///mape的均值即为结果,也就是结果栏中mean那一列的值

结果为:

    Variable |        Obs        Mean    Std. Dev.       Min        Max
-------------+---------------------------------------------------------
        mape |         74    .3138812    .1892069   .0060338   .9669298

参考资料

[1] 模型选择的几种方法:AIC,BIC,HQ准则
[2] 理解赤池信息量(AIC),贝叶斯信息量(BIC)
[3] STATA计算AIC、BIC、MSE、MAE、MAPE值


连享会计量方法专题……

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 推文同步发布于 CSDN 、 和 知乎Stata专栏。可在百度中搜索关键词 「Stata连享会」查看往期推文。
  • 点击推文底部【阅读原文】可以查看推文中的链接并下载相关资料。
  • 欢迎赐稿: 欢迎赐稿。录用稿件达 三篇 以上,即可 免费 获得一期 Stata 现场培训资格。
  • E-mail: [email protected]
  • 往期精彩推文:一网打尽

Stata: AIC / BIC / MSE / MAE 等信息准则的计算_第3张图片
欢迎加入Stata连享会(公众号: StataChina)

你可能感兴趣的:(Stata: AIC / BIC / MSE / MAE 等信息准则的计算)