Contexte Les plans d’échantillonnage pour l’inspection des produits sont des plans d’assurance de la qualité, conçus pour vérifier si le niveau de qualité d’un produit est conforme aux normes requises. Ces méthodes de contrôle qualité sont particulièrement importantes lorsque les produits sont reçus de fournisseurs ou de vendeurs pour lesquels nous n’avons aucune évaluation du niveau de qualité de leur production.

En général, si un fournisseur a établi des procédures de contrôle statistique qui assurent le respect des exigences, il n’est peut-être pas nécessaire de procéder à l’inspection par échantillonnage de ses envois. Toutefois, il pourrait être prudent de vérifier périodiquement le niveau de qualité des fournisseurs certifiés afin de s’assurer qu’il n’y a pas de baisse du niveau de qualité de ces derniers.

Des techniques d’audit de la qualité ou d’inspection par échantillonnage peuvent également être appliquées au sein même d’une organisation à différents stades du processus de fabrication, par exemple, lorsque les lots sont transférés d’un département à un autre.

Si nous choisissons de n’accepter que des lots ne présentant aucun défaut, nous devons inspecter chaque lot complètement, article par article. Cette approche est appelée inspection à 100 %. C’est le cas, par exemple, lorsque les lots sont utilisés dans un système critique ou très coûteux (le spatial par exemple où le coût de l’inspection est négligeable par rapport au coût de l’échec).

D’autre part, il existe de nombreuses situations où l’inspection complète est impossible (ex. : essais destructifs) ou impraticable (en raison des coûts élevés qu’elle implique). Nous sommes donc conduits à prélever des échantillons mais de quelle taille ? avec quels critères d’acceptation/refus ? et quels sont les risques que nous prenons ?

Un exemple Soit un lot de 2000 pièces avec un taux de défectueux de 5%.

Si nous prélevons des échantillons de 20 pièces qu’allons nous constater ? Les probabilités vont nous aider à y voir plus clair :

tableau<-matrix(dhyper(0:5,100,1900,20),nrow = 6)
rownames(tableau)<-c(0:5)
colnames(tableau)<-c("P(X=k)")
tableau
##        P(X=k)
## 0 0.356685979
## 1 0.379251440
## 2 0.189524962
## 3 0.059182516
## 4 0.012950102
## 5 0.002110489

Ce tableau donne les densités de la loi Hypergéométrique (20 tirages sans remise dans un lot de 2000 pièces possédant 100 pièces défectueuses) pour x = 0,1,2,…,5 (nombre de pièces défectueuses dans l’échantillon). En prenant un échantillon au hasard de 20 pièces, nous aurons plus de 1 chance sur 3 (Px(X=0)=0.3567) que celui ci n’ait aucune pièce défectueuse, le lot doit-il pour autant être considéré comme acceptable ? (dans la réalité il a 5% de pièces défectueuses)

Augmentons la taille de notre échantillon et passons à 30 :

tableau<-matrix(dhyper(0:5,100,1900,30),nrow = 6)
rownames(tableau)<-c(0:5)
colnames(tableau)<-c("P(X=k)")
tableau
##       P(X=k)
## 0 0.21217093
## 1 0.34019925
## 2 0.26087394
## 3 0.12739599
## 4 0.04451042
## 5 0.01185045

Pour n= 30 dans 21,2% des cas nous n’avons aucune pièce défectueuse dans nos échantillons.

Pour n=100, il n’y a quasiment aucune chance de trouver un échantillon n’ayant aucune pièce défectueuse, le plus probable est d’en trouver 5 (Pr(X=5)=18,47%) soit 5% de notre échantillon ce qui est justement la fréquence de défectueux du lot entier… mais il se peut très bien que nous tombions sur un échantillon ayant 6 pièces défectueuses (dans 15% des cas) devons nous pour autant refuser le lot ?

tableau<-matrix(dhyper(0:6,100,1900,100),nrow = 7)
rownames(tableau)<-c(0:6)
colnames(tableau)<-c("P(X=k)")
tableau
##        P(X=k)
## 0 0.005173511
## 1 0.028725767
## 2 0.078119103
## 3 0.138705095
## 4 0.180858681
## 5 0.184686272
## 6 0.153820008

