Stellen Sie sich vor, ich habe einen mehrstufigen Prozess, wie vielleicht einen Additiv-Dosierprozess, bei dem ich gut charakterisierte Pumpen verwende, um festgelegte Volumina an Behälter zu liefern, und dann am Ende die Masse des Behälters überprüfe. Was ich gerne wissen würde, ist, wie viel Variation im endgültigen Füllgewicht zu erwarten ist. In meiner vorherigen bloggen Ich habe gezeigt, wie man eine kategoriale Ebene simuliert. Diesen Ansatz auf mehrere Eingaben auszudehnen, wird ein wenig schwierig sein und viel mehr Arbeit erfordern. Es gibt eine andere Möglichkeit, das Problem mit mehreren Tools in JMP zusammen anzugehen.
Schritt 1. Erstellen Sie eine Datentabelle wie diese:
In dieser Tabelle gibt es NUR 2 REIHEN! Die Spalte :Final hat eine Formel, die die ersten 4 Spalten summiert. Es gibt auch einige spezielle Formatierungen. Ich ging zu Column Info und Properties und fügte eine Sigma-Eigenschaft hinzu (etwa 2/3 des Weges nach unten in der Dropdown-Liste der Eigenschaften). Da ich für jeden Schritt eine ähnlich gut definierte Pumpe verwende, stelle ich Sigma auf 0,25 ml ein.
Führen Sie dieses Stück JSL aus, um die Tabelle zu erstellen:
dt=New Table( "Propagation of Error Profiler",
Add Rows( 2 ),
New Column( "Step 1", Set Property( "Sigma", 0.25 ), Set Values( [10, 12] )),
New Column( "Step 2", Set Property( "Sigma", 0.25 ), Set Values( [4, 5] )),
New Column( "Step 3", Set Property( "Sigma", 0.25 ), Set Values( [20, 22] )),
New Column( "Step 4", Set Property( "Sigma", 0.25 ), Set Values( [10, 12] )),
New Column( "Final",Formula( :Step 1 + :Step 2 + :Step 3 + :Step 4 ))
);
Schritt 2. Profilieren Sie die Formel
Wählen Sie im Menü „Diagramm“ die Option „Profiler“. Fügen Sie dem Dialog die Spalte „Endgültig“ hinzu und klicken Sie auf „OK“.
Im Profiler Red Triangle Menu (RTM) steht eine spezielle Option zur Verfügung, um den bekannten Fehler aus den Eingaben zu visualisieren. (dh es ist nur dort, wenn Sigma als Spalteneigenschaft angegeben ist.) Wählen Sie die Option Prop of Error Bars.
Der nächste Schritt im Profiler besteht darin, den Simulator einzuschalten. Diese Option befindet sich unter der RTM-Gliederungsleiste des Vorhersage-Profilers. Da Sigma angegeben ist, beginnt der Simulator automatisch mit der Normalverteilungssimulation jeder Variablen am Mittelpunkt der in der Tabelle angegebenen Werte und dem Sigma in der Spalteneigenschaft. (spart viel herumklicken)
An dieser Stelle sollte Ihr Profiler so aussehen:

