# Python 统计分析–单因素方差分析

1.基本假设

(1).正态假设。对于因素的每个水平，其观测值都是来自正态总体的随机样本；

(2).方差齐性假设。各个总体的方差相同；

(3).独立假设。观测值之间都是独立的。

2.单因素方差分析

(1). Xij X i j $X_{ij}$= μ+ai+εij μ + a i + ε i j $\mu+a_{i}+\varepsilon_{ij}$, i=1,2,…,r,j=1,2,…, ni n i $n_{i}$

(2). εij ε i j $\varepsilon_{ij}$ ~ N(0, σ2 σ 2 $\sigma^{2}$),且 εij ε i j $\varepsilon_{ij}$相互独立

(3). ri=1niαi ∑ i = 1 r n i α i $\sum_{i=1}^{r}n_{i}\alpha_{i}$ = 0

H0:α1=α2=...=αr H 0 : α 1 = α 2 = . . . = α r $H_{0}:\alpha_{1}=\alpha_{2}=...=\alpha_{r}$

SST=SSE+SSA S S T = S S E + S S A

SST=ri=1nij=1(XijX¯)2 S S T = ∑ i = 1 r ∑ j = 1 n i ( X i j − X ¯ ) 2 $SS_{T}=\sum^{r}_{i=1}\sum^{n_{i}}_{j=1}(X_{ij}-\bar{X})^{2}$, X¯=1nri=1nij=1Xij X ¯ = 1 n ∑ i = 1 r ∑ j = 1 n i X i j $\bar{X}=\frac{1}{n}\sum^{r}_{i=1}\sum^{n_{i}}_{j=1}X_{ij}$

SSE=ri=1nij=1(XijXi.¯)2 S S E = ∑ i = 1 r ∑ j = 1 n i ( X i j − X i . ¯ ) 2 $SS_{E}=\sum^{r}_{i=1}\sum^{n_{i}}_{j=1}(X_{ij}-\bar{X_{i.}})^{2}$, Xi.¯=1nnij=1Xij X i . ¯ = 1 n ∑ j = 1 n i X i j $\bar{X_{i.}}=\frac{1}{n}\sum^{n_{i}}_{j=1}X_{ij}$

SSA=ri=1nij=1(Xi.¯X¯)2 S S A = ∑ i = 1 r ∑ j = 1 n i ( X i . ¯ − X ¯ ) 2 $SS_{A}=\sum^{r}_{i=1}\sum^{n_{i}}_{j=1}(\bar{X_{i.}}-\bar{X_{}})^{2}$

SSEσ2 S S E σ 2 $\frac{SS_{E}}{\sigma^{2}}$ ~ χ2(nr) χ 2 ( n − r ) $\chi^{2}(n-r)$,

SSAσ2 S S A σ 2 $\frac{SS_{A}}{\sigma^{2}}$ ~ χ2(r1) χ 2 ( r − 1 ) $\chi^{2}(r-1)$

SSA S S A $SS_{A}$ SSE S S E $SS_{E}$独立，于是：
F=SSA/(r1)SSE/(nr) F = S S A / ( r − 1 ) S S E / ( n − r ) $F =\frac{SS_{A}/(r-1)}{SS_{E}/(n-r)}$ ~ F(r1,nr) F ( r − 1 , n − r ) $F(r-1,n-r)$

F>Fα(r1,nr) F > F α ( r − 1 , n − r ) $F > F_{\alpha}(r-1,n-r)$,则拒绝原假设，认为因素A的r个水平有显著差异。

3.案例：

4.Python 代码


import pandas as pd
from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm

A B
0 a1 25.6
1 a1 22.2
2 a1 28.0
3 a1 29.8
4 a2 24.4

model = ols('B ~ A',df).fit()
anovat = anova_lm(model)
print(anovat)


df   sum_sq   mean_sq         F    PR(>F)

A          4.0  131.957  32.98925  4.306128  0.016182

Residual  15.0  114.915   7.66100    

F表示F检验统计量的值,; PR(>F)表示检验的p值; A就是因素A;Residuals为残差。

5.结果说明：

• 6
点赞
• 3
评论
• 41
收藏
• 一键三连
• 扫一扫，分享海报

09-26
07-02

02-08 1890
09-18 1508
08-15 2719
07-19 5680
04-21 2080
10-25 494
03-31 920
09-19 2076
10-04 1万+
12-18 1万+
09-13 8688