Schneller Normalitätstest für viele ParameterHallo,
Ich habe viele Parameter (100 bis 2000) mit jeweils 200 bis 2500 Werten in der Stichprobe. Ich möchte für jeden einen statistischen Test durchführen, um zu überprüfen, ob die Verteilung normal ist oder nicht.
Mein Problem besteht darin, dass ich dafür sehr lange brauche (ungefähr 6 Minuten): Ich muss die Plattform „Verteilung > Normale Anpassung > Anpassungsgüte“ für jeden Parameter ausführen und beispielsweise den p-Wert aus dem Anderson-Test abrufen, um zu meiner Schlussfolgerung zu gelangen.
Gibt es keinen schnelleren Weg? Ich möchte Python so weit wie möglich vermeiden, da wir JMP17 haben und befürchten, dass die Migration des Codes in sechs Monaten zu MP19 sehr teuer wird, da sich vieles ändert.
Beste grüße,
Automatisierung und SkriptingBetreff: Schneller Normalitätstest für viele ParameterHaben Sie hierfür JSL verwendet? Können Sie ein Beispiel für das verwendete Skript angeben? Möglicherweise sind einige Optimierungen nötig, um die Geschwindigkeit zu erhöhen, was möglicherweise bereits ausreicht.
Betreff: Schneller Normalitätstest für viele ParameterHallo @SophieCuvillier ,
Haben Sie versucht, die rechte Maustaste gedrückt zu halten und dann das rote Dreieck zu verwenden, um die Befehle an alle einzelnen Verteilungen zu senden? Sie könnten dann mit der rechten Maustaste auf die Anderson-Darling-Tabelle klicken und „Kombinierte Datentabelle erstellen“ auswählen.
Danke,
Ben
Betreff: Schneller Normalitätstest für viele ParameterHallo Ben
Vielen Dank für Ihre Antwort. Ich würde das gerne per Skript erledigen, da wir diese Analyse in ein Add-In integrieren möchten …
Beste grüße
Betreff: Schneller Normalitätstest für viele ParameterLeider hilft es nicht, wenn Sie JMP17 verwenden, aber ich habe ein JSL-Skript gepostet, das Python verwendet, um das zu tun, was Sie suchen (glaube ich). Hoffentlich ist es hilfreich, wenn Sie auf JMP 18/19 umsteigen.
https://community.jmp.com/t5/JMP-Scripts/Comparative-normality-testing-on-many-parameters-or-groups-of/ta-p/773837
Betreff: Schneller Normalitätstest für viele ParameterHallo @SophieCuvillier ,
Verstanden, ich habe versucht, etwas für Sie zusammenzustellen, das die Erstellung kombinierter Datentabellen in einem Skript ausführt. Es war eine lustige Herausforderung, die Plattform dazu zu bringen, alle Spalten in einem Fenster auszuführen, anstatt in einzelnen Fenstern pro Spalte.
Lassen Sie mich wissen, wie das für Sie funktioniert.
//Random Column Generator v1 - Inspired by https://www.linkedin.com/feed/update/urn:li:activity:7241062805292929025/
//Get current data table, clear previous selections
dt = CurrentDataTable();
Names Default to Here(1);
dt << Clear Column Selection();
//Launch dialog for columns - adapted from https://community.jmp.com/t5/JMPer-Cable/Prompting-for-columns-totally-modally/ba-p/189647
nw = New Window( "Launch Dialog",
<<MODAL></MODAL>Betreff: Schneller Normalitätstest für viele Parameter
@matth1 schrieb:
Leider hilft es nicht, wenn Sie JMP17 verwenden, aber ich habe ein JSL-Skript gepostet, das Python verwendet, um das zu tun, was Sie suchen (glaube ich). Hoffentlich ist es hilfreich, wenn Sie auf JMP 18/19 umsteigen.
@SophieCuvillier, eigentlich hatte ich vergessen, dass ich eine Nicht-Python-Version dieses Skripts erstellt hatte – ich habe es nur geändert, weil die Python-Version bei großen Datenmengen viel schneller war.
Bitte sehen Sie sich den Anhang an, ich hoffe, er hilft Ihnen weiter. Beachten Sie, dass der gesamte Code unterhalb von Zeile 107 nur zur Erstellung des Ergebnisanzeigefensters dient. Wenn Sie nur die Tabelle mit den vergleichenden p-Werten benötigen, können Sie diesen Code löschen.
Ich habe zum Ausprobieren nur JMP 18, aber mit v17 sollte es funktionieren.
Betreff: Schneller Normalitätstest für viele ParameterIch weiß nicht warum, aber leider sehe ich die Ergebnisse des Normalitätstests nicht, keine Ausgabe. Vielleicht ist meine JMP-Version zu niedrig (V14.3). Ich werde versuchen, eine höhere Version zu verwenden.

Können Sie es in eine JMPADDIN-Datei umwandeln, damit es besser verwendet werden kann?
Ich hoffe, nur die Ergebnisse des Normalitätstests zu sehen, ohne dass eine Fähigkeitsanalyse erforderlich ist.
Dieses Bild ist das Ergebnis von MINITAB. Können Sie es so aussehen lassen?

Betreff: Schneller Normalitätstest für viele ParameterSie können das normale Quantildiagramm erstellen, indem Sie mehrere Parameter vergleichen, indem Sie die Daten stapeln und die Plattform „X nach Y anpassen“ verwenden. Sehen Sie sich beispielsweise den folgenden einfachen Code an:
Mehr anzeigen...
dt = open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
dt_stack = dt << Stack(
columns( :PNP1, :PNP2, :NPN2, :PNP3 ),
"Non-stacked columns"n( Keep( :lot_id, :wafer, :Wafer ID in lot ID, :SITE ) ),
Output Table( "Stack" )
);
dt_stack << Color or Mark by Column(
:Label,
Color Theme( "JMP Default" ),
Marker( 0 )
);
ow = dt_stack << Oneway(
Y( :Data ),
X( :Label ),
All Graphs( 0 ),
Line of Fit( 1 ),
Plot Quantile by Actual( 1 )
);
Sie könnten dann ein benutzerdefiniertes Fenster erstellen und die AD-Ergebnistabelle aus dem vorherigen Skript als Bericht neben dem normalen Quantildiagramm einfügen. Wenn Sie mit dem Skripting zufrieden sind, könnte Folgendes hilfreich sein:
https://www.jmp.com/support/help/en/18.1/#page/jmp/construct-display-boxes-for-new-windows.shtml
Betreff: Schneller Normalitätstest für viele ParameterHallo,
Letztendlich habe ich das Skript von @matth1 und @Ben_BarrIngh verwendet (vielen Dank!!). Um die Geschwindigkeit zu verbessern, haben wir uns überlegt, für jeden Parameter zufällig eine Teilstichprobe zu nehmen, anstatt die Gesamtstichprobe zu nehmen.