首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“边距,预测”和“边距,按均值预测”之间的差异

“边距,预测”和“边距,按均值预测”之间的差异
EN

Stack Overflow用户
提问于 2018-05-09 11:52:17
回答 1查看 1.5K关注 0票数 2

在进行多项logistic回归后,我有兴趣获得预测的概率。

如果我跑步的话,我发现我的估计值有差异:

代码语言:javascript
复制
mlogit cluster_lag i.indipvar1 i.indipvar2 i.indipvar3 indipvar4, rrr vce(cluster clustervar)

margins depvar, atmeans predict(outcome(0))

或者相反:

代码语言:javascript
复制
mlogit cluster_lag i.indipvar1 i.indipvar2  i.indipvar3 indipvar4,rrr vce(cluster clustervar)

margins depvar, predict(outcome(0))

当未指定选项atmeans时,我想知道Stata真正考虑的是什么。

此外,我有一个名为“年份”的分类变量,有4类: 71,81,91,2001。据我所知,这应该是打字上的任何区别。

代码语言:javascript
复制
margins cluster,  at(cluster==0) at (year=( 71 81 91 2001))

代码语言:javascript
复制
margins cluster,   at(cluster==0) over(year)

但最后,结果是不同的。你对这两条线的区别有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2018-08-02 00:18:55

这里的区别在于平均边际预测和平均预测之间的区别。atmeans命令指示margins生成后者,而默认情况是前者。

例如:

代码语言:javascript
复制
margins, predict(outcome(0))

与以下相同:

代码语言:javascript
复制
predict newvar
mean newvar

如果你这样做了:

代码语言:javascript
复制
margins covariate, predict(outcome(0))

这和:

代码语言:javascript
复制
replace covariate = 1
predict newvar1
replace covariate = 2
predict newvar2
replace covariate = ...
predict newvar...
mean newvar*

对于协变量的每个唯一值。也就是说,它生成反事实数据集,在给定值时更改指定变量的值,并保持所有其他变量不变,然后根据反事实数据集生成模型预测。

在生成预测之前,atmeans命令与指定, at()选项相同,其中每个协变量的平均值都是固定的。这通常是没有意义的,例如,如果你有分类协变量,或者如果手段是不可观察的或典型的。

关于你的第二个问题,这两个问题并不等同:

代码语言:javascript
复制
margins, at(cluster=0) at(year=(1971 1981 1991 2001))
margins, at(cluster=0) over(year)

, over()选项是一个子设置操作,而, at()是一个反事实操作。

第一行生成一个反事实(如上面所示),其中每个观测值year的值都被1971年、1981年、1991年和2001年所取代,从而对数据集的每一个版本产生预测(在所有反事实的所有情况下,cluster都保持在0)。

第二行将所有观测值的cluster修正为0,然后将数据除以year的观测值,然后生成对每个子集的平均预测。

在这些方面, reference manual始终是最好的参考。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50252693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档