Tauchen Sie ein in Explore OutliersIch bin gerade über die Plattform „Explore Outliers“ gestolpert und bin gelinde gesagt sehr schwindlig. Meine Frage liegt in den Ausschlusszeilen unter den Robust Fit Outliers. Eigentlich versuche ich nur herauszufinden, wie das Skript innerhalb dieser Plattform funktioniert, insbesondere wie es bestimmt, welche Zeilen ausgeschlossen werden sollen. Ich habe bis zu 200+ Spalten, nachdem ich die Tabelle mit den entsprechenden Screening-Grenzwerten aufgeteilt habe.
Ich kann Skript im Skriptfenster speichern, aber es scheint mir nur zu zeigen, wie man das Skript in einer Makroform schreibt, und nicht tatsächlich die Zeilenfunktionen.
Danke
Betreff: Eintauchen in Explore OutliersVersuchen Sie Folgendes zu sagen:
Batch Interactive( 1 );
am Anfang Ihres Codes.
Betreff: Eintauchen in Explore Outliers@ian_jmp
Könnten Sie mir bitte bei der Fehlermeldung helfen, die ich erhalte? Wenn ich dieses Skript manuell ausführe, funktioniert es einwandfrei und wirft keine Fehler aus (siehe Screenshot des Protokolls). Wenn ich jedoch versuche, dies in einem Ausdruck zu verwenden und es automatisch auszuführen, erhalte ich die folgende Fehlermeldung und dann folgende Fehlermeldungen ( jede Zeile des Protokolls, die besagt, dass Werte durch fehlende Werte ersetzt wurden. Ich habe versucht, dort ein Wait() einzufügen, aber das hat nicht geholfen.
Danke David
Fehler 

Betreff: Eintauchen in Explore OutliersDafür kann ich Ihnen gar nicht genug danken... Das ist unglaublich! Das Problem mit den Ausreißern war der Lebensinhalt meiner Existenz (zusammen mit der Erstellung der Wafer-Karte), da ich für die Darstellung all dieser Daten verantwortlich war. Herr Txnelson hat mich über die Bereichsprüfungsmethode aufgeklärt, die gut ist, wenn ich Spezifikationsgrenzen habe, um sie zu vergleichen. Allerdings war es für mich schwierig, nur Rohdaten dort darzustellen, wo ich die Prüfung nicht verwenden kann.
Betreff: Eintauchen in Explore OutliersIch habe noch nie versucht, ein Skript für „Explore Outliers“ zu erstellen, daher gibt es möglicherweise einen besseren Weg: Der folgende Code hat in dem einzigen Fall funktioniert, für den ich Zeit hatte, ihn auszuprobieren, sodass er Ihnen den Einstieg erleichtern könnte:
NamesDefaultToHere(1);
// Example data
dt1 = Open( "$SAMPLE_DATA/Probe.jmp" );
// Copy the data to a new table
dt2 = Eval(dt1 << getScript);
dt2 << setName((dt1 << getName||" Screened"));
// List of columns to screen
colsToScreen = {:VDP_M1, :VDP_M2, :VDP_NBASE};
// Screen for outliers using your favourite method
eo = dt2 << Explore Outliers(Y(Eval(colsToScreen)), Quantile Range Outliers( 1 ), Show Only Columns With Outliers(1), Invisible);
// Using the report, find the columns that have outliers
eoRep = Report(eo);
table = eoRep[TableBox(1)];
colList = eoRep[StringColBox(1)];
// Loop over these columns . . .
nCols = NItems(colList << get);
for(c=1, c<=nCols, c++,
// Select this column (described by a row)
CMD = Expr( table << setSelectedRows({colTBD}) );
SubstituteInto(CMD, Expr(colTBD), Eval(c));
CMD;
// Update dt2 for this column: Cells that were considered outliers are coloured red
eo << ColorCells(1);
eo << ChangeToMissing(1);
);
eoRep << closeWindow;
Anstatt Zellen auf „fehlend“ zu setzen, könnten Sie die Verwendung von Codes für fehlende Werte in Betracht ziehen.
Betreff: Eintauchen in Explore OutliersDanke für die Antwort. Ich habe den Link gefunden, auf den Sie sich bezogen haben, und arbeite alle Informationen durch, um herauszufinden, welche Methode für meine Daten am besten geeignet ist.
Ich entschuldige mich dafür, dass ich in meinem ersten Beitrag nicht genauer darauf eingegangen bin. Ich möchte die Explore Outliers-Plattform in eine Vielzahl von Plotfunktionen automatisieren, die ich erstelle. Laden Sie beispielsweise meine Datentabelle, teilen Sie die Spalte auf und führen Sie die Funktion „Ausreißer erkunden“ durch, die offensichtlich in der Lage ist, die Zeilen auszuwählen, die als Ausreißer gelten, und sie dann auszuschließen. Mir ist aufgefallen, dass eine Zeile ausgeschlossen wurde und ein Fehler angezeigt wird. Ich müsste es irgendwie ignorieren können, um mit der nächsten Spalte fortzufahren. Ich habe eine Datentabelle angehängt und eine JSL eingefügt, die zeigt, wie ich die Ausführung des Skripts logisch sehe. Es funktioniert noch nicht und deshalb bin ich hier.Einige Tests verfügen über 300+ Split By ( :SPEC_COL_NAMES ).
Vielen Dank im Voraus.
----- Schleife beginnen
----- Führen Sie Explore Outliers für cols[1] aus.
----- Zeile ausschließen
----- Grundstücksverteilung
----- Zeilenzustände löschen
----- Führen Sie Explore Outliers für cols[2] aus.
----- Zeile ausschließen
----- Grundstücksverteilung
----- Zeilenzustände löschen
----- Schleife nach cols[i] beenden
dt = Current Data Table();
// Split Data Table by SPEC_COL_NAMES :
// This is used for a variety of things, specifically Spec Limits and Range Checks
dtsplitmeas = dt << Split(
Invisible,
Split By( :SPEC_COL_NAMES ),
Split( :Output_1 ),
Group( :wafer_number, :rownum, :colnum, :subrow, :subcol, :RowCol ),
Remaining Columns( Drop All )
);
cols = dtsplitmeas << Get Column Names( Numeric );
dtsum = dt << Summary(
Invisible,
Group( :wafer_number )
);
jjrn1 = New Window( "Distribution - Output_1 ", << Journal );
// I am taking a shot at the syntax and the way I think it should be coded.
// By all means, correct me if i am wrong and make any modifications you see fit
// I don't actually know how to address the different wafers #'s and the
// SPEC_COL_NAMES at the same time. This is why i figured 2 For() loops.
For( i = 1, i <= N Items( cols ), i++,
For( j = 1, j <= N Items( dtsum ), j++,
test = cols[i];
wfr = dtsum:wafer_number[j];
eo = Explore Outliers(
SendToByGroup( Bygroup Default ),
Y( As Column( test ) ),
Robust Fit Outliers,
Where( :wafer_number == wfr )
);
//------------------------------------------------------------ -/
// < Insert Script to Exclude Rows for col[1] in dtsplitmeas> /
// This is what my original question was /
// referring to /
//----------------------------------------------------------/
// Step into Control Chart, Control Chart Builder, Distributions, Fit Y by X plots
// Control Chart Builder is just an example
gb = Control Chart Builder(
Size( 847, 990 ),
Show Control Panel( 0 ),
Variables( Y( As Column( test ) ) ),
Chart( Position( 1 ), Limits( Sigma( "Levey Jennings" ) ) ),
Chart( Position( 2 ), Limits( Sigma( "Moving Range" ) ) )
);
// Create Control Chart for all SPEC_COL_NAMES place it into a report / journal
(gb << top Report)[Text Edit Box( 1 )] << delete; //delete the where statement
Report( gb )[Outline Box( 1 )] << Set Title( cols[i] );
jjrn2 << Append( Report( gb ) );
gb << Close Window;
// Clear Row States because when you exclude a row for a given column, it extends
// to all other colums on that row
dtsplitmeas << Clear Row States();
// Rise and Repeat for all SPEC_COL_NAMES
);
);
Betreff: Eintauchen in Explore OutliersHinsichtlich ' Insbesondere wie es bestimmt, welche Zeilen ausgeschlossen werden sollen ', hast du dir das angeschaut erforderliche Hilfe Buchseite?
Betreff: Eintauchen in „Explore Outliers“Ich bin neu bei JMP.
Es scheint, dass die 3 Spalten im Code unten numerisch sind! Ausreißer-Screen für jede Spalte.
colsToScreen = {:VDP_M1, :VDP_M2, :VDP_NBASE};Das Skript funktioniert bei meinen Daten mit 4 Spalten nicht:
colsToScreen = {:Testname, :Temperatur, :VDD, :Messungen}
Wo:
Testname: test1, test2, test3, ....ect.
Temperatur: -40 °C, 25 °C, 85 °C, 125 °C
VDD: 1,8 V, 2,0 V, 2,5 V, 3,0 V
Ich möchte OUTLIERS auf Spaltenmessungen für jede Kombination aus Testname+Temperatur+VDD ausführen
PS: Ich habe hier viele Beiträge zur Verwendung der „GRUPPE“ gelesen, aber ohne Erfolg.
Ich bin für jede Hilfe dankbar.
Danke schön.
Betreff: Eintauchen in „Explore Outliers“Warum schreibst du ein Skript? Du kannst einfach zu
Analysieren=>Screening=>Ausreißer untersuchen
und führen Sie es interaktiv aus. Kein Scripting erforderlich.
Betreff: Eintauchen in „Explore Outliers“Das Skript stellt Ihnen die Algorithmen nicht zur Verfügung. Das Skript ruft lediglich die Explore Outliers-Plattform auf. Sie müssen zum Hilfesystem gehen und nach den statistischen Details für die Explore Outliers-Plattform suchen.