Il faut trouver le bon compromis car prélever des échantillons important est coûteux et pas toujours possible, de plus il va falloir décider du taux maximum de défectueux que l’on peut accepter : le NQA (pour Niveau de Qualité Acceptable ou AQL Acceptable Quality Level), en deçà de ce niveau le client trouvera raisonnable d’accepter le lot.

De même il faut décider du niveau inférieur de défectueux que l’on ne peut pas accepter (LQL Limiting Quality Level seuil limite au delà duquel le client rejette le lot).

Ces seuils sont déterminés par un accord commun entre le fournisseur et le client.

Nous voilà à présent face à deux risques :

-Le risque de rejeter un bon lot, c’est-à-dire un lot dont la proportion de défectueux p est pourtant inférieure à AQL, (risque producteur dit de 1ère espèce noté \(\alpha\)).

-Le risque d’accepter un mauvais lot c’est-à-dire un lot pour lequel "\(p\geq LQL\) (risque client dit de seconde espèce noté \(\beta\))

Supposons que la décision soit d’accepter un lot lorsque le nombre \(X\) de non conformes dans l’échantillon n’est pas supérieur à un seuil c, c’est-à-dire \(X\leq c\).

Nous obtenons deux inéquations d’inconnues n (taille de l’échantillon) et c (critère d’acceptation) telles que :

\(Pr(X\leq c) \geq 1-\alpha\) (probabilité d’accepter un lot (avec un AQL fixé) aussi proche que possible de \(1-\alpha\))

\(Pr(X\leq c) \leq \beta\) (probabilité d’accepter un lot (avec un LQL fixé) aussi proche que possible de \(\beta\))

Ceci demande des calculs fastidieux (à moins d’approcher la loi hypergéométrique par une loi normale), c’est là que va intervenir \(\mathbf{R}\) avec sa librairie AcceptanceSampling et la fonction find.plan

library(AcceptanceSampling)
AQL<-0.05
LQL<-0.15
alpha<-0.05
beta<-0.10
find.plan(PRP = c(AQL,1-alpha),CRP=c(LQL,beta),type = "hypergeom",N=2000)
## $n
## [1] 68
## 
## $c
## [1] 6
## 
## $r
## [1] 7

Après avoir renseigné les différents paramètres (AQL=5%, LQL=15%, \(\alpha\)=5%, \(\beta\)=10%), le premier argument de find.plan est le PRP (Producer risk Point), le deuxième argument est le CRP (Consummer risk point), type=“hypergeom” spécifie la distribution de probabilité utilisée et enfin le dernier argument donne la taille du lot N=2000.

Le résultat donne une taille d’échantillon n=68, un critère c d’acceptation de 6 et un critère de rejet r de 7.

Le code suivant va générer la courbe d’efficacité (Operating Characteristic Curve). Cette fonction, donne la probabilité d’accepter un lot ayant une proportion p d’articles défectueux :

plan<-OC2c(n=68,c=6,type="hypergeom",N=2000,pd=seq(0,0.2,0.001))
plot(plan,type="l")

Enfin le code suivant indique à quel point les risques producteur/consommateur pour ce plan sont proches de ceux exigés :

assess(OC2c(n = 68,c = 6),PRP = c(AQL,1-alpha),CRP = c(LQL,beta))
## Acceptance Sampling Plan (binomial)
## 
##                Sample 1
## Sample size(s)       68
## Acc. Number(s)        6
## Rej. Number(s)        7
## 
## Plan CANNOT meet desired risk point(s):
## 
##            Quality   RP P(accept) Plan P(accept)
## PRP           0.05           0.95     0.94690129
## CRP           0.15           0.10     0.09899063

Quelques références :

-AcceptanceSampling Kiermeier A (2008). “Visualizing and Assessing Acceptance Sampling Plans: The R Package AcceptanceSampling.” Journal of Statistical Software, 26(6), http://www.jstatsoft.org/v26/i06/.

-Mistat Amberti D (2012). mistat: Data sets, functions and examples from the book: “Modern Industrial Statistics” by Kenett, Zacks and Amberti.

-Ishikawa, K. (1986) La gestion de la qualité Dunod entreprise (1990)