Hallo. Ich habe Skripte geschrieben, um die Visualisierung von Verteilungen zu automatisieren, Verteilungen anzupassen und CPK zu melden. Ich habe gerade einen langen Artikel fertiggestellt und festgestellt, dass es große Unterschiede in der Verwendung der Namen einiger Distributionen gibt. Dies erforderte einen erheblichen Debugging-Aufwand. Meine Frage ist nicht gering, aber ich würde mich freuen, wenn JSL die Verwendung von Distributionsnamen konsistenter gestalten könnte, um das Schreiben von Skripten effizienter und weniger verwirrend zu gestalten. Im Folgenden werde ich Beispiele nennen.
Mein Skript nimmt eine Liste von Verteilungsnamen {"Exponential", "Normal 2 Mixture", "Johnson SU", ...} und generiert zunächst eine Tabelle mit Zufallsdaten mit einer Spalte für jede Verteilung. Anschließend erstellt es Verteilungsdiagramme, passt die Daten an und extrahiert die Anpassungsparameter für jede Verteilung. Es nutzt außerdem die Process Capability-Plattform zur Berechnung des cpk. Ich verlasse mich sehr darauf, JSL-Angebote zu erstellen und dann den gewünschten Distributionsnamen zu ersetzen, um genau den Code zu erhalten, den ich brauche.
Probleme:
- Wenn ich zunächst Matrizen mit Zufallsdaten generieren möchte, muss ich „Exp“ anstelle von „Exponential“ und „Normal Mixture“ anstelle von „Normal 2 Mixture“ verwenden.
</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>(...));
- Um andererseits eine Verteilung an meine Daten anzupassen, muss ich „Exponential“ anstelle von „Exp“, „Normal 2 Mixture“ anstelle von „Normal Mixture“ und „Johnson“ anstelle von „Johnson SB“ verwenden:
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>
)
)
- Und noch einmal ein anderes Namensschema für die Normal 2-Mischung in der Process Capability-Plattform:
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>),
)
)
Ursprünglich hatte ich gehofft, ich könnte meinem Skript einfach eine Liste von Distributionsnamen zum Ausprobieren bereitstellen, dann eine for-Schleife durch die Liste laufen lassen, den spezifischen Namen zu einem JSL-Angebot hinzufügen und es dann ausführen. Stattdessen habe ich auf die harte Tour herausgefunden, dass ich mehrere if-Klauseln erstellen musste, um die Verteilungsnamen für jede einzelne Operation vor der Ersetzung festzulegen.
Es wäre großartig, wenn all dies vereinfacht werden könnte, indem nur ein Satz von Distributionsnamen für alle Funktionen und Plattformen verwendet würde. Danke.
[Verwendung von JMP Pro 17.2.0]