SPSS ANOVA事后检验

作者:Ruben Geert van den Berg,发表于 ANOVA

目录

  • 亚组的描述性统计 (Descriptive Statistics for Subgroups)
  • ANOVA - 流程图 (ANOVA - Flowchart)
  • SPSS ANOVA 对话框 (SPSS ANOVA Dialogs)
  • SPSS ANOVA 输出 (SPSS ANOVA Output)
  • SPSS ANOVA - 事后检验输出 (SPSS ANOVA - Post Hoc Tests Output)
  • APA 格式报告事后检验 (APA Style Reporting Post Hoc Tests)

ANOVA 中的事后检验 (Post hoc tests) 用于检验每种可能的均值配对 (pair) 之间的差异是否具有统计学意义。本教程将引导您使用 depression.sav 文件进行事后检验并理解其结果,部分数据如下所示。

抑郁症Sav变量视图 (Depression Sav Variable View)

我们将使用的变量是:

  • 参与者被随机分配到的药物 (medicine)
  • 开始用药 16 周后测量的抑郁程度 (levels of depressiveness)。

我们的研究问题是:某些药物是否比其他药物更能降低抑郁评分?更好的分析方法应该是 ANCOVA (协方差分析),但遗憾的是,没有进行抑郁症的预先测试。

快速数据检查 (Quick Data Check)

在盲目地进行任何分析之前,让我们首先看看我们的数据是否合理。一个好的第一步是检查直方图 (histogram),我将从下面的 SPSS 语法 (SPSS syntax) 中运行它。

***QUICK CHECK DEPENDENT VARIABLE.
**
frequencies bdi
/format notable
/histogram.

结果 (Result)

首先,我们的直方图(如下所示)没有显示任何令人惊讶或警觉的内容。

SPSS ANOVA 事后检验直方图 (SPSS ANOVA Post Hoc Tests Histogram)

另请注意,N = 100,因此该变量没有任何 缺失值 (missing values)。最后,可能会有人认为,接近 15 分的单个参与者可能是 异常值 (outlier)。但看起来不太糟糕,所以我们暂时保留它。

亚组的描述性统计 (Descriptive Statistics for Subgroups)

现在,让我们分别为每个药物组运行一些描述性统计。正确的方法是从 A nalyze(分析) SPSS 菜单箭头 (SPSS Menu Arrow) C ompare Means(比较平均值) SPSS 菜单箭头 (SPSS Menu Arrow) M eans(平均值),或者简单地输入下面显示的 2 行语法。

***DESCRIPTIVE STATISTICS FOR SUBGROUPS OF CASES.
**
means bdi by medicine
/cells count min max mean median stddev skew kurt.

结果 (Result)

SPSS ANOVA 事后检验描述性统计表 (SPSS ANOVA Post Hoc Tests Descriptives Table)

如图所示,我喜欢呈现一个详细的表格,包括每个组的:

但这里最重要的是样本量 (sample sizes),因为这些会影响我们 ANOVA 所需的假设。

另请注意,不同药物之间的平均抑郁评分差异很大。但是,这些都是基于相当小的样本。因此,最大的问题是:我们能对整个群体得出什么结论?也就是说,所有 服用这些药物的人?

ANOVA - 零假设 (Null Hypothesis)

简而言之,我们的 ANOVA 试图通过 否定 (nullifying) 相反的说法来证明某些药物比其他药物更有效。这个零假设指出,所有药物的总体平均抑郁评分都是相等的。在分析样本数据时,ANOVA 将告诉我们这是否可信。但是,为了信任 ANOVA 的结果,这些数据必须满足几个假设。

ANOVA - 假设 (Assumptions)

ANOVA 需要以下假设:

  • 独立观察 (independent observations)
  • 正态性 (normality):在我们要比较的每个亚群中,因变量必须是 正态分布 (normally distributed)。但是,如果每个 n > 25 左右,则不需要正态性。
  • 方差齐性 (homogeneity):在我们要比较的所有亚群中,因变量的方差必须相等。但是,如果所有样本量大致相等,则不需要方差齐性。

现在,只有在样本量差异很大时才需要方差齐性。在这种情况下,可以使用 Levene 检验 (Levene’s test) 来检查是否满足方差齐性。如果不是,该怎么办,请参见 SPSS ANOVA - Levene 检验“显著” (SPSS ANOVA - Levene’s Test “Significant” )

ANOVA - 流程图 (Flowchart)

下面的流程图总结了何时/如何检查 ANOVA 假设以及如果违反了这些假设该怎么办。

SPSS 单因素教程事后检验流程图 720 (SPSS One Way Tutorial Post Hoc Tests Flowchart 720)

请注意,depression.sav 包含 4 个药物样本,n = 25 个独立观察值。因此,它满足所有 ANOVA 假设。

SPSS ANOVA 对话框 (Dialogs)

我们将从 A nalyze(分析) SPSS 菜单箭头 (SPSS Menu Arrow) C ompare Means(比较平均值) SPSS 菜单箭头 (SPSS Menu Arrow) O ne-Way ANOVA(单因素方差分析)运行我们的 ANOVA,如下所示。

SPSS 分析比较平均值单因素方差分析 (SPSS Analyze Compare Means One Way ANOVA)

接下来,让我们填写对话框,如下所示。

SPSS 单因素方差分析事后对话框 (SPSS One Way ANOVA Post Hoc Dialogs)
  • 估计效应量 (Estimate effect size…) 仅适用于 SPSS 27 或更高版本。如果您使用的是旧版本,则可以从 A nalyze(分析) SPSS 菜单箭头 (SPSS Menu Arrow) C ompare Means(比较平均值) SPSS 菜单箭头 (SPSS Menu Arrow) M eans(平均值)(“选项”下的“ANOVA 表”)中获取它。
  • Tukey’s HSD(“真实显著差异”)是 ANOVA 最常见的事后检验。它列在“假定方差相等”下,指的是方差齐性假设。但是,由于我们的样本量都相等,因此我们的数据不需要这个假设。

完成这些步骤将产生以下语法。

***BASIC ANOVA EFFECT SIZE AND POST HOC TESTS.
**
ONEWAY bdi BY medicine
/ES=OVERALL
/MISSING ANALYSIS
/CRITERIA=CILEVEL(0.95)
/POSTHOC=TUKEY ALPHA(0.05).

SPSS ANOVA 输出 (Output)

首先,下面的 ANOVA 表解决了所有总体均值相等的零假设。显著性水平 (significance level) 表明 p < .001,因此我们拒绝此零假设。下图说明了如何报告此结果。

Apa 风格报告 ANOVA 文本 (Apa Style Reporting ANOVA Text)

此表中缺少的是 eta 平方,表示为 η2。在 SPSS 27 及更高版本中,我们在下面的下一个输出表中找到它。

SPSS ANOVA 效应量输出 (SPSS ANOVA Effect Sizes Output)

Eta 平方是一种 效应量度量 (effect size measure):它是一个单一的标准化数字,表示几个样本均值 差异有多大(即,它们之间的距离有多远)。通常接受的 eta 平方经验法则是:

  • η2 = 0.01 表示 效应
  • η2 = 0.06 表示 中等 效应
  • η2 = 0.14 表示 效应

对于我们的示例,η2 = 0.39 是一个巨大的效应:我们的 4 种药物导致平均抑郁评分差异很大。

这似乎完成了我们的分析,但我们仍然不知道一件事:究竟 哪个 均值与 哪个 均值不同?我们将在接下来讨论的事后检验中回答这个问题。

SPSS ANOVA - 事后检验输出 (Post Hoc Tests Output)

下表显示了每对均值之间的差异是否具有统计学意义。它还包括这些差异的 95% 置信区间 (confidence intervals)

SPSS ANOVA 事后检验成对比较输出表 (SPSS ANOVA Post Hoc Tests Pairwise Comparisons Output Table)
  • 在我们选择的 α = .05 处“显著 (significant)”的均值差异会被标记。请注意,除了安慰剂与顺势疗法之外,每个均值都与另一个均值不同。
  • 如果我们仔细观察确切的双尾 p 值,我们会发现除了上述比较之外,它们都 < .01。

鉴于最后一个发现,我建议以 α = .01 重新运行我们的事后检验,以再次确认这些发现。以下语法正是这样做的。

***BASIC ANOVA WITH ALPHA = 0.01 FOR POST HOC TESTS.
**
ONEWAY bdi BY medicine
/ES=OVERALL
/MISSING ANALYSIS
/CRITERIA=CILEVEL(0.95)
/POSTHOC=TUKEY ALPHA(0.01).

APA 格式报告事后检验 (APA Style Reporting Post Hoc Tests)

下表显示了如何在 APA 风格 (APA style) 中报告事后检验。

Apa 风格报告 ANOVA 事后检验 (Apa Style Reporting ANOVA Post Hoc Tests)

此表本身是使用 MEANS 命令创建的,就像我们用于 亚组的描述性统计 一样。下标基于我们 ANOVA 输出中的 Homogeneous Subsets 表。

请注意,我们选择 α = .01 而不是通常的 α = .05。这对于我们的示例分析来说更具信息性,因为我们所有的 p 值 < .05 也 < .01。

这个 APA 表也 似乎 可以从 A nalyze(分析) SPSS 菜单箭头 (SPSS Menu Arrow) T ables(表) SPSS 菜单箭头 (SPSS Menu Arrow) C ustom Tables(定制表)中获得,但我不建议这样做:定制表中的 p 值似乎基于 Bonferroni 校正的 独立样本 t 检验 (independent samples t-tests) 而不是 Tukey’s HSD。对此的一般观点是,此过程过于保守。

最终说明 (Final Notes)

好的,所以 ANOVA 与事后检验的常见程序是:

  1. 运行基本的 ANOVA,看看总体均值是否 相等。这通常被称为 总括检验 (omnibus test)(omnibus 是拉丁语,意思是“关于所有事物”之类的东西);
  2. 只有当我们拒绝这个总体零假设时,才使用 事后检验 (post hoc tests)(post hoc 是拉丁语,意思是“在那之后”)找出究竟哪些均值对不同。

如果总括检验 具有统计学意义,通常不赞成运行事后检验。某些情况下可能会证明这样做是合理的,但让我们将该讨论留到以后再进行。