Plonger dans Explore OutliersJe viens de tomber sur la plate-forme Explore Outliers et je suis pour le moins très étourdi. Ma question réside dans les lignes d'exclusion sous les valeurs aberrantes d'ajustement robuste. En fait, j'essaie simplement de voir comment le script fonctionne à l'intérieur de cette plate-forme, en particulier comment il détermine les lignes à exclure. J'ai jusqu'à plus de 200 colonnes après avoir divisé le tableau avec les limites de filtrage appropriées.
Je peux faire Enregistrer le script dans la fenêtre de script, mais je semble juste me montrer comment écrire le script sous forme de macro et non les fonctions de ligne.
Merci
Re : Plonger dans Explorer les valeurs aberrantesEssayez de mettre :
Batch Interactive( 1 );
au début de votre code.
Re : Plonger dans Explorer les valeurs aberrantes@ian_jmp
Pourriez-vous m'aider s'il vous plaît avec ce message d'erreur que je reçois .. Lorsque j'exécute ce script manuellement, il fonctionne très bien et ne génère aucune erreur (voir capture d'écran du journal), mais si j'essaie de l'utiliser dans une expression et de l'exécuter automatiquement, je reçois le message d'erreur suivant, puis les messages d'erreur suivants ( chaque ligne du journal indiquant que les valeurs ont été remplacées par manquantes. J'ai essayé de mettre un Wait() là-dedans mais cela n'a pas aidé.
Merci David
erreur 

Re : Plonger dans Explorer les valeurs aberrantesJe ne peux pas vous remercier assez pour cela... C'est incroyable! Le problème des valeurs aberrantes a été le bain de mon existence (avec la création de cartes de plaquettes) depuis que j'étais chargé de tracer toutes ces données. M. txnelson m'a éclairé sur la méthode de vérification de la plage qui est bonne quand j'ai des limites de spécifications pour la comparer aussi, mais il était difficile pour moi de tracer des données brutes avec lesquelles je ne peux pas utiliser la vérification.
Re : Plonger dans Explorer les valeurs aberrantesJe n'ai pas essayé de scripter 'Explore Outliers' auparavant, donc il y a peut-être un meilleur moyen - Le code ci-dessous a fonctionné sur le seul cas que j'ai eu le temps d'essayer, donc cela pourrait vous aider à démarrer :
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;
Plutôt que de définir des cellules comme manquantes, vous pouvez envisager d'utiliser des codes de valeur manquants.
Re : Plonger dans Explorer les valeurs aberrantesMerci pour la réponse. J'ai trouvé le lien auquel vous faisiez référence et je travaille sur toutes les informations pour déterminer quelle est la meilleure méthode à utiliser pour mes données.
Je m'excuse de ne pas avoir été plus précis dans mon premier message. Ce que je voudrais faire, c'est automatiser la plate-forme Explore Outliers en une multitude de fonctions de traçage que je crée. Par exemple, chargez ma table de données, divisez la colonne et effectuez l'Explorer la valeur aberrante qui est évidemment capable de sélectionner les lignes considérées comme une valeur aberrante, puis de l'exclure. J'ai remarqué qu'une ligne a été exclue, une erreur apparaît. Je devrais en quelque sorte être capable de l'ignorer afin de passer à la colonne suivante. J'ai joint une table de données et inclus un JSL de la façon dont je vois logiquement le script s'exécuter. Cela ne fonctionne pas encore et c'est pourquoi je suis ici.Certains tests ont plus de 300 fractionnés par ( :SPEC_COL_NAMES ).
Merci d'avance.
----- Commencer la boucle
----- Exécuter Explorer les valeurs aberrantes sur cols[1]
----- Exclure la ligne
----- Répartition des parcelles
----- Effacer les états de ligne
----- Exécuter Explore Outliers sur cols[2]
----- Exclure la ligne
----- Répartition des parcelles
----- Effacer les états de ligne
----- Fin de boucle après cols[i]
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
);
);
Re : Plonger dans Explorer les valeurs aberrantesConcernant ' spécifiquement comment il détermine les lignes à exclure ', avez-vous jeté un coup d'œil au aide requise page?
Re : Plongée dans l'exploration des valeurs aberrantesJe suis nouveau sur JMP.
Il semble que les 3 colonnes du code ci-dessous soient numériques ! Écran des valeurs aberrantes pour chaque colonne.
colsToScreen = {:VDP_M1, :VDP_M2, :VDP_NBASE};Le script ne fonctionne pas sur mes données avec 4 colonnes :
colsToScreen = {:Nom du test, :Température, :VDD, :Mesures}
où:
Nom du test : test1, test2, test3,....ect.
Température : -40°C, 25°C, 85°C, 125°C
Tension de service : 1,8 V, 2,0 V, 2,5 V, 3,0 V
Je voudrais exécuter des valeurs OUTLIERS sur les colonnes Mesures pour chaque combinaison de Nom du test + Température + VDD
PS J'ai lu de nombreux articles ici sur la façon d'utiliser le « GROUPE » mais sans succès.
J'apprécie toute aide.
Merci.
Re : Plongée dans l'exploration des valeurs aberrantesPourquoi écris-tu un script ? Tu peux simplement aller sur
Analyser=>Criblage=>Explorer les valeurs aberrantes
et exécutez-le de manière interactive. Aucun script n'est requis.
Re : Plongée dans l'exploration des valeurs aberrantesLe script ne vous fournira pas les algorithmes. Le script appellera simplement la plateforme Explore Outliers. Vous devez accéder au système d'aide et rechercher les détails statistiques de la plateforme Explore Outliers.