Carte de contrôle (Control Chart)

Pour suivre les dérèglements potentiels d'une chaîne de fabrication, il faut pouvoir réaliser des contrôles régulier en prélevant des échantillons dont les caractéristiques sont à rattacher à des seuils de sécurité (de contrôle et surveillance).

Il est possible de faire une carte de contrôle (Control Chart) avec le package qcc mais il est certainement plus simple de la tracer soi-même selon le formet de son choix.

source externe : capabilité - carte de contrôle

Réaliser une carte de contrôle

Carte de contrôle avec le logiciel R

Télécharger le script complet ici.

  1. Préparer les informations nécessaires utiles à la réalisation de la carte de contrôle
# Valeur recherchée     
valeur_standard = 44 # taille des pièces recherchée
# grand ensemble d'échantillon permettant la réalisation de la carte (détermination des seuils de contrôle et de surveillance)
population_preliminaire = rnorm(100, mean = 44, sd = 3) 
# Réaliser un test de Shapiro afin de vérifier que les données suivent la loi normale (si non, impossible de faire une carte de contrôle classique)
shapiro.test(population_preliminaire) # si p-value <0.1 - Hypothèse nulle (correspondance avec la loi normale) rejetée.
# Si p-value > 0.1, on peut construire la carte de contrôle
  1. Calculer les valeurs seuils de surveillance et de contrôle
# Limites
LCS = valeur_standard+3*sd(population_preliminaire) # limite de contrôle supérieure
LCI = valeur_standard-3*sd(population_preliminaire) # limite de contrôle inférieure
LSS = valeur_standard+2*sd(population_preliminaire) # limite de surveillance supérieure 
LSI = valeur_standard-2*sd(population_preliminaire) # limite de surveillance inférieure 
lim_sup = valeur_standard+5*sd(population_preliminaire) # non officiel mais permet de limiter l'affichage de la carte
lim_inf = valeur_standard-5*sd(population_preliminaire) # non officiel mais permet de limiter l'affichage de la carte
  1. Préparation d'un échantillon qui sera contrôlé par son ajout sur la carte de contrôle
echantillon = population_preliminaire[20:34]
dates = as.POSIXct(c("2015-01-27","2015-01-28","2015-01-31","2015-02-03","2015-02-05","2015-02-12","2015-02-13","2015-02-14","2015-02-15","2015-02-17","2015-02-18","2015-02-19","2015-02-20","2015-02-23","2015-02-26"))
dates = strptime(dates, "%Y-%m-%d") 
  1. Tracer la carte de contrôle
plot(dates,echantillon , ylim = c(lim_inf,lim_sup),las=2, xlab="", pch=4,cex=1.2,lwd=2,axes=F,ylab="Mesures (unités)")
# Ajouter l'axe gradué du temps
axis.POSIXct(1, at=seq(from=min(dates), to=max(dates), by="day"), format="%m-%d", las=2)
axis(2)
# Tracer les polygones qui colorent les zones (optionnel)
polygon(x=c(min(dates)-20000,max(dates)+20000,max(dates)+20000,min(dates)-20000),y=c(lim_inf,lim_inf,lim_sup,lim_sup),col="#F5A9A9CC",border=NA)
polygon(x=c(min(dates)-20000,max(dates)+20000,max(dates)+20000,min(dates)-20000),y=c(LCI,LCI,LCS,LCS),col="#F7D358CC",border=NA)
polygon(x=c(min(dates)-20000,max(dates)+20000,max(dates)+20000,min(dates)-20000),y=c(LSI,LSI,LSS,LSS),col="#82FA58CC",border=NA)
points(dates,echantillon,pch=4,cex=1.2,lwd=2) # Afin de remettre les points par-dessus les polygones
# Ajouter les droites qui limitent les zones
abline(h=valeur_standard, col="black")
abline(h=c(LSI,LSS), col="black", lty=3)
abline(h=c(LCI,LCS), col="black", lty=2)

Remarque importante : il est impératif de contrôler un certain nombre d'échantillons dans une démarche qualité en tenant compte du fait qu'on ne peut pas contrôler le même nombre d'échantillons si le contrôle est destructif. (cf. http://legifrance.gouv.fr/affichTexte.do?cidTexte=LEGITEXT000006069378)

Autre remarque importante : il est aussi fondamental d'indiquer la capabilité dans le commentaire qui accompagne la carte de contrôle afin de déterminer dans quelle mesure la variabilité du procédé risque de faire sortir la production des exigences attendues.