Schritt 3 Starten Sie die Simulation
Hier wird es interessant. Ich muss den Vorgang so oft simulieren, dass ich gut damit umgehen kann, wie stark das Endgewicht variieren wird. Um eine repräsentative Anzahl von Läufen zu erhalten, ändern Sie die 5000 in den N Läufen in etwa 500.000. (1 Million ist gut, aber 100 Millionen werden eine Weile dauern, obwohl die Schätzung am Ende ein kleines bisschen besser sein wird)
Öffnen Sie dann die Gliederungsleiste In Tabelle simulieren und klicken Sie auf die Schaltfläche "Tabelle erstellen".
Jetzt habe ich eine Tabelle mit 500.000 Läufen. Jeder Durchlauf befindet sich auf einem unterschiedlichen zufälligen Niveau für jede der Prozesseingaben. Wenn ich die Verteilung der Inputs und Outputs überprüfe, kann ich sehen, dass die hohe Seite meines endgültigen Füllgewichts hauptsächlich von Läufen stammt, bei denen die Inputs auf der hohen Seite ihres Bereichs lagen.
Jetzt, da ich eine ziemlich gute Vorstellung von der Variation des endgültigen Füllgewichts habe, kann ich einen typischen Arbeitsablauf in der Vertriebsplattform verwenden, um einen vernünftigen Bereich zu berechnen, den ich für Füllgewichte erwarten kann.
Schritt 4 4-Sigma-Limits erhalten
Also, ja, ich könnte einfach einen Bereich von 4 Standardabweichungen auf einem Taschenrechner berechnen, fast so schnell wie ich das tun kann, was ich als nächstes tun werde. Aber das ist ein bisschen besser und viel cooler.
Analysieren>Verteilung> wählen Sie die simulierte Final-Spalte aus.
Wählen Sie in der Gliederungsleiste „Verteilung“ die Option „Kontinuierlich anpassen“ und „Normal“.
Klicken Sie in der Gliederungsleiste „Angepasster Normalwert“ auf „Set Spec Limits for k Sigma“.
In diesem Fall wähle ich 4 Sigma. Ich möchte ein endgültiges Füllgewicht, bei dem es äußerst unwahrscheinlich ist, dass es einen Alarm oder eine Kontrollaktion auslöst.
Wählen Sie im letzten Schritt unter der angepassten normalen Gliederungsleiste die Option „Spezifikationsgrenzen speichern“.
und schließen Sie diesen Bericht nicht. (Idealerweise würde JMP die Spezifikationslimit-Eigenschaft dem Profiler-Simulator dynamisch zur Verfügung stellen, aber das ist nicht der Fall und wir müssen die Werte manuell übertragen.)
Schritt 5
Technisch bin ich fertig. Ich habe eine massive Monte-Carlo-Simulation der Auswirkungen der Prozesseingaben auf mein endgültiges Füllgewicht durchgeführt und dann eine Reihe von Grenzen geschätzt, die wahrscheinlich nicht zufällig auftreten.
Aber warte, es gibt noch mehr.
Ich gehe zurück zum Profiler-Bericht. Aktivieren Sie unten unter der Gliederungsleiste des Simulators zwei Optionen. 1. Spezifikationsgrenzen und 2. Automatische Aktualisierung des Histogramms.
Verwenden Sie im Dialogfeld für die Spezifikationsgrenzen 45,5 und 49,5 als LCL und UCL. Dies sind die gerundeten Werte, die wir aus der Analyse in der Vertriebsplattform abgeleitet haben.
Als Nächstes befindet sich oben rechts im Profiler neben den Profiler-Diagrammen die Schaltfläche Simulieren. Klicken Sie darauf. Versuchen Sie auch, die Schieberegler für die Prozesseingänge zu bewegen. Dadurch kann ich sehen, wie viel Toleranz der Prozess für Drift in einer oder mehreren Pumpen hat. Ich kann auch ziemlich gut erkennen, dass ich mit Pumpen mit höherer Präzision viel mehr Drift- oder Kalibrierungsfehler tolerieren könnte, ohne hohe oder niedrige Endfüllgewichte zu riskieren.
Dies ist das Skript zum Generieren des Profilers in den Abbildungen
dt<<PROFILER></PROFILER>
Dieses Skript generiert die Analyse von der Verteilungsplattform
dt<<DISTRIBUTION></DISTRIBUTION>
Ich hoffe, Sie finden das nützlich. Ich bin mir sicher, dass jemand (oder ich) diesen Workflow schon einmal geschrieben hat, aber ich konnte es Anfang dieser Woche nicht, also hier ist es noch einmal.
Prost,
B