3群(A, B, C)を比較するとき,t検定を繰り返すと:
第一種の過誤(偽陽性)の確率が膨らむ!
\[1 - (1 - 0.05)^3 = 1 - 0.857 = 0.143\]
→ 3回の検定では,帰無仮説が正しいのに少なくとも1回有意になる確率が14.3%!
Analysis of Variance(ANOVA): - 3群以上を1回の検定で同時に比較 - 全体の第一種の過誤率を α = .05 に保つ
\[SS_{全体} = SS_{群間} + SS_{群内}\]
| 変動の種類 | 意味 |
|---|---|
| 群間変動 (SS_between) | 群の平均値のばらつき(群の効果) |
| 群内変動 (SS_within) | 各群内のばらつき(誤差) |
\[F = \frac{MS_{群間}}{MS_{群内}} = \frac{群間の平均二乗}{群内の平均二乗}\]
# データの確認
iris |>
group_by(Species) |>
summarise(
n = n(),
mean = mean(Sepal.Length),
sd = sd(Sepal.Length)
)# 箱ひげ図で確認
ggplot(iris, aes(x = Species, y = Sepal.Length, fill = Species)) +
geom_boxplot() +
geom_jitter(width = 0.1, alpha = 0.3) +
scale_fill_brewer(palette = "Pastel1") +
labs(title = "種ごとのがく片の長さ",
x = "種", y = "がく片の長さ (cm)") +
theme_bw() +
theme(legend.position = "none")## Df Sum Sq Mean Sq F value Pr(>F)
## Species 2 63.21 31.606 119.3 <2e-16 ***
## Residuals 147 38.96 0.265
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Df Sum Sq Mean Sq F value Pr(>F)
Species 2 63.21 31.606 119.3 <2e-16 ***
Residuals 147 38.96 0.265
| 項目 | 意味 |
|---|---|
Df |
自由度(群間 = k-1,群内 = N-k) |
Sum Sq |
平方和 |
Mean Sq |
平均二乗(平方和÷自由度) |
F value |
F統計量 |
Pr(>F) |
p値 |
p < .05 → 帰無仮説を棄却(少なくとも1組の群に有意差がある)
ただし,どの群とどの群が異なるかはこれだけではわかりません。 → 次回の多重比較へ
| 前提条件 | 確認方法 |
|---|---|
| 各群が正規分布に従う | Shapiro-Wilk 検定 |
| 各群の分散が等しい(等分散性) | Levene 検定 / Bartlett 検定 |
| 観測値の独立性 | データの収集方法を確認 |
##
## Bartlett test of homogeneity of variances
##
## data: Sepal.Length by Species
## Bartlett's K-squared = 16.006, df = 2, p-value = 0.0003345
等分散性が満たされない場合は Welch の
ANOVA(oneway.test())を使います。
##
## One-way analysis of means (not assuming equal variances)
##
## data: Sepal.Length and Species
## F = 138.91, num df = 2.000, denom df = 92.211, p-value < 2.2e-16
\[\eta^2 = \frac{SS_{群間}}{SS_{全体}}\]
# 手動でη²を計算
ss_between <- 63.21
ss_total <- 63.21 + 38.96
eta_sq <- ss_between / ss_total
round(eta_sq, 3)## [1] 0.619
| η² | 効果の大きさ |
|---|---|
| 0.01 | 小 |
| 0.06 | 中 |
| 0.14以上 | 大 |
iris_summary <- iris |>
group_by(Species) |>
summarise(
mean = mean(Sepal.Length),
sd = sd(Sepal.Length),
n = n()
)
ggplot(iris_summary, aes(x = Species, y = mean, fill = Species)) +
geom_col(width = 0.6) +
geom_errorbar(aes(ymin = mean - sd, ymax = mean + sd), width = 0.15) +
scale_fill_brewer(palette = "Pastel1") +
labs(title = "種ごとのがく片の長さ(平均±SD)",
x = "種", y = "がく片の長さ (cm)") +
theme_bw() +
theme(legend.position = "none")iris データで,3種の
Petal.Length(花びらの長さ)
を一元配置分散分析で比較してください。
group_by() + summarise() で各群の M と SD
を計算するaov() で分散分析を実行し,summary()
で結果を確認する演習1で使ったデータについて,Bartlett 検定で等分散性を確認してください。
演習1の summary() の出力から SS_between と SS_total
を読み取り, η² を計算してください。
演習1の結果を,以下のフォーマットで記述してください。
3種のアヤメの花びらの長さを一元配置分散分析によって比較した結果, 種の主効果が有意であった,F(, ) = ., p __ .001, η² = .__。
aov() + summary()
で一元配置分散分析を実行