spc

maChart

##set_spc

Description

L'action (issue de l'ensemble d'actions 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é.) produit des cartes de contrôle à moyenne mobile uniformément pondérée. C'est l'outil statistique idéal pour détecter de petites variations ou de légers décalages dans un processus au fil du temps. Une vraie loupe analytique pour ne rien laisser passer !

Syntaxe Officielle
proc cas;
spc.maChart /
allN=TRUE | FALSE
asymptotic=TRUE | FALSE
chartsTable={name="nom_table", caslib="nom_caslib", replace=TRUE}
display={names={"table1"}}
exChart=TRUE | FALSE
groupByLimit=entier
limitN=entier
limitsTable={name="nom_table"}
outLimitsTable={name="nom_table", replace=TRUE}
outputTables={names={"table1"}}
processName="nom_variable"
processValue="nom_variable"
sigmas=double
sMethod="RMSDF" | "SMVLUE" | "SNOWEIGHT"
span=entier
subgroupName="nom_variable"
subgroupValue="nom_variable"
table={name="nom_table", caslib="nom_caslib"};
run;
quit;

Paramètres Clés

Nom du paramètre Description
table Spécifie la table d'entrée contenant vos données brutes à analyser. (Paramètre obligatoire)
processValue La variable contenant les mesures de votre processus. Par défaut, l'action cherche une variable nommée 'process'.
subgroupValue La variable qui identifie vos sous-groupes (par exemple, le temps, une date ou un numéro de lot). Par défaut, le nom attendu est 'subgroup'.
span Définit le nombre de sous-groupes consécutifs à utiliser pour calculer la moyenne mobile. Plus la valeur est élevée, plus la courbe résultante sera lissée.
sigmas Définit la largeur des limites de contrôle en tant que multiple de l'erreur standard (écart-type). La valeur par défaut est de 3.
sMethod La méthode mathématique pour estimer l'écart-type du processus. Les options sont (par défaut, non pondéré), (racine carrée moyenne pondérée) ou (estimation linéaire non biaisée à variance minimale).
chartsTable Spécifie la table de sortie CAS dans laquelle le résumé des statistiques de la carte de contrôle sera sauvegardé.
outLimitsTable Spécifie la table de sortie CAS dans laquelle les limites de contrôle calculées seront sauvegardées.

Préparation des données

Création d'un jeu de données de processus fictif

Créons une table CAS contenant 20 sous-groupes, avec 5 observations générées aléatoirement par sous-groupe, pour simuler un processus de fabrication industriel.

1DATA mycas.process_data;
2 call streaminit(12345);
3 DO subgroup = 1 to 20;
4 DO i = 1 to 5;
5 process = 10 + rand("Normal");
6 OUTPUT;
7 END;
8 END;
9 drop i;
10RUN;

Exemples d'utilisation

Génération d'une carte à moyenne mobile simple

Ce code calcule une moyenne mobile simple en s'appuyant sur des fenêtres de 3 intervalles (%%span=3%%). L'action lit les mesures de processus et groupe les données, puis stocke le résultat lissé dans la table %%machart_summary%%.

1PROC CAS;
2 spc.maChart /
3 TABLE={name="process_data"}
4 processValue="process"
5 subgroupValue="subgroup"
6 span=3
7 chartsTable={name="machart_summary", replace=TRUE};
8RUN;
9QUIT;
Résultat Attendu :
L'action s'exécute avec succès et génère la table 'machart_summary' contenant les valeurs de la moyenne mobile lissées sur 3 périodes pour chaque sous-groupe.
Carte MA personnalisée avec extraction des limites de contrôle

Dans cet exemple plus avancé, nous personnalisons la largeur des limites de contrôle (%%sigmas=2.5%%) pour les rendre plus strictes. Nous utilisons également une estimation de la variance de type %%RMSDF%% et nous exportons les limites statistiques dans une table CAS dédiée.

1PROC CAS;
2 spc.maChart /
3 TABLE={name="process_data"}
4 processValue="process"
5 subgroupValue="subgroup"
6 span=4
7 sigmas=2.5
8 sMethod="RMSDF"
9 outLimitsTable={name="machart_limits", replace=TRUE}
10 chartsTable={name="machart_details", replace=TRUE};
11RUN;
12QUIT;
Résultat Attendu :
L'action calcule des limites de contrôle à 2.5 écarts-types via la méthode RMSDF et les sauvegarde dans 'machart_limits'. Les données lissées sur un span de 4 sont enregistrées dans 'machart_details'.