本文主要是介绍STATA计算AIC、BIC、MSE、MAE、MAPE值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
用STATA做普通的回归时,计算AIC、BIC、MSE、MAE、MAPE并不难,甚至像MSE这样的都会直接给出,但是比如做logit、probit或者mlogit、mprobit甚至ologit、oprobit时,上述五个就不太容易了,在网上搜集了很久,也走了不少弯路。现将方法及代码整理如下:
1.计算AIC、BIC
在做完回归后,紧跟
estat ic
即可得到AIC、BIC
忘记在哪看的了,有人说用 qui reg y x1 x2 再跟 fitstat(使用这2条命令需要安装fitstat)来得到AIC、BIC,我通过 R 做出来的结果验证了 AIC 是正确的,但这个命令得到的BIC感觉并不对(未验证)。除此之外,该命令还能得到其他的一些数值比如 LR,Log-Lik,R2。但是该命令无法用于多分类的 logit、probit 回归。所以有局限性,不如estat ic好用。
2.用代码计算MSE
像 logit、probit、mlogit、mprobit、ologit、oprobit 这样的回归结果是没有 MSE 的,其实我个人感觉也用不着看这些值,但是姑且列上吧
做完回归后,紧跟
predict e,xb
gen mse=(x-e)*(x-e)
sum mse
解释一下,predict e,xb 命令用来创建一个名为e的变量,里面的的数是根据自变量得到的预测值。gen mse=(x-e)*(x-e) 这个命令尽管叫 mse,但并不是真的 mse,而仅仅是得到每一个观测值与预测值的残差的平方,最后一个 sum mse 出来的均值 mean 才是我们最后要得到的MSE
3.用代码计算MAE
MAE公式如下
根据这个公式,我们编写代码来计算这个值
gen mae=abs(x-e)
sum mae
同样,最后 sum mae 得到的均值才是我们要的 MAE
4.用代码计算MAPE
MAPE的计算公式如下
由此计算 MAPE 的公式是
gen mape=abs(x-e)/x
sum mape
同样,最后 sum mape 得到的均值才是我们要的 MAPE
这篇关于STATA计算AIC、BIC、MSE、MAE、MAPE值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!