y_ij = μ + τ_i + ε_ij
where μ is the overall mean, τ_i is the effect of estimation method i, and ε_ij is the random error.
ε_ij ~ N(0, σ²)
H0: μ1 = μ2 = μ3 = μ4 Ha: At least one population mean is different.
method <- factor(rep(1:4, each=6))
discharge <- c(.34, .12, 1.23, .70, 1.75, .12,
.91, 2.94, 2.14, 2.36, 2.86, 4.55,
6.31, 8.37, 9.75, 6.09, 9.82, 7.24,
17.15, 11.82, 10.97, 17.20, 14.35, 16.82)
boxplot(discharge ~ method,
xlab="Estimation Method",
ylab="Peak Discharge")
qqnorm(discharge)
qqline(discharge)
The data do not appear to be normally distributed, and the variance does not appear to be constant.
model <- aov(discharge ~ method)
summary(model)
## Df Sum Sq Mean Sq F value Pr(>F)
## method 3 708.7 236.2 76.29 4e-11 ***
## Residuals 20 61.9 3.1
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot(model, which=1)
plot(model, which=2)
The residual plots indicate that the assumptions of normality and
constant variance may not be satisfied.
library(MASS)
boxcox(model)
sqrt_discharge <- sqrt(discharge)
model_sqrt <- aov(sqrt_discharge ~ method)
summary(model_sqrt)
## Df Sum Sq Mean Sq F value Pr(>F)
## method 3 32.69 10.898 81.17 2.27e-11 ***
## Residuals 20 2.69 0.134
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot(model_sqrt, which=1)
plot(model_sqrt, which=2)
The Box-Cox plot suggests λ ≈ 0.5, so a square-root transformation was
used. The ANOVA shows a significant difference among the four estimation
methods (p < 0.05). Therefore, H₀ is rejected.
kruskal.test(discharge ~ method)
##
## Kruskal-Wallis rank sum test
##
## data: discharge by method
## Kruskal-Wallis chi-squared = 21.156, df = 3, p-value = 9.771e-05
The Kruskal-Wallis test shows a significant difference among the four estimation methods (p < 0.05). Therefore, H₀ is rejected.