Nous avons \(a=2\) appareils de mesure \(i=1,2\) (voltmètre facteur A “the appraisers”) et \(b=3\) types de batteries \(j=1,2,3\) (facteur B ou “parts” en anglais).
Le voltage des batteries est mesuré avec chaque voltmètre \(R=3\) fois, soit \(a\times b\times R=18\) mesures.
a<-2
b<-3
R<-3
Voici nos données :
voltmeter<-rep(1:2,each=9)
battery<-rep(rep(1:3,each=3),2)
run<-rep(1:3,6)
voltage<-c(1.4727,1.4206,1.4754,1.5083,1.5739,
1.4341,1.5517,1.5483,1.4614,1.3337,
1.6078,1.4767,1.4066,1.5951,1.8419,
1.7087,1.8259,1.5444)
batteries<-data.frame(voltmeter,battery,run,voltage)
batteries
## voltmeter battery run voltage
## 1 1 1 1 1.4727
## 2 1 1 2 1.4206
## 3 1 1 3 1.4754
## 4 1 2 1 1.5083
## 5 1 2 2 1.5739
## 6 1 2 3 1.4341
## 7 1 3 1 1.5517
## 8 1 3 2 1.5483
## 9 1 3 3 1.4614
## 10 2 1 1 1.3337
## 11 2 1 2 1.6078
## 12 2 1 3 1.4767
## 13 2 2 1 1.4066
## 14 2 2 2 1.5951
## 15 2 2 3 1.8419
## 16 2 3 1 1.7087
## 17 2 3 2 1.8259
## 18 2 3 3 1.5444
En toute rigueur nous devrions vérifier que :
les échantillons sont issus d’une population normale
les variances conditionnelles (variances dans chaque sous-population) sont identiques : homoscédasticité
les sous-échantillons sont indépendants
Néanmoins en pratique l’ANOVA est assez robuste.
Soit \(x_{ijr}\) l’observation numéro \(r\) dans l’échantillon \(E_{ij}\) où \((i,j)\in \left \{ 1,2 \right \} \times \left \{ 1,2,3 \right \}\)
On a :
\(\overline{x}_{ij}=\frac{1}{3}\sum_{r=1}^{3}x_{ijr}\)
Que nous pouvons obtenir par :
with(batteries, tapply(voltage, list(voltmeter, battery), mean))->mat_Xbar_ij
rownames(mat_Xbar_ij)<-c("vol1","vol2")
colnames(mat_Xbar_ij)<-c("bat1","bat2","bat3")
mat_Xbar_ij
## bat1 bat2 bat3
## vol1 1.456233 1.505433 1.520467
## vol2 1.472733 1.614533 1.693000
Les moyennes marginales sont :
\(\overline{x}_{i.}=\frac{1}{3}\sum_{j=1}^{3} \overline{x}_{ij}\)
\(\overline{x}_{.j}=\frac{1}{2}\sum_{i=1}^{2} \overline{x}_{ij}\)
Que nous obtenons avec les commandes :
(xbar_i.<-apply(mat_Xbar_ij,1,mean))
## vol1 vol2
## 1.494044 1.593422
(xbar_.j<-apply(mat_Xbar_ij,2,mean))
## bat1 bat2 bat3
## 1.464483 1.559983 1.606733
et la moyenne générale \(\overline {\overline{X}} :\)
(xbarbar<-mean(batteries$voltage))
## [1] 1.543733
\(H_{0} : \mu_{i.}=\mu ,\; \forall \; i\)
\(H_{0} : \mu_{.j}=\mu , \; \forall \; j\)
\(H_{0} : \mu_{ij}=\mu ,\; \forall \; i,j\)
Décomposition de la moyenne :
\(x_{ijr}-\overline {\overline{X}}=(\overline{x}_{i.}-\overline {\overline{X}})+(\overline{x}_{.j}-\overline {\overline{X}})+(\overline{x}_{ij}-\overline{x}_{i.}-\overline{x}_{.j}+\overline {\overline{X}})+(x_{ijr}-\overline{x}_{ij})\)
D’où :
\[ \begin{matrix}SCT & = &SCE_{A} & + & SCE_{B} & + & SCE_{AB} & + &SCR \\ \sum_{i=1}^{a}\sum_{j=1}^{b}\sum_{r=1}^{R}\left ( x_{ijr}-\overline {\overline{X}} \right )^{2}& = & \sum_{i=1}^{a}(\overline{x}_{i.}-\overline {\overline{X}})^{2}\times b\times R & + & \sum_{j=1}^{b}(\overline{x}_{.j}-\overline {\overline{X}})^{2}\times a\times R & + & SCE_{AB} & + & \sum_{i=1}^{a}\sum_{j=1}^{b}\sum_{r=1}^{R}(x_{ijr}-\overline{x}_{ij})^{2}\end{matrix} \]
Calculons ces termes :
(SCT<-sum((batteries$voltage-xbarbar)^2))
## [1] 0.315817
(SCE_A<-sum((xbar_i.-xbarbar)^2)*b*R)
## [1] 0.04444174
(SCE_B<-sum((xbar_.j-xbarbar)^2)*a*R)
## [1] 0.06308175
temp<-NULL
for (i in 1:2) {
for (j in 1:3){
temp<-c(temp,(mat_Xbar_ij[i,j]-xbar_i.[i]-xbar_.j[j]+xbarbar)^2)
}
}
(SCE_AB<-sum(temp)*3)
## [1] 0.01847247
temp<-NULL
for (i in 1:2) {
for (j in 1:3){
for (k in 1:3){
temp<-c(temp,(batteries[batteries$voltmeter==i & batteries$battery==j & batteries$run==k,]$voltage-mat_Xbar_ij[i,j])^2)
}
}
}
(SCR<-sum(temp))
## [1] 0.1898211
Le tableau ci-dessous résume ces résultats, pour les moyennes des carrés il suffit de diviser les Sommes des Carrés par leurs degrés de liberté :
(nous pouvons utiliser des acronymes anglais ou français ainsi SSE et SCR sont identiques ainsi que MSE et MCR)
Tout ceci est assez fastidieux, heureusement avec R tous ces termes se retrouvent très facilement :
result<-anova(lm(voltage~battery+voltmeter+battery*voltmeter,
data = batteries))
result
## Analysis of Variance Table
##
## Response: voltage
## Df Sum Sq Mean Sq F value Pr(>F)
## battery 2 0.063082 0.031541 1.9939 0.1788
## voltmeter 1 0.044442 0.044442 2.8095 0.1195
## battery:voltmeter 2 0.018472 0.009236 0.5839 0.5728
## Residuals 12 0.189821 0.015818
Décomposition de la variabilité :
La répétabilité, \(\sigma^{2}_{repeatability}=\frac{SCR}{ab(R-1)}\) est obtenue directement comme le “Residuals Mean Sq” de la 4ème ligne:
result$`Mean Sq`[4]
## [1] 0.01581842
La variabilité due au voltmètre (ou Appraiser) \(\sigma^{2}_{Appraisers}=\frac{MSA-MSAB}{b\times R}\) est :
(result$`Mean Sq`[2]-result$`Mean Sq`[3])/(b*R)
## [1] 0.003911723
La variabilité due à l’interaction Batterie-Voltmètre, \(\sigma^{2}_{Interaction}=\frac{MSAB-MSE}{R}=\frac{MSAB-\sigma^{2}_{repeatability}}{R}\) est :
(result$`Mean Sq`[3]-result$`Mean Sq`[4])/R
## [1] -0.002194062
(cette valeur étant négative nous prendrons zéro)
La reproductibilité, \(\sigma^{2}_{reproducibility}=\sigma^{2}_{Appraisers}+\sigma^{2}_{Interaction}\) est alors : 0.003911723
Le gage R&R, mesure la variabilité provoquée par le système de mesure, que nous comparerons ensuite à la variabilité totale.
\(\sigma^{2}_{R\&R}=\sigma^{2}_{repeatability}+\sigma^{2}_{reproducibility}\), prend la valeur :
result$`Mean Sq`[4]+(result$`Mean Sq`[2]-result$`Mean Sq`[3])/(b*R)
## [1] 0.01973015
La variation due au processus, \(\sigma^{2}_{Part \; to \;Part}=\frac{MSB-MSAB}{a\times R}\) :
(result$`Mean Sq`[1]-result$`Mean Sq`[3])/(2*3)
## [1] 0.00371744
Enfin, la variabilité totale \(\sigma^{2}_{Totale}=\sigma^{2}_{R\&R}+\sigma^{2}_{Part \; to \;Part}\) :
result$`Mean Sq`[4]+(result$`Mean Sq`[2]-result$`Mean Sq`[3])/(3*3)+(result$`Mean Sq`[1]-result$`Mean Sq`[3])/(2*3)
## [1] 0.02344759
Pour qu’un système de mesure soit précis, la contribution de la variabilité du Gage R&R ne doit pas dépasser 10% de la variabilité totale.
\(\%Gage \;R\&R=\frac{\sigma_{R\&R}}{\sigma_{Totale}}<10\%\)
Une valeur comprise entre 10 et 30% peut être acceptable.
Une valeur supérieure à 30% représente un mauvais système de mesure.
Dans notre exemple, nous avons :
sqrt(result$`Mean Sq`[4]+(result$`Mean Sq`[2]-result$`Mean Sq`[3])/(3*3))/sqrt(result$`Mean Sq`[4]+(result$`Mean Sq`[2]-result$`Mean Sq`[3])/(3*3)+(result$`Mean Sq`[1]-result$`Mean Sq`[3])/(2*3))
## [1] 0.9173099
Ce qui signifie que la plus grande partie de la variation du processus est due à la variabilité du système de mesure.
library(SixSigma)
gage_rr<-ss.rr(var = voltage,part = battery,appr = voltmeter,data = batteries,main = "Six Sigma Gage R&R Measure",sub = "Batteries Projet MSA")
## Complete model (with interaction):
##
## Df Sum Sq Mean Sq F value Pr(>F)
## battery 2 0.06308 0.03154 3.415 0.227
## voltmeter 1 0.04444 0.04444 4.812 0.160
## battery:voltmeter 2 0.01847 0.00924 0.584 0.573
## Repeatability 12 0.18982 0.01582
## Total 17 0.31582
##
## alpha for removing interaction: 0.05
##
##
## Reduced model (without interaction):
##
## Df Sum Sq Mean Sq F value Pr(>F)
## battery 2 0.06308 0.03154 2.120 0.157
## voltmeter 1 0.04444 0.04444 2.987 0.106
## Repeatability 14 0.20829 0.01488
## Total 17 0.31582
##
## Gage R&R
##
## VarComp %Contrib
## Total Gage R&R 0.018162959 86.74
## Repeatability 0.014878111 71.05
## Reproducibility 0.003284848 15.69
## voltmeter 0.003284848 15.69
## Part-To-Part 0.002777127 13.26
## Total Variation 0.020940086 100.00
##
## StdDev StudyVar %StudyVar
## Total Gage R&R 0.13477002 0.8086201 93.13
## Repeatability 0.12197586 0.7318552 84.29
## Reproducibility 0.05731359 0.3438816 39.61
## voltmeter 0.05731359 0.3438816 39.61
## Part-To-Part 0.05269846 0.3161907 36.42
## Total Variation 0.14470690 0.8682414 100.00
##
## Number of Distinct Categories = 1
gage_rr
## $anovaTable
## Df Sum Sq Mean Sq F value Pr(>F)
## battery 2 0.06308 0.03154 3.415 0.227
## voltmeter 1 0.04444 0.04444 4.812 0.160
## battery:voltmeter 2 0.01847 0.00924 0.584 0.573
## Repeatability 12 0.18982 0.01582
## Total 17 0.31582
##
## $anovaRed
## Df Sum Sq Mean Sq F value Pr(>F)
## battery 2 0.06308 0.03154 2.120 0.157
## voltmeter 1 0.04444 0.04444 2.987 0.106
## Repeatability 14 0.20829 0.01488
## Total 17 0.31582
##
## $varComp
## VarComp %Contrib
## Total Gage R&R 0.018162959 86.74
## Repeatability 0.014878111 71.05
## Reproducibility 0.003284848 15.69
## voltmeter 0.003284848 15.69
## Part-To-Part 0.002777127 13.26
## Total Variation 0.020940086 100.00
##
## $studyVar
## StdDev StudyVar %StudyVar %Tolerance
## Total Gage R&R 0.13477002 0.8086201 93.13 NA
## Repeatability 0.12197586 0.7318552 84.29 NA
## Reproducibility 0.05731359 0.3438816 39.61 NA
## voltmeter 0.05731359 0.3438816 39.61 NA
## Part-To-Part 0.05269846 0.3161907 36.42 NA
## Total Variation 0.14470690 0.8682414 100.00 NA
##
## $ncat
## [1] 1
setwd("D:/OneDrive - CFAI Centre/Bachelor/R&R")
dd<-read.csv("https://sjaubert.github.io/SPCR/Bachelor_RR.csv",header = T,dec = ".",sep = ";")
Représentation visuelle des données par opérateurs :
library(ggplot2)
ggplot(dd, aes(y=mesure, x=operateur,colour=operateur ,fill=operateur))+
geom_boxplot(alpha=0.5, outlier.alpha=0)+
geom_jitter(width=0.2)+
theme_classic()+geom_violin()
library(SixSigma)
gage_rr<-ss.rr(var = mesure,part = part,appr = operateur,data = dd,main = "Six Sigma Gage R&R Measure",sub = "diamètre de niveau à bulle")
## Complete model (with interaction):
##
## Df Sum Sq Mean Sq F value Pr(>F)
## part 9 0.02510 0.002789 1.797 0.0902
## operateur 6 0.07361 0.012269 7.905 3.91e-06
## part:operateur 54 0.08381 0.001552 0.846 0.7380
## Repeatability 70 0.12845 0.001835
## Total 139 0.31098
##
## alpha for removing interaction: 0.05
##
##
## Reduced model (without interaction):
##
## Df Sum Sq Mean Sq F value Pr(>F)
## part 9 0.02510 0.002789 1.629 0.114
## operateur 6 0.07361 0.012269 7.167 1.41e-06
## Repeatability 124 0.21226 0.001712
## Total 139 0.31098
##
## Gage R&R
##
## VarComp %Contrib
## Total Gage R&R 2.239671e-03 96.68
## Repeatability 1.711809e-03 73.89
## Reproducibility 5.278619e-04 22.79
## operateur 5.278619e-04 22.79
## Part-To-Part 7.693996e-05 3.32
## Total Variation 2.316611e-03 100.00
##
## StdDev StudyVar %StudyVar
## Total Gage R&R 0.047325159 0.28395096 98.33
## Repeatability 0.041374011 0.24824406 85.96
## Reproducibility 0.022975246 0.13785148 47.73
## operateur 0.022975246 0.13785148 47.73
## Part-To-Part 0.008771543 0.05262926 18.22
## Total Variation 0.048131182 0.28878709 100.00
##
## Number of Distinct Categories = 1