Salut. J'ai écrit des scripts pour automatiser la visualisation des distributions, l'ajustement des distributions et le reporting cpk. Je viens d'en terminer un long et j'ai vraiment trouvé beaucoup de disparités dans la façon dont les noms de certaines distributions doivent être utilisés. Cela a nécessité une quantité importante de débogage. Ma demande n'est pas minime, mais j'aimerais que JSL puisse rendre l'utilisation des noms de distribution plus cohérente afin de rendre l'écriture de scripts plus efficace et moins déroutante. Je vais fournir des exemples ci-dessous.
Mon script prend une liste de noms de distribution {"Exponential", "Normal 2 Mixture", "Johnson SU", ...} et génère d'abord un tableau de données aléatoires avec une colonne pour chaque distribution. Il crée ensuite des diagrammes de distribution, ajuste les données et extrait les paramètres d'ajustement pour chaque distribution. Il utilise également la plateforme Process Capability pour calculer le cpk. Je compte beaucoup sur la création de citations JSL puis sur la substitution du nom de distribution souhaité pour obtenir le code exact dont j'ai besoin.
Problèmes:
- Lorsque je souhaite initialement générer des matrices de données aléatoires, je dois utiliser « Exp » au lieu de « Exponential » et « Normal Mixture » au lieu de « Normal 2 Mixture ».
</CODE><CODE class=" language-jsl">J(100, 1, Random<FONT color="#FF0000"><STRONG>Exp</STRONG></FONT>(...));<BR />J(100, 1, Random<FONT color="#FF0000"><STRONG>NormalMixture</STRONG></FONT>(...));<BR />J(100, 1, Random<FONT color="#FF0000"><STRONG>JohnsonSB</STRONG></FONT>(...));
- D'autre part, pour adapter une distribution à mes données, je dois utiliser "Exponential" au lieu de "Exp", "Normal 2 Mixture" au lieu de "Normal Mixture" et "Johnson" au lieu de "Johnson SB" :
dt << Distribution(
Continuous Distribution(
Column(:colname1),
Fit <FONT color="#FF0000"><STRONG>Exponential,</STRONG></FONT>
Fit <FONT color="#FF0000"><STRONG>Normal 2 Mixture,</STRONG></FONT>
Fit <FONT color="#FF0000"><STRONG>Johnson</STRONG></FONT>
)
)
- Et encore une fois un autre schéma de dénomination pour le mélange Normal 2 dans la plateforme Process Capability :
pc = dt << Process Capability(
Process Variables(
:colname1 & Dist(<FONT color="#FF0000"><STRONG>Exponential</STRONG></FONT>),
:colname2 & Dist(<FONT color="#FF0000"><STRONG>Mixture of 2 Normals</STRONG></FONT>),
:colname3 & Dist(<FONT color="#FF0000"><STRONG>Johnson</STRONG></FONT>),
)
)
J'avais initialement espéré pouvoir simplement fournir à mon script une liste de noms de distribution à essayer, puis parcourir la liste en boucle for, en ajoutant le nom spécifique à un devis JSL, puis en l'exécutant. Au lieu de cela, j'ai découvert à mes dépens que je devais créer plusieurs clauses if pour corriger les noms de distribution pour chaque opération différente avant la substitution.
Ce serait formidable si tout cela pouvait être simplifié en utilisant simplement un seul ensemble de noms de distribution pour toutes les fonctions et plates-formes. Merci.
[Utilisation de JMP Pro 17.2.0]