Stata中的交互语法

时间:2015-03-16 13:41:46

标签: stata

我的问题涉及在Stata中正确使用###来交互分类变量和因变量。这是我想到的例子。

为了理解 x y 的边际效应,我在两种类型上进行了三次处理( A,B,C)的实验受试者( M,F )。为了理解合并的边际效应(假设我满足所有OLS标准),我可以运行reg y x。然而,我也想了解每个“环境”中每个“物种”的边际效应,或 x 与治疗和类型的相互作用。

首先,假设 x 是连续的,是估算合并边际效应治疗类型边际效应的正确语法

reg y x i.treatment#i.type#c.x

reg y i.treatment#i.type##c.x
是不是?

其次,是仅仅估计治疗类型边际效应的正确语法

reg y i.treatment#i.type#c.x, noconstant

其中常数下降?如果保持常数,它是否代表汇总的响应?

很抱歉,如果这是一个基本问题,但经过几天阅读后,我仍然很难准确掌握###之间的区别。提前谢谢了。

注意:建议的数据显然是一个面板,因此xtreg命令更合适。为了简单起见,我只是假装数据更简单。

编辑:以下是内置Stata数据集的示例。

    . reg price c.mpg##i.foreign

      Source |       SS       df       MS              Number of obs =      74
-------------+------------------------------           F(  3,    70) =    9.48
       Model |   183435281     3  61145093.6           Prob > F      =  0.0000
    Residual |   451630115    70  6451858.79           R-squared     =  0.2888
-------------+------------------------------           Adj R-squared =  0.2584
       Total |   635065396    73  8699525.97           Root MSE      =  2540.1

-------------------------------------------------------------------------------
        price |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
--------------+----------------------------------------------------------------
          mpg |  -329.2551   74.98545    -4.39   0.000    -478.8088   -179.7013
    1.foreign |  -13.58741   2634.664    -0.01   0.996    -5268.258    5241.084
              |
foreign#c.mpg |
           1  |   78.88826   112.4812     0.70   0.485    -145.4485     303.225
              |
        _cons |   12600.54   1527.888     8.25   0.000     9553.261    15647.81
-------------------------------------------------------------------------------

mpg1.foreign分别捕获汽车每加仑英里数的边际效应,以及是否为国外或国内价格。当假人是一个(即汽车是外国的)时,foreign#c.mpg捕获类别虚拟和连续 x 之间的交互?然后什么捕获了国内(假人为零)与mpg的相互作用?

1 个答案:

答案 0 :(得分:1)

1

在下文中,您将包括x的主要效果和三向互动。

reg y x i.treatment#i.type#c.x

你遗漏了主要影响,特别是treatmenttype的影响。

以下

reg y i.treatment#i.type##c.x

扩展为

reg y i.treatment#i.type c.x i.treatment#i.type#c.x

包括x的主要效果,双向互动和三向互动。

查看有关包含与(out)主效应的交互的信息。例如https://stats.stackexchange.com/questions/11009/including-the-interaction-but-not-the-main-effects-in-a-model

2

你说

  

我仍然很难准确掌握#和##之间的区别。

这可以通过阅读help fvvarlist和手册来澄清。在这个阶段,语法所暗示的似乎不是问题,而是如何指定模型,这取决于理论建议,以前做过的事情等等。

3

来自你的例子

reg price c.mpg##i.foreign

扩展为

reg price c.mpg i.foreign c.mpg#i.foreign

mpgforeign的两个主要影响,以及它们之间的相互作用),你问

  

foreign#c.mpg捕获虚拟类型和连续x之间的相互作用,当假人是一个(即汽车是外国的)?然后什么捕获了国内(假人为零)与mpg的相互作用?

写出模型有助于(同样有两个主要影响和交流):

price = 12600.54 - 329.2551 mpg - 13.58741 foreign + 78.88826 mpg foreign

这清楚地说明了mpg对价格的影响如何受foreign的影响; foreignprice的影响如何受mpg的影响。由于foreign仅采用值01,因此mpgprice的影响更容易理解。只需替换

中的foreign即可
- 329.2551 mpg + 78.88826 mpg foreign

foreign == 1时,mpg的效果为-250.36684foreign == 0时效果为-329.2551

同样计算foreignprice的影响:

- 13.58741 foreign + 78.88826 mpg foreign

但现在替换掉mpg。因为它是连续的,所以您应该插入多个mpg值,以便更好地了解它对price的影响(请参阅help margins。)

(这都假设相应的系数具有统计学意义。)

我觉得你的问题涉及到理解Stata语法和统计问题的麻烦。第一个可以澄清阅读Stata帮助资源。关于第二个问题,你的问题是这样的,即Cross-Validated的人把它作为编程问题丢弃了。