方差分析
一、方差分析引论
1.1 方差分析的基本概念
方差分析(Analysis of Variance,简称 ANOVA)是由英国统计学家 R.A. Fisher 于20世纪20年代提出的一种统计分析方法。其核心思想是:将数据的总变异分解为不同来源的变异,通过比较各来源的变异大小来判断因素对试验指标是否有显著影响。
1.2 为什么需要方差分析
问题的提出: 假设有 kkk 个总体(或 kkk 种处理),我们想要检验它们的均值是否相等。
H0:μ1=μ2=⋯=μkH_0: \\mu_1 = \\mu_2 = \\cdots = \\mu_kH0:μ1=μ2=⋯=μk
为什么不能用两两 ttt 检验替代?
若对 kkk 个总体进行两两 ttt 检验,共需进行 (k2)=k(k−1)2\\binom{k}{2} = \\frac{k(k-1)}{2}(2k)=2k(k−1) 次比较。例如 k=5k=5k=5 时需要 10 次比较。
每次检验的显著性水平为 α\\alphaα,则至少犯一次第一类错误的概率为:
P(至少犯一次第I类错误)=1−(1−α)(k2)P(\\text{至少犯一次第I类错误}) = 1 – (1-\\alpha)^{\\binom{k}{2}}P(至少犯一次第I类错误)=1−(1−α)(2k)
当 α=0.05\\alpha = 0.05α=0.05,k=5k = 5k=5 时:
1−(1−0.05)10=1−0.9510≈1−0.5987=0.40131 – (1-0.05)^{10} = 1 – 0.95^{10} \\approx 1 – 0.5987 = 0.40131−(1−0.05)10=1−0.9510≈1−0.5987=0.4013
即犯第一类错误的概率高达约 40%,远超预设水平。因此需要方差分析这一整体检验方法。
1.3 方差分析中的基本术语
| 试验指标 | 试验中要考察的结果(响应变量) |
| 因素 | 影响试验指标的条件(用 A,B,…A, B, \\ldotsA,B,… 表示) |
| 水平 | 因素所处的不同状态或等级(用 A1,A2,…A_1, A_2, \\ldotsA1,A2,… 表示) |
| 处理 | 因素水平的组合 |
| 单因素方差分析 | 只有一个因素变化,其余因素固定 |
| 双因素方差分析 | 有两个因素同时变化 |
1.4 方差分析的基本假定
对每一个总体(水平),要求:
二、单因素方差分析
2.1 问题与模型
设因素 AAA 有 kkk 个水平 A1,A2,…,AkA_1, A_2, \\ldots, A_kA1,A2,…,Ak,在水平 AiA_iAi 下进行 nin_ini 次独立试验,得到观测值 XijX_{ij}Xij(j=1,2,…,nij = 1, 2, \\ldots, n_ij=1,2,…,ni)。
线性统计模型:
Xij=μi+εij,i=1,2,…,k;j=1,2,…,niX_{ij} = \\mu_i + \\varepsilon_{ij}, \\quad i = 1, 2, \\ldots, k; \\quad j = 1, 2, \\ldots, n_iXij=μi+εij,i=1,2,…,k;j=1,2,…,ni
其中 εij∼N(0,σ2)\\varepsilon_{ij} \\sim N(0, \\sigma^2)εij∼N(0,σ2) 且相互独立。
引入效应参数:
令总均值 μ=1n∑i=1kniμi\\mu = \\frac{1}{n}\\sum_{i=1}^{k} n_i \\mu_iμ=n1∑i=1kniμi(其中 n=∑i=1knin = \\sum_{i=1}^{k} n_in=∑i=1kni 为总观测次数),定义水平 AiA_iAi 的效应为:
αi=μi−μ,i=1,2,…,k\\alpha_i = \\mu_i – \\mu, \\quad i = 1, 2, \\ldots, kαi=μi−μ,i=1,2,…,k
则模型改写为:
Xij=μ+αi+εij,∑i=1kniαi=0\\boxed{X_{ij} = \\mu + \\alpha_i + \\varepsilon_{ij}, \\quad \\sum_{i=1}^{k} n_i \\alpha_i = 0}Xij=μ+αi+εij,i=1∑kniαi=0
待检验的假设为:
H0:μ1=μ2=⋯=μk⇔H0:α1=α2=⋯=αk=0H_0: \\mu_1 = \\mu_2 = \\cdots = \\mu_k \\quad \\Leftrightarrow \\quad H_0: \\alpha_1 = \\alpha_2 = \\cdots = \\alpha_k = 0H0:μ1=μ2=⋯=μk⇔H0:α1=α2=⋯=αk=0
H1:μ1,μ2,…,μk 不全相等H_1: \\mu_1, \\mu_2, \\ldots, \\mu_k \\text{ 不全相等}H1:μ1,μ2,…,μk 不全相等
2.2 平方和分解(核心推导)
2.2.1 定义基本统计量
- 第 iii 组样本均值:Xˉi⋅=1ni∑j=1niXij\\bar{X}_{i\\cdot} = \\frac{1}{n_i}\\sum_{j=1}^{n_i} X_{ij}Xˉi⋅=ni1∑j=1niXij
- 总样本均值:Xˉ⋅⋅=1n∑i=1k∑j=1niXij\\bar{X}_{\\cdot\\cdot} = \\frac{1}{n}\\sum_{i=1}^{k}\\sum_{j=1}^{n_i} X_{ij}Xˉ⋅⋅=n1∑i=1k∑j=1niXij
重要恒等式验证:
∑i=1kniXˉi⋅=∑i=1kni⋅1ni∑j=1niXij=∑i=1k∑j=1niXij=nXˉ⋅⋅\\sum_{i=1}^{k} n_i \\bar{X}_{i\\cdot} = \\sum_{i=1}^{k} n_i \\cdot \\frac{1}{n_i}\\sum_{j=1}^{n_i} X_{ij} = \\sum_{i=1}^{k}\\sum_{j=1}^{n_i} X_{ij} = n\\bar{X}_{\\cdot\\cdot}i=1∑kniXˉi⋅=i=1∑kni⋅ni1j=1∑niXij=i=1∑kj=1∑niXij=nXˉ⋅⋅
2.2.2 总离差平方和的分解
定义总离差平方和:
ST=∑i=1k∑j=1ni(Xij−Xˉ⋅⋅)2S_T = \\sum_{i=1}^{k}\\sum_{j=1}^{n_i}(X_{ij} – \\bar{X}_{\\cdot\\cdot})^2ST=i=1∑kj=1∑ni(Xij−Xˉ⋅⋅)2
分解过程: 对 Xij−Xˉ⋅⋅X_{ij} – \\bar{X}_{\\cdot\\cdot}Xij−Xˉ⋅⋅ 进行"加一项减一项":
Xij−Xˉ⋅⋅=(Xij−Xˉi⋅)+(Xˉi⋅−Xˉ⋅⋅)X_{ij} – \\bar{X}_{\\cdot\\cdot} = (X_{ij} – \\bar{X}_{i\\cdot}) + (\\bar{X}_{i\\cdot} – \\bar{X}_{\\cdot\\cdot})Xij−Xˉ⋅⋅=(Xij−Xˉi⋅)+(Xˉi⋅−Xˉ⋅⋅)
两边平方后求和:
ST=∑i=1k∑j=1ni[(Xij−Xˉi⋅)+(Xˉi⋅−Xˉ⋅⋅)]2S_T = \\sum_{i=1}^{k}\\sum_{j=1}^{n_i}\\left[(X_{ij} – \\bar{X}_{i\\cdot}) + (\\bar{X}_{i\\cdot} – \\bar{X}_{\\cdot\\cdot})\\right]^2ST=i=1∑kj=1∑ni[(Xij−Xˉi⋅)+(Xˉi⋅−Xˉ⋅⋅)]2
展开平方项:
ST=∑i=1k∑j=1ni(Xij−Xˉi⋅)2⏟SE+∑i=1k∑j=1ni(Xˉi⋅−Xˉ⋅⋅)2⏟SA+2∑i=1k∑j=1ni(Xij−Xˉi⋅)(Xˉi⋅−Xˉ⋅⋅)S_T = \\underbrace{\\sum_{i=1}^{k}\\sum_{j=1}^{n_i}(X_{ij} – \\bar{X}_{i\\cdot})^2}_{S_E} + \\underbrace{\\sum_{i=1}^{k}\\sum_{j=1}^{n_i}(\\bar{X}_{i\\cdot} – \\bar{X}_{\\cdot\\cdot})^2}_{S_A} + 2\\sum_{i=1}^{k}\\sum_{j=1}^{n_i}(X_{ij} – \\bar{X}_{i\\cdot})(\\bar{X}_{i\\cdot} – \\bar{X}_{\\cdot\\cdot})ST=SEi=1∑kj=1∑ni(Xij−Xˉi⋅)2+SAi=1∑kj=1∑ni(Xˉi⋅−Xˉ⋅⋅)2+2i=1∑kj=1∑ni(Xij−Xˉi⋅)(Xˉi⋅−Xˉ⋅⋅)
证明交叉项为零:
∑i=1k∑j=1ni(Xij−Xˉi⋅)(Xˉi⋅−Xˉ⋅⋅)=∑i=1k(Xˉi⋅−Xˉ⋅⋅)∑j=1ni(Xij−Xˉi⋅)\\sum_{i=1}^{k}\\sum_{j=1}^{n_i}(X_{ij} – \\bar{X}_{i\\cdot})(\\bar{X}_{i\\cdot} – \\bar{X}_{\\cdot\\cdot}) = \\sum_{i=1}^{k}(\\bar{X}_{i\\cdot} – \\bar{X}_{\\cdot\\cdot})\\sum_{j=1}^{n_i}(X_{ij} – \\bar{X}_{i\\cdot})i=1∑kj=1∑ni(Xij−Xˉi⋅)(Xˉi⋅−Xˉ⋅⋅)=i=1∑k(Xˉi⋅−Xˉ⋅⋅)j=1∑ni(Xij−Xˉi⋅)
由于 ∑j=1ni(Xij−Xˉi⋅)=∑j=1niXij−niXˉi⋅=niXˉi⋅−niXˉi⋅=0\\sum_{j=1}^{n_i}(X_{ij} – \\bar{X}_{i\\cdot}) = \\sum_{j=1}^{n_i}X_{ij} – n_i\\bar{X}_{i\\cdot} = n_i\\bar{X}_{i\\cdot} – n_i\\bar{X}_{i\\cdot} = 0∑j=1ni(Xij−Xˉi⋅)=∑j=1niXij−niXˉi⋅=niXˉi⋅−niXˉi⋅=0
因此交叉项为零,得到:
ST=SE+SA\\boxed{S_T = S_E + S_A}ST=SE+SA
其中:
SA=∑i=1k∑j=1ni(Xˉi⋅−Xˉ⋅⋅)2=∑i=1kni(Xˉi⋅−Xˉ⋅⋅)2S_A = \\sum_{i=1}^{k}\\sum_{j=1}^{n_i}(\\bar{X}_{i\\cdot} – \\bar{X}_{\\cdot\\cdot})^2 = \\sum_{i=1}^{k}n_i(\\bar{X}_{i\\cdot} – \\bar{X}_{\\cdot\\cdot})^2SA=i=1∑kj=1∑ni(Xˉi⋅−Xˉ⋅⋅)2=i=1∑kni(Xˉi⋅−Xˉ⋅⋅)2
SE=∑i=1k∑j=1ni(Xij−Xˉi⋅)2S_E = \\sum_{i=1}^{k}\\sum_{j=1}^{n_i}(X_{ij} – \\bar{X}_{i\\cdot})^2SE=i=1∑kj=1∑ni(Xij−Xˉi⋅)2
各项含义:
| STS_TST | 总离差平方和 | 数据总的变异程度 |
| SAS_ASA | 因素 AAA 的离差平方和(组间平方和) | 由因素 AAA 不同水平引起的变异 |
| SES_ESE | 误差平方和(组内平方和) | 由随机误差引起的变异 |
2.2.3 自由度的分解
ST 的自由度:fT=n−1S_T \\text{ 的自由度:} \\quad f_T = n – 1ST 的自由度:fT=n−1
SA 的自由度:fA=k−1S_A \\text{ 的自由度:} \\quad f_A = k – 1SA 的自由度:fA=k−1
SE 的自由度:fE=n−kS_E \\text{ 的自由度:} \\quad f_E = n – kSE 的自由度:fE=n−k
验证: fA+fE=(k−1)+(n−k)=n−1=fTf_A + f_E = (k-1) + (n-k) = n – 1 = f_TfA+fE=(k−1)+(n−k)=n−1=fT ✓
2.3 各平方和期望值的推导
2.3.1 E(SE)E(S_E)E(SE) 的推导
SE=∑i=1k∑j=1ni(Xij−Xˉi⋅)2S_E = \\sum_{i=1}^{k}\\sum_{j=1}^{n_i}(X_{ij} – \\bar{X}_{i\\cdot})^2SE=i=1∑kj=1∑<span class