SPSS中的差异差异分析

时间:2013-03-26 13:06:36

标签: spss

我试图在1993年EITC体制改革之前和之后比较两组“单身母亲与一个孩子”和“有一个以上孩子的单身母亲”的手段。

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

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

希望有人能够提供帮助。

一切顺利, 安

3 个答案:

答案 0 :(得分: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程序,告诉你为什么会这样。在这个人为的例子中,你从数据中得出的结论大致相同。在现实生活中,数据不太可能是干净的,所以我不知道哪种方法“更好”。

答案 1 :(得分:0)

一般线性模型,我把它当作'ANOVA'模型。

因此,请在SPSS的Analyze菜单中使用相关模块。

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

答案 2 :(得分: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。