spc

mrChart

##set_spc

Description

L'action `mrChart` (de l'ensemble `spc` pour Statistical Process ControlMéthode statistique de pilotage de la qualité consistant à surveiller un processus via des cartes de contrôle pour réduire la variabilité et garantir sa stabilité et sa conformité.) permet de générer des cartes de contrôle basées sur la médianeValeur centrale divisant une série de données ordonnées en deux groupes égaux (50 % au-dessus, 50 % en dessous). Contrairement à la moyenne, elle est robuste face aux valeurs aberrantes. et l'étendue (cartes MR) d'un processus. C'est l'outil rêvé pour surveiller la tendance centrale et la variabilité de vos sous-groupes (et vérifier rapidement que votre processus ne part pas en vrille !). Vous pouvez paramétrer la méthode d'estimation via des options avancées et extraire ou appliquer des personnalisées.

Syntaxe Officielle
proc cas;
spc.mrChart /
table={name="nom_table_entree"}
processValue="variable_mesure"
subgroupValue="variable_groupe"
chartsTable={name="table_sortie_graphes", replace=true}
medCentral="AVGMED"
sigmas=3;
run;
quit;

Paramètres Clés

Nom du paramètre Description
table Paramètre requis. Spécifie la table CAS en entrée contenant vos données de processus.
processValue Nom de la variable qui contient les mesures individuelles du processus que vous souhaitez analyser.
subgroupValue Nom de la variable qui identifie l'appartenance à un sous-groupe (comme un lot, une date ou un identifiant d'équipe).
chartsTable Spécifie le nom de la table CAS de sortie qui contiendra les données résumées des cartes (points tracés, limites, etc.).
medCentral Définit la méthode d'estimation de la moyenne du processus. Les options sont 'AVGMEAN' (moyenne des moyennes), 'AVGMED' (moyenne des médianes, par défaut), ou 'MEDMED' (médiane des médianes).
primaryTests / secondaryTests Permet d'activer des tests statistiques spécifiques (test1 à test8) pour repérer des causes spéciales de variation (ex: 9 points consécutifs d'un même côté).
outLimitsTable Crée une table contenant les limites de contrôle calculées, très pratique pour les appliquer plus tard sur de nouvelles données via le paramètre 'limitsTable'.

Préparation des données

Génération de données de contrôle qualité

Créons une table de mesures de pièces produites sur une ligne d'assemblage, divisée en 20 lots de 5 échantillons. On y insère un petit défaut au niveau du lot 15 pour s'amuser un peu.

1DATA mycas.production;
2 call streaminit(42);
3 DO Lot = 1 to 20;
4 DO Echantillon = 1 to 5;
5 Mesure = 100 + rand('Normal') * 2.5;
6 /* Introduction d'une anomalie sur le lot 15 */
7 IF Lot = 15 THEN Mesure = Mesure + 6;
8 OUTPUT;
9 END;
10 END;
11RUN;

Exemples d'utilisation

Création d'une carte MR standard

Ce code analyse la variable 'Mesure' groupée par 'Lot'. Il calcule les limites de contrôle standards à 3 sigmas et enregistre les statistiques de la carte dans une table CAS.

1PROC CAS;
2 spc.mrChart /
3 TABLE={name="production"}
4 processValue="Mesure"
5 subgroupValue="Lot"
6 chartsTable={name="resultats_mr", replace=true};
7RUN;
8QUIT;
Résultat Attendu :
Une table CAS nommée 'resultats_mr' est créée, contenant les médianes et étendues par sous-groupe, les lignes centrales et les limites de contrôle. L'anomalie du lot 15 devrait y être visible si on la trace par la suite.
Analyse rigoureuse avec tests de causes spéciales

Ici, on sort l'artillerie lourde de qualiticien : on estime la tendance centrale avec la médiane des médianes (`MEDMED`), on lance les tests de règles Nelson (test1 pour les points hors limites, test2 pour 9 points consécutifs) et on sauvegarde à la fois les résumés et les limites de contrôle.

1PROC CAS;
2 spc.mrChart /
3 TABLE={name="production"}
4 processValue="Mesure"
5 subgroupValue="Lot"
6 medCentral="MEDMED"
7 primaryTests={test1=true, test2=true}
8 secondaryTests={test1=true}
9 outLimitsTable={name="limites_sauvegardees", replace=true}
10 chartsTable={name="analyse_detaillee", replace=true};
11RUN;
12QUIT;
Résultat Attendu :
L'action génère deux tables : 'limites_sauvegardees' contenant les limites structurelles du procédé, et 'analyse_detaillee' affichant les points du graphique en incluant des variables drapeaux (flags) qui s'activeront sur le lot 15 pour cause d'anomalie statistique (détectée par le test1).