Présentation des données

On étudie l’impact de la température extérieure (facteur qualitatif à 4 modalités : 0, 22.5, 37.5, 60°C) sur la durabilité d’une peinture. L’objectif est de maximiser cette durabilité.

# Saisie des données
temperature <- factor(rep(c(0, 22.5, 37.5, 60), each = 5))

durabilite <- c(
  79.48, 65.60, 67.70, 67.64, 75.69,   # T = 0
  155.43, 139.27, 148.45, 148.26, 142.79, # T = 22.5
  136.91, 140.90, 149.6, 146.32, 153.10,  # T = 37.5
  74.12, 79.07, 86.72, 67.62, 73.54       # T = 60
)

donnees <- data.frame(temperature = temperature, durabilite = durabilite)

# Aperçu des données
print(donnees)
##    temperature durabilite
## 1            0      79.48
## 2            0      65.60
## 3            0      67.70
## 4            0      67.64
## 5            0      75.69
## 6         22.5     155.43
## 7         22.5     139.27
## 8         22.5     148.45
## 9         22.5     148.26
## 10        22.5     142.79
## 11        37.5     136.91
## 12        37.5     140.90
## 13        37.5     149.60
## 14        37.5     146.32
## 15        37.5     153.10
## 16          60      74.12
## 17          60      79.07
## 18          60      86.72
## 19          60      67.62
## 20          60      73.54

Analyse exploratoire

# Statistiques descriptives par modalité
tapply(durabilite, temperature, summary)
## $`0`
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   65.60   67.64   67.70   71.22   75.69   79.48 
## 
## $`22.5`
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   139.3   142.8   148.3   146.8   148.4   155.4 
## 
## $`37.5`
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   136.9   140.9   146.3   145.4   149.6   153.1 
## 
## $`60`
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   67.62   73.54   74.12   76.21   79.07   86.72
# Moyennes par groupe
moyennes <- tapply(durabilite, temperature, mean)
cat("\nMoyennes par température :\n")
## 
## Moyennes par température :
print(round(moyennes, 3))
##       0    22.5    37.5      60 
##  71.222 146.840 145.366  76.214
# Écarts-types par groupe
ecart_types <- tapply(durabilite, temperature, sd)
cat("\nÉcarts-types par température :\n")
## 
## Écarts-types par température :
print(round(ecart_types, 3))
##     0  22.5  37.5    60 
## 6.021 6.167 6.521 7.140
# Visualisation
boxplot(durabilite ~ temperature,
        data = donnees,
        xlab = "Température (°C)",
        ylab = "Durabilité",
        main = "Durabilité de la peinture selon la température",
        col = c("lightblue", "lightgreen", "lightyellow", "lightsalmon"))

# Ajout des moyennes
points(1:4, moyennes, pch = 18, col = "red", cex = 1.5)
legend("topright", legend = "Moyenne", pch = 18, col = "red")
Boxplot de la durabilité par température

Boxplot de la durabilité par température

Observation : Le boxplot révèle des différences visuelles marquées entre les groupes. Les températures de 22.5°C et 37.5°C semblent associées à une durabilité nettement supérieure aux températures extrêmes (0°C et 60°C).


Question 1 : Le facteur a-t-il un effet significatif sur la réponse ?

On réalise une ANOVA à un facteur (facteur traité comme qualitatif).

Modèle : \(Y_{ij} = \mu + \alpha_i + \varepsilon_{ij}\) avec \(\varepsilon_{ij} \sim \mathcal{N}(0, \sigma^2)\)

Hypothèses du test : - \(\mathcal{H}_0\) : \(\alpha_i = 0\) pour tout \(i\) (pas d’effet de la température) - \(\mathcal{H}_1\) : Au moins un \(\alpha_i \neq 0\) (au moins une température a un effet différent)

# ANOVA à un facteur
an_var <- aov(durabilite ~ temperature, data = donnees)
summary(an_var)
##             Df Sum Sq Mean Sq F value  Pr(>F)    
## temperature  3  26266    8755   208.7 4.9e-13 ***
## Residuals   16    671      42                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
res_anova <- summary(an_var)[[1]]
F_obs <- res_anova["temperature", "F value"]
p_val <- res_anova["temperature", "Pr(>F)"]

cat("Statistique F observée :", round(F_obs, 4), "\n")
## Statistique F observée : 208.7282
cat("p-valeur :", format(p_val, scientific = TRUE), "\n")
## p-valeur : 4.9019e-13

