单因素方差分析详解:原理、应用与F统计量计算方法
单因素方差分析

文/小只
这是小只的第246篇文章
什么是单因素方差分析?
用于比较多个独立样本(组)之间的均值是否存在显著性差异。
只有一个自变量(因子)的情况被称为“单因素”,比如机型有 A、B、C 等。
“方差分析”:它通过利用数据的方差这一特性,来对均值是否存在显著差异进行判断,并非是直接去比较均值。
它解决了多组均值比较的问题。
如果仅有两组数据,我们可以用独立样本t检验。
但当比较三组及以上时,逐个进行t检验会增加第1类错误率。
数学原理
如果不同组的数据均值存在差异,那么它们的方差会较大;如果均值相近,方差就会较小。
ANOVA主要计算F统计量来判断是否有显著性差异。
① 计算总方差(SST):所有观测值围绕总均值的离散程度
②计算组间方差(SSB):各组均值与总均值之间的离散程度
计算组内方差(SSW),即每个组内部的数据围绕其各自组均值的离散程度。
而F统计量用于判断组间差异是否足够大,计算公式为:
其中:
组间均方(MSB):MSB=SSB/(k−1)
组内均方(MSW):MSW=SSW/(N−k)
判断显著性
F 值越大,意味着组间差异越大。与组内方差相比,组间差异更为显著。
计算 p 值(Sig.),如果 p 值小于某个特定的显著性水平(通常为 0.05),那么就拒绝原假设,这意味着组间均值存在显著性差异。
适用场景
自变量:一个分类变量,且至少有两个水平(如手机型号)。
因变量:一个连续变量(如满意度)。
核心问题:自变量的各个水平是否对因变量产生显著差异?
前提假设
正态性:各组数据需近似服从正态分布。
方差齐性:各组的方差需大致相等。
独立性:不同组别的观测值相互独立,无配对或重复测量关系。
数据案例
我们邀请了 90 名用户,每位用户仅对其中一款相机进行测试,之后为其给出 1 到 10 分的满意度评分。
变量说明:
因变量:满意度评分(1-10分)
自变量:相机机型(A、B、C)
目标:检验三种机型的评分是否有显著性差异。
SPSS操作步骤
运行单因素方差分析
路径:首先进行 Analyze(分析)操作,接着进行 CompareMeans(比较均值)操作,最后进行单因素方差分析。
设置变量:
DependentList(因变量)→选择“满意度评分”
Factor(自变量)→选择“机型”
勾选以下选项:
Descriptivestatistics(描述性统计)
进行方差齐性检验。
PostHoc 进行事后检验,可选择 Bonferroni 或者其他方法。
点击OK运行分析。
结果解读第1部分:描述统计
这一部分展示了不同机型(B 机型、N 机型、F 机型、G 机型)的整体满意度评分的相关信息,包括均值、标准偏差、标准误、置信区间(95%)、最小值和最大值。
如何解读?(仅作示例)
B 的满意度接近 8.31,N 的满意度接近 8.30,F 的满意度接近 8.11。
G 机型的标准偏差为 1.497,在所有机型中该值最大。这表明 G 机型的满意度评分分布较为分散,用户的评价存在较大差异,不太一致。
置信区间方面,比如 B 机型的满意度均值为 8.31,我们有 95%的把握能确定其真实均值处在 8.09 至 8.53 这个区间内。
第2部分:方差齐性检验
方差齐性检验的目的在于检查不同组别的方差是否相等。这是进行方差分析的一个重要前提假设。
如果 p 值大于 0.05,那就表示不存在显著差异。这意味着方差是齐的,也就是满足方差分析的前提条件。
如果 p 值 < 0.05,表示方差有显著差异,说明方差是不齐的(不满足方差分析的前提)。
如何解读?
方差齐性检验的 p 值是 0.002 。这表明不同机型的满意度评分的方差有着显著的差异,也就是说数据的方差是不齐的。
因为方差不齐,所以在进行 ANOVA 之后需要谨慎对待结果,甚至可以去思考使用 Welch’s ANOVA 或者非参数检验来进一步对其进行验证。
第3部分:方差分析
方差分析用于检验不同机型的满意度均值是否存在显著差异。
如何解读?
F 值为 7.077,p 值是 0.000,这个 p 值远小于 0.05。这表明不同机型的满意度均值存在显著差异。
ANOVA 只能告知我们“存在至少一个机型的满意度均值与其他机型的满意度均值不同”,然而它无法告知我们具体是哪些机型之间存在显著差异。
因此,我们需要进一步进行事后检验。
第4部分:事后检验
事后检验用于进一步分析不同机型之间的均值差异是否显著。
带*的表示显著性水平
如何解读?
B、N、F 之间的差异不显著,其 p 值大于 0.05,这表明这些机型的满意度均值在统计层面上没有明显的差异。
B-G、N-G、F-G之间的差异显著(p
B机型的满意度比G高0.620,p=0.000,显著。
N机型的满意度比G高0.607,p=0.001,显著。
F机型的满意度比G高0.420,p=0.039,显著。
最终结论
从整体方面来看,不同机型的满意度评分有着显著的差异,这种差异在统计学上是显著的(p=0.000)。不同机型的满意度评分确实不一样,且差异明显(p=0.000)。整体而言,不同机型的满意度评分存在着较为突出的差异(p=0.000)。
B 机型、N 机型、F 机型的满意度没有明显的差别,其 p 值大于 0.05。而 G 机型的满意度与其他机型相比,有显著的低于其他机型的情况,其 p 值小于 0.05。
注意事项
我们看到目前的数据检验呈现出方差不齐的情况,其 p 值为 0.002。那么在真实的情况下,应该采取怎样的措施呢?
①继续使用 ANOVA,但注意解释
样本量相等(目前数据中每组 n = 150)时,ANOVA 对于方差不齐的情况具有较强的稳健性,其产生的误差不会很大。
可以继续使用 ANOVA ,不过在解读结果时需要谨慎,特别是当 p 值接近 0.05 的时候。
②采用 Welch’s ANOVA
Welch’s ANOVA 是普通 ANOVA 的一种改进形式。它具备这样的特点,即允许在方差不齐的情况下使用。并且它会对自由度进行调整,这样做的目的是使显著性检验更加可靠。倘若你期望进行更严谨的分析,那么就可以重新计算 Welch’s ANOVA,之后查看 p 值是否依然显著。
拓展1:Welch’s ANOVA如何操作?
点击“选项 (Options)”按钮,接着进行勾选操作,勾选的内容是“均等方差未假定的稳健检验 (Welch)”。
其他步骤一致
Welch统计量:用于检验均值是否存在显著差异。
p 的值为 0.000(小于 0.05),这表明不同机型的满意度均值存在显著差异,并且该结论依然是稳健的。
可以继续进行事后检验(如以下红框内方法)。
拓展2:多个t检验会增加1类错误?
第1类错误也叫α错误,是指:
当原假设H0其实是真实的,但我们误拒绝了它,即:
A 机型的用户满意度与 B 机型相同,A 机型的用户满意度也与 C 机型相同,B 机型的用户满意度同样与 C 机型相同,然而我们却错误地认为它们不同。
通常,我们设定显著性水平α=0.05,表示:
在一次统计检验中,存在 5%的概率会犯下第一类错误。这种情况下,原本两个事物之间没有差异,但我们却错误地判断为有差异。
为什么多个t检验会增加第1类错误率?
假设我们要比较三款相机(A、B、C)的满意度评分:
A vs B(第1次t检验)
A vs C(第2次t检验)
B vs C(第3次t检验)
如果每次t检验的α=0.05,则:
进行1次t检验,错误率=5%
进行2次t检验,错误率≈9.75%
进行3次t检验,错误率≈14.26%
每次进行 t 检验时,都有 5%的可能性会出现假阳性,也就是错误发现显著性。
当我们进行多次检验时,每一次检验都有可能犯错,并且这些错误的概率是会累积起来的。
单因素方差分析仅进行 1 次总检验,并非进行多个独立的 t 检验。正因如此,其整体的第 1 类错误率依然维持在 5%。
如果 ANOVA 检验结果有显著差异,就会进一步进行事后检验,并且会严格控制第 1 类错误率。
直观理解:错误率累积的例子
想象一个赌场的游戏:
你掷一次骰子,若掷出“6”,那么你就输了,这就相当于犯了第 1 类错误率。
你掷一次骰子,其概率为 1/6,也就是 16.7%。倘若仅仅掷一次,那么输的概率并不是很高。
如果你连续掷 3 次,那么至少出现一次“6”的概率会远远高于 16.7%。
每多掷一次骰子,你输的概率(犯错的概率)都会变大。
这跟多个 t 检验的第1类错误率累积原理是一样的。
拓展3:组间方差如何计算?
组内方差,大家应该都好理解,组间方差呢?
用一个例子来简单说明:
总体均值:
组间平方和(SS_B):
组间自由度(df_B):
组间方差(MS_B):
以上。