0

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

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

我为 STATA 和 R 找到了这些方法(http://thetarzan.wordpress.com/2011/06/20/differences-in-differences-estimation-in-r-and-stata/),但我似乎不能在 SPSS 中计算出来。

希望有人能够提供帮助。

一切顺利,安妮

4

3 回答 3

0

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

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

在 T 检验之后,您需要检查每个组的 sigma 相等性。

于 2013-09-02T09:45:41.950 回答
0

这可以通过 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 的真实值

  • 差异之差为 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 程序知之甚少,无法告诉你为什么会这样。在这个人为的示例中,您从数据中得出的结论将大致相同。在现实生活中,数据不可能这么干净,所以我不知道哪种方法“更好”。

于 2013-05-08T17:36:18.263 回答
0

关于上面的第一个答案:

* 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。

于 2018-06-20T13:11:44.430 回答