【问题标题】:Difference-in-difference analysis in SPSSSPSS中的差异分析
【发布时间】:2013-03-26 13:06:35
【问题描述】:

我试图比较 1993 年 EITC 制度改革前后“单亲妈妈一胎”和“单亲妈妈一胎以上”两组的均值。

通过SPSS中的程序T检验,我可以得到改革前后的组间差异。但是我如何得到差异的差异(我仍然想要标准错误)?

我为 STATA 和 R (http://thetarzan.wordpress.com/2011/06/20/differences-in-differences-estimation-in-r-and-stata/) 找到了这些方法,但我似乎无法在 SPSS 中弄清楚。

希望有人能提供帮助。

一切顺利, 安妮

【问题讨论】:

  • 我很困惑你的困惑!您只需对差异进行 t 检验。或者,正如博客文章中的作者所指出的,您拟合回归模型,其中后均值作为结果,前均值、治疗假人和前均值*治疗假人交互作用在右侧。

标签: spss


【解决方案1】:

这可以通过 GENLIN 程序来完成。下面是我生成的一些随机数据来展示如何:

data list list /after oneChild value.
begin data.
0   1   12
0   1   12
0   1   11
0   1   13
0   1   11
1   1   10
1   1   9
1   1   8
1   1   9
1   1   7
0   0   16
0   0   16
0   0   18
0   0   15
0   0   17
1   0   6
1   0   6
1   0   5
1   0   5
1   0   4
end data.
dataset name exampleData WINDOW=front.
EXECUTE.

value labels after 0 'before' 1 'after'.
value labels oneChild 0 '>1 child' 1 '1 child'.

组的平均值(按顺序,在截断为整数之前)分别为 17、6、12 和 9。所以我们的 GENLIN 程序应该生成值 -11(>1 个孩子组中的前后差异)、-5(1 个孩子 - >1 个孩子的差异)和 8(前后差异的孩子差异) )。

绘制数据图表,以便您了解我们的预期:

* Chart Builder.
GGRAPH
  /GRAPHDATASET NAME="graphdataset" VARIABLES=after value oneChild MISSING=LISTWISE REPORTMISSING=NO    
  /GRAPHSPEC SOURCE=INLINE.
BEGIN GPL
  SOURCE: s=userSource(id("graphdataset"))
  DATA: after=col(source(s), name("after"), unit.category())
  DATA: value=col(source(s), name("value"))
  DATA: oneChild=col(source(s), name("oneChild"), unit.category())
  GUIDE: axis(dim(2), label("value"))
  GUIDE: legend(aesthetic(aesthetic.color.interior), label(""))
  SCALE: linear(dim(2), include(0))
  ELEMENT: line(position(smooth.linear(after*value)), color.interior(oneChild))
  ELEMENT: point.dodge.symmetric(position(after*value), color.interior(oneChild))
END GPL.

现在,对于 GENLIN:

* Generalized Linear Models.
GENLIN value BY after oneChild (ORDER=DESCENDING)
  /MODEL after oneChild after*oneChild INTERCEPT=YES
 DISTRIBUTION=NORMAL LINK=IDENTITY
  /CRITERIA SCALE=MLE COVB=MODEL PCONVERGE=1E-006(ABSOLUTE) SINGULAR=1E-012 ANALYSISTYPE=3(WALD) 
    CILEVEL=95 CITYPE=WALD LIKELIHOOD=FULL
  /MISSING CLASSMISSING=EXCLUDE
  /PRINT CPS DESCRIPTIVES MODELINFO FIT SUMMARY SOLUTION.

结果表显示了我们的预期。

  • >1 个子组比之前低 12.3 - 10.1。这个 95% CI 包含 11 的“真实”值

  • >1个孩子和1个孩子之前的差是5.7 - 3.5,包含5的真实值

  • difference-of-differences 为 9.6 - 6.4,包含 (17-6) - (12-9) = 8 的实际值

标准。错误、p 值和其他假设检验值也都会报告。希望对您有所帮助。

编辑:这可以通过自己计算交互项并进行简单的线性回归,用不太“复杂”的语法来完成:

compute interaction = after*onechild.
execute.

REGRESSION
  /MISSING LISTWISE
  /STATISTICS COEFF OUTS CI(95) R ANOVA
  /CRITERIA=PIN(.05) POUT(.10)
  /NOORIGIN 
  /DEPENDENT value
  /METHOD=ENTER after oneChild interaction.

请注意,生成的标准误和置信区间实际上与以前的方法不同。我对 SPSS 的 GENLIN 和 REGRESSION 程序知之甚少,无法告诉你为什么会这样。在这个人为的示例中,您从数据中得出的结论将大致相同。在现实生活中,数据不太可能这么干净,所以我不知道哪种方法“更好”。

【讨论】:

    【解决方案2】:

    一般线性模型,我将其视为“ANOVA”模型。

    所以使用 SPSS 的分析菜单中的相关模块。

    经过T检验,需要检查每组的sigma相等性。

    【讨论】:

      【解决方案3】:

      关于上面的第一个答案:

      * Note that GENLIN uses maximum likelihood estimation (MLE) whereas REGRESSION
      * uses ordinary least squares (OLS).  Therefore, GENLIN reports z- and Chi-square tests
      * where REGRESSION reports t- and F-tests.  Rather than using GENLIN, use UNIANOVA
      * to get the same results as REGRESSION, but without the need to compute your own
      * product term.
      
      UNIANOVA value BY after oneChild
        /PLOT=PROFILE(after*oneChild) 
        /PLOT=PROFILE(oneChild*after) 
        /PRINT PARAMETER
        /EMMEANS=TABLES(after*oneChild) COMPARE(after)
        /EMMEANS=TABLES(after*oneChild) COMPARE(oneChild)
        /DESIGN=after oneChild after*oneChild.
      

      HTH。

      【讨论】:

        猜你喜欢
        • 2016-02-20
        • 1970-01-01
        • 1970-01-01
        • 2017-06-28
        • 1970-01-01
        • 1970-01-01
        • 2015-06-04
        • 2014-09-10
        相关资源
        最近更新 更多