Stata 评估分数Logit模型-McFadden';s调整后的R^2
我在估计一个因变量为分数(介于0和1之间)的模型。我使用了Stata 14.1中的命令Stata 评估分数Logit模型-McFadden';s调整后的R^2,stata,glm,Stata,Glm,我在估计一个因变量为分数(介于0和1之间)的模型。我使用了Stata 14.1中的命令 glm y x,link(logit)系列(二项式)鲁棒nolog 以及 fracreg logit y x,vce(稳健) 两个命令都提供相同的结果 现在我想评估结果,理想情况下使用McFadden调整后的r^2。然而,在我运行回归后,fitstat和estat gof似乎都不起作用。我收到错误消息fitstat不适用于最后估计的模型,并且在fracreg r(321)之后不可用 你们中有人知道McFadd
glm y x,link(logit)系列(二项式)鲁棒nolog
以及
fracreg logit y x,vce(稳健)
两个命令都提供相同的结果
现在我想评估结果,理想情况下使用McFadden调整后的r^2。然而,在我运行回归后,fitstat
和estat gof
似乎都不起作用。我收到错误消息fitstat不适用于最后估计的模型
,并且在fracreg r(321)
之后不可用
你们中有人知道McFadden的调整r^2的替代命令吗?
或者我必须使用不同的求值方法吗?看来
fracreg
输出中出现的伪R平方是McFadden的伪R平方。我不确定这是否与您提到的McFadden的调整r^2相同
从@nick cox's建议的maximize
命令中可以看出,这是McFadden的伪R平方。在最大化参考手册第1478页(Stata 14)中指出:
设L1为完整模型的对数似然(即输出上显示的对数似然值),L0为“仅常数”模型的对数似然。。。伪R2(McFadden 1974)定义为1-L1/L0。这只是标度上的对数似然,其中0对应于“仅常数”模型,1对应于离散模型的完美预测(在这种情况下,总体对数似然为0)
如果这是您要查找的,则可以使用
fracreg logit y x, vce(robust)
scalar myRsquared = e(r2_p)
要调整McFadden的R^2,只需从分数部分分子中的完整模型对数似然中减去预测数。公式是。请注意,您可能会得到负值
以下是您可以如何做到这一点:
set more off
webuse set http://fmwww.bc.edu/repec/bocode/w
webuse wedderburn, clear
/* (1) Fracreg Way */
fracreg logit yield i.site i.variety, nolog
di "Fracreg McFadden's Adj. R^2:" %-9.3f 1-(e(ll)-e(k))/(e(ll_0))
/* (2) GLM Way */
glm yield, link(logit) family(binomial) robust nolog // intercept only model
local ll_0 = e(ll)
glm yield i.site i.variety, link(logit) family(binomial) robust nolog // full model
di "McFadden's Adj. R^2: " %-9.3f 1-(e(ll)-e(k))/`ll_0'
GLM R^2将略有不同,因为最大化算法不同,因此可能性也不同。我不知道如何调整ML选项,使它们完全匹配
您可以使用fitstat工作的命令验证我们是否正确执行了操作:
sysuse auto, clear
logit foreign price mpg
fitstat
di "McFadden's Adj. R^2: " %-9.3f 1-(e(ll)-e(k))/(e(ll_0))
谢谢你的回复,Imo。不过我仍在搜索McFadden的调整R^2,以解释模型中的大量解释变量。非常感谢Dimitry!