首页 文章

调整后的预测在Stata中运行ANOVA

提问于
浏览
0

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

如果我在Stata中运行以下添加剂ANOVA模型

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

然后我获得由变量 ab 调整的变量 x 的预测 . adjust命令在Result窗口中输出下表,并且还生成带有调整后预测的变量 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, bc 的每个组合的值,而上面的表只有 ab 的每个组合的值 . 如何从表中保存结果,以便我可以使用这些?表中的值与 y 中的值之间的联系是什么?

提前致谢 .

Update :我在 help adjust 中发现了这个:

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

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

1 回答

  • 1

    这是对Stefan Hansen对 adjustmargins 的评论的回复 .

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

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

    这里的结果确实重合 .

    除了初级用途之外,我不会精通 margins ,所以任何更复杂的问题都需要由其他人来处理 .

相关问题