Interprétation : La p-valeur est très largement inférieure à 0.05 (seuil classique). On rejette \(\mathcal{H}_0\) : le facteur température a un effet significatif sur la durabilité de la peinture. Les différences observées entre les groupes ne sont pas dues au hasard.


Question 2 : Quelle température optimise la durabilité ?

# Moyennes par groupe
cat("Moyennes par température :\n")
## Moyennes par température :
print(round(moyennes, 3))
##       0    22.5    37.5      60 
##  71.222 146.840 145.366  76.214
# Identification de la meilleure modalité
meilleure_temp <- names(which.max(moyennes))
meilleure_moy <- max(moyennes)

cat("\nTemperature optimale :", meilleure_temp, "°C\n")
## 
## Temperature optimale : 22.5 °C
cat("Durabilité moyenne optimale :", round(meilleure_moy, 3), "\n")
## Durabilité moyenne optimale : 146.84
# Intervalle de confiance pour la moyenne de la modalité optimale
n_i <- 5  # nombre de répétitions par modalité
MSE <- res_anova["Residuals", "Mean Sq"]
ddl_res <- res_anova["Residuals", "Df"]
alpha <- 0.05

t_crit <- qt(1 - alpha/2, df = ddl_res)
marge <- t_crit * sqrt(MSE / n_i)

IC_inf <- meilleure_moy - marge
IC_sup <- meilleure_moy + marge

cat("\nIntervalle de confiance à 95% pour la durabilité optimale :\n")
## 
## Intervalle de confiance à 95% pour la durabilité optimale :
cat("[", round(IC_inf, 3), ";", round(IC_sup, 3), "]\n")
## [ 140.7 ; 152.98 ]

Interprétation : La température de 22.5°C est celle qui maximise la durabilité moyenne de la peinture, avec une durabilité moyenne estimée à 146.84. On peut espérer, avec 95% de confiance, une durabilité optimale comprise entre 140.7 et 152.98.


Question 3 : Estimation de \(\sigma^2\) issue du modèle ajusté

# L'estimation de sigma² est la Carré Moyen des Résidus (MSE)
MSE <- res_anova["Residuals", "Mean Sq"]
ddl_res <- res_anova["Residuals", "Df"]

cat("Estimation de sigma² (MSE) :", round(MSE, 4), "\n")
## Estimation de sigma² (MSE) : 41.9456
cat("Degrés de liberté des résidus :", ddl_res, "\n")
## Degrés de liberté des résidus : 16
cat("Estimation de sigma (écart-type résiduel) :", round(sqrt(MSE), 4), "\n")
## Estimation de sigma (écart-type résiduel) : 6.4765

Interprétation : L’estimation de la variance résiduelle \(\hat{\sigma}^2\) (carré moyen des résidus) est de 41.946. Cette valeur représente la variabilité intra-groupe non expliquée par le facteur température. L’écart-type résiduel est $ = $ 6.477.

Vérification des hypothèses du modèle

par(mfrow = c(2, 2))
plot(an_var)
Diagnostic des résidus

Diagnostic des résidus

par(mfrow = c(1, 1))
# Test de normalité des résidus (Shapiro-Wilk)
shapiro.test(residuals(an_var))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(an_var)
## W = 0.94644, p-value = 0.3163
# Test d'homogénéité des variances (Bartlett)
bartlett.test(durabilite ~ temperature, data = donnees)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  durabilite by temperature
## Bartlett's K-squared = 0.12763, df = 3, p-value = 0.9883

Interprétation des tests : Les résidus suivent une loi normale (test de Shapiro-Wilk non significatif) et les variances sont homogènes entre les groupes (test de Bartlett non significatif). Les conditions d’application de l’ANOVA sont vérifiées, ce qui valide l’estimation de \(\sigma^2\).


Question 4 : Test de comparaison par paires (Tukey HSD)

On effectue un test de Tukey HSD (Honest Significant Difference) pour identifier les paires de températures dont les durabilités moyennes sont significativement différentes.

Pour chaque paire \((i, j)\) avec \(i \neq j\) : - \(\mathcal{H}_0\) : \(\mu_i = \mu_j\) - \(\mathcal{H}_1\) : \(\mu_i \neq \mu_j\)

# Test de Tukey HSD
tukey <- TukeyHSD(an_var)
print(tukey)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = durabilite ~ temperature, data = donnees)
## 
## $temperature
##              diff        lwr       upr     p adj
## 22.5-0     75.618  63.898909  87.33709 0.0000000
## 37.5-0     74.144  62.424909  85.86309 0.0000000
## 60-0        4.992  -6.727091  16.71109 0.6244359
## 37.5-22.5  -1.474 -13.193091  10.24509 0.9834641
## 60-22.5   -70.626 -82.345091 -58.90691 0.0000000
## 60-37.5   -69.152 -80.871091 -57.43291 0.0000000
plot(tukey, las = 1)
Intervalles de confiance simultanés - Test de Tukey

Intervalles de confiance simultanés - Test de Tukey

# Extraction des résultats significatifs
res_tukey <- tukey$temperature
sig_paires <- res_tukey[res_tukey[, "p adj"] < 0.05, ]
cat("Paires significativement différentes (alpha = 5%) :\n")
## Paires significativement différentes (alpha = 5%) :
print(round(sig_paires, 4))
##            diff      lwr      upr p adj
## 22.5-0   75.618  63.8989  87.3371     0
## 37.5-0   74.144  62.4249  85.8631     0
## 60-22.5 -70.626 -82.3451 -58.9069     0
## 60-37.5 -69.152 -80.8711 -57.4329     0
cat("\nPaires NON significativement différentes :\n")
## 
## Paires NON significativement différentes :
non_sig <- res_tukey[res_tukey[, "p adj"] >= 0.05, ]
print(round(non_sig, 4))
##             diff      lwr     upr  p adj
## 60-0       4.992  -6.7271 16.7111 0.6244
## 37.5-22.5 -1.474 -13.1931 10.2451 0.9835

Résumé des comparaisons

# Résumé des groupes homogènes
cat("Récapitulatif des moyennes :\n")
## Récapitulatif des moyennes :
df_moyennes <- data.frame(
  Temperature = names(moyennes),
  Moyenne = round(moyennes, 2)
)
print(df_moyennes[order(-df_moyennes$Moyenne), ])
##      Temperature Moyenne
## 22.5        22.5  146.84
## 37.5        37.5  145.37
## 60            60   76.21
## 0              0   71.22

Interprétation :

  • Les comparaisons impliquant 22.5°C vs 0°C, 22.5°C vs 60°C, 37.5°C vs 0°C et 37.5°C vs 60°C sont significativement différentes : les températures intermédiaires donnent une durabilité significativement supérieure aux températures extrêmes.
  • La comparaison 22.5°C vs 37.5°C n’est pas significative : ces deux températures produisent des durabilités statistiquement équivalentes.
  • La comparaison 0°C vs 60°C n’est pas significative : les deux températures extrêmes donnent des durabilités équivalentes (mais faibles).

Informations supplémentaires apportées par le test de Tukey

(a) Sur la relation facteur/réponse

Le test de Tukey précise et affine la relation mise en évidence par l’ANOVA. On identifie que la relation entre température et durabilité n’est pas monotone : il existe des températures intermédiaires (22.5°C et 37.5°C) qui optimisent la durabilité, tandis que les températures extrêmes (0°C et 60°C) sont toutes deux défavorables. L’ANOVA seule ne permettait que de conclure à l’existence d’un effet global ; le test de Tukey permet de localiser précisément les différences.

(b) Sur la modalité optimale

Le test de Tukey confirme que 22.5°C et 37.5°C sont statistiquement équivalentes pour la durabilité. Il n’est donc pas possible de choisir de façon statistiquement fondée entre ces deux températures sur la seule base de la durabilité. Pour optimiser, on retiendrait 22.5°C (légèrement supérieure en moyenne), mais la différence avec 37.5°C n’étant pas significative, d’autres critères (coût, faisabilité, etc.) pourraient guider le choix final.


Conclusion

L’analyse ANOVA à un facteur (température traitée comme qualitative) montre que :

  1. La température a un effet significatif sur la durabilité de la peinture (\(p \ll 0.05\)).
  2. La température de 22.5°C maximise la durabilité moyenne (146.84), avec un IC à 95% de [140.7 ; 152.98].
  3. L’estimation de la variance résiduelle est \(\hat{\sigma}^2 =\) 41.946 (16 degrés de liberté).
  4. Le test de Tukey révèle que 22.5°C et 37.5°C sont équivalentes (et supérieures aux températures extrêmes), ce qui affine la conclusion : les deux températures intermédiaires sont statistiquement indiscernables pour la durabilité.