Limites du graphique de contrôle en pourcentage de la moyenne réelleChère communauté,
Je travaille dans l'industrie pharmaceutique et je souhaite construire une carte de contrôle selon la directive de la pharmacopée EP 2.9.5.
Le test est le suivant :
- poids 20 comprimés
- pas plus de 2 ne devraient s'écarter de plus de 7,5 % de la moyenne observée
- aucun ne doit s'écarter de plus de 15 % de la moyenne observée
Existe-t-il un moyen de définir la limite dans le graphique de contrôle à 7,5 % de la moyenne et à 15 % de la moyenne au lieu de la baser sur sigma ?
Je sais qu'en tant que substitut, je peux normaliser les données à 100 % et ajouter une ligne de référence fixe dans le générateur de graphiques, mais je préfère conserver les données d'origine non normalisées pour visualiser également l'écart par rapport à 100 % (cible).

Merci pour votre soutien,
Clément
Exploration et visualisation des donnéesIngénierie de la qualité et des procédésRé : Limites du graphique de contrôle en pourcentage de la moyenne réelleVous pouvez également créer ce type de lignes « groupées » dans Graph Builder en utilisant par exemple Col Mean et Col Std Dev pour calculer ces statistiques sur les groupes.
Ré : Limites du graphique de contrôle en pourcentage de la moyenne réellePour définir des limites de spécification à +/- 15 % de la moyenne, utilisez le script suivant comme exemple. Cela vous permettra de vérifier et de signaler facilement tout point supérieur à 15 %.
// Based on txnelson's post from Nov 9, 2023.
// The usual frontmatter:
Open( "$SAMPLE_DATA/Quality Control/Diameter.jmp" );
Names Default To Here( 1 );
dt = Current Data Table();
// Change column property: DIAMETER
theMean = Col Mean(:DIAMETER);
Eval(
Substitute(
Expr(
dt:DIAMETER << set property(
"Spec Limits",
{LSL( _LSL_ ),
//Target( _Target_ ),
USL( _USL_ ),
Show Limits( 1 )}
)
),
Expr( _LSL_ ), 0.85*theMean,
//Expr( _Target_ ), theMean,
Expr( _USL_ ), 1.15*theMean
)
);
Vérifier simultanément les points au-delà de 7,5 % et ceux au-delà de 15 % est un peu plus complexe. Une solution consiste à définir 7,5 % comme « sigma historique » du processus. Vous pouvez ensuite utiliser les fonctions d'avertissement intégrées du générateur de cartes de contrôle pour vérifier les points au-delà de 1 et 2 sigma, respectivement.
Définissez 7,5 % de la moyenne comme sigma « historique » à l'aide de l'option Triangle rouge -> Définir le sigma. Vous pouvez ensuite faire un clic droit sur le graphique, sélectionner Avertissements -> Personnaliser les tests et modifier le test 1 pour détecter les points supérieurs à 1 sigma (ou créer un script pour ces étapes comme indiqué ci-dessous).
Ensuite, définissez KSigma sur 2, et désormais Test Beyond Limits vérifiera également les points au-delà de 15 %.
Ce n’est généralement pas ainsi que les cartes de contrôle sont utilisées, mais cela ferait l’affaire.
Pour ce faire, ajoutez ceci au script ci-dessus :
// Control chart builder with manually set historical sigma
Eval(
Substitute(
Expr(
Control Chart Builder(
Variables( Y( :DIAMETER ) ),
Set Sigma( _sigma_ ),
K Sigma( 2 ),
Customize Tests( Test 1( 1, "1" ) ),
Chart( Position( 1 ), Limits( Spec Limits( 1 ) ) )
);
),
Expr( _sigma_ ), 0.075*theMean,
)
);
Ré : Limites du graphique de contrôle en pourcentage de la moyenne réellePour être clair, ce que vous essayez de faire n'est pas une carte de contrôle . Les limites d'une carte de contrôle n'ont rien à voir avec les spécifications, qui découlent indépendamment de la variation réelle du processus. Réagir à une spécification comme si elle était attribuable ou avait une cause particulière augmentera probablement la variabilité à long terme (voir Deming et Shewhart).
Cela ne signifie pas que vous ne pouvez pas tracer des données par rapport aux spécifications, mais ce n'est pas un graphique de contrôle et vous devrez être prudent dans votre réaction à ces limites.
Ré : Limites du graphique de contrôle en pourcentage de la moyenne réelleJ'ai essayé de le faire dans le générateur de graphiques et je suis allé jusque-là (je n'ai pas réussi dans la plate-forme de graphiques de contrôle).
J'ai créé 5 nouvelles colonnes :
- Moyenne par catégorie
- T2 nég = :moyenne par catégorie*0,85
- T2 pos = :moyenne par catégorie*1,15
- T1 neg = :moyenne par catégorie*0,925
- T1 pos = :moyenne par catégorie*1,075
Ensuite, j'ai utilisé le script suivant
Graph Builder(
Spacing Borders( 1 ),
Variables(
Y( :Weight in % of target ),
Y( :T2 neg, Position( 1 ) ),
Y( :T2 pos, Position( 1 ) ),
//Y( :T1 neg, Position( 1 ) ),
//Y( :T1 pos, Position( 1 ) ),
Group X( :"Concatenate[Batch,Tray]"n )
),
Elements(
Points( Y( 1 ) ),
Line( Y( 2 ) ),
Line( Y( 3 ) ),
//Line(Y( 4 )),
//Line(Y( 5 ))
)
);
*Remarque : JSL a été déplacé dans JSL Box par txnelson
Avec seulement deux lignes activées, cela fonctionne bien :

mais quand j'active les quatre lignes (en supprimant le // dans le script), j'obtiens un graphique étrange :

Une idée ?
Ré : Limites du graphique de contrôle en pourcentage de la moyenne réellePeut-être que l'axe Y est regroupé comme JMP peut le faire lorsque vous avez plusieurs colonnes sur l'axe Y

Graph Builder(
Size(788, 927),
Variables(
Y(:NPN1, Combine("Merged")),
Y(:neg1, Position(1), Combine("Merged")),
Y(:pos1, Position(1), Combine("Merged")),
Y(:neg2, Position(1), Combine("Merged")),
Y(:pos2, Position(1), Combine("Merged")),
Group X(:wafer)
),
Elements(Points(Y(1), Legend(40)), Line(Y(2), Y(3), Y(4), Y(5), Legend(41))),
SendToReport(
Dispatch({"Points"}, "", OutlineBox, {Close(0)}),
Dispatch({"Line"}, "", OutlineBox, {Close(0)})
)
);Ré : Limites du graphique de contrôle en pourcentage de la moyenne réelleParfait, merci à tous pour les réponses.
Ça marche très bien.
Passe une bonne journée.
Clément