【问题标题】:Adjusted predictions running ANOVA in Stata在 Stata 中运行 ANOVA 的调整预测
【发布时间】:2013-01-16 08:35:07
【问题描述】:

我有一个结果变量x 和三个解释变量a, b, c,它们是分类变量。在我的示例中,a 有 8 个级别,b 有 4 个级别,c 有 35 个级别,但并非这三个变量的所有组合都有观察值(这可能并不重要)。

如果我在 Stata 中运行以下加法方差分析模型

anova x a b c
adjust, by(a b) gen(y)

然后我获得变量x 的预测值,该变量由变量a 和b 调整。调整命令在结果窗口中输出下表,并生成一个带有调整预测的变量y。


      |                 b                 
    a |       2        4        8       16
----------+-----------------------------------
   50 | .016655  .018487                  
   75 | .008286  .011237                  
  100 | .005937  .006677  .012467         
  150 | .001905  .004038  .009454         
  200 | .001774  .003107  .007592  .010081
  400 |          .004982  .006853  .009342
  800 |                   .002126   .00521
 1000 |                   .002732  .005221
----------------------------------------------
 Key:  Linear Prediction

我的问题是变量y 对a, b 和c 的每个组合都有一个值,而上表只有a 和b 的每个组合的值。如何保存表格中的结果,以便可以使用这些结果?表中的值与y中的值有什么联系?

提前致谢。

更新:我在help adjust找到了这个:

在估算命令中使用但未包含在 by() 变量列表或调整变量列表中的变量保留其当前值,观察 观察。这里 adjust 显示平均估计预测(或相应的概率或指数预测),用变量定义的每个组中的这些未指定变量的平均值替换 在 by() 选项中。

我的数据也是如此。例如,如果 a=75 和 b=2,则 c 的值是 12、13、14、15、16。 y 对应于c=14 的值(即平均值)正是表中显示的值。但是,如果这些值的平均值不是它所取的值怎么办?

【问题讨论】:

  • 一组值的平均值不必是其中一个值。 Stata 显示有条件的预测,而不是回显数据。
  • 完全正确,但我该如何获得c 平均值的预测值?该表在返回列表中没有留下任何内容,所以我想我必须使用“gen”选项进行调整。但正如我所说,使用“gen”只会对原始值进行预测。
  • 切换到margins。 adjust 仍然有效,但已被 margins 取代。 (如果您有过期的 Stata 版本,则不会有 margins,但最好在此处标记您拥有的版本。)
  • 我使用的是 Stata/SE 12.1。但是adjust, by(a b) 不会产生与margins a#b 相同的结果。不应该吗?

标签: stata anova


【解决方案1】:

这是对 Stefan Hansen 对 adjust 和 margins 的评论的回复。

一般来说,没有;但一切都取决于模型以及是否存在除命名之外的协变量。但是考虑

的结果
sysuse auto, clear 
anova mpg foreign rep78
adjust, by(foreign rep78)
margins foreign#rep78

这里的结果是一致的。

除了基本用途之外,我对margins 的使用并不流利,因此任何更复杂的问题都需要由其他人处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 2016-06-11
    • 2018-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多