Oggetto: Schermo anomalo per PAT automobilistico (test della media delle parti)CIAO,
Segui il mio ultimo post, sto usando la funzione robusta fit outlier- default è quella di schermare valori anomali alti/bassi, media +/- 6 sigma.
Per alcuni elementi, abbiamo solo bisogno di schermare il valore anomalo dalla media + 6 sigma (come l'elemento di perdita, basso è buono).
Qualcuno può dirmi come utilizzare il valore anomalo di adattamento robusto solo per media + 6 sigma?
Grazie
Oggetto: Schermo anomalo per PAT automobilistico (test della media delle parti)Ho finito per manipolare le espressioni. Se non c'è un modo migliore, dovresti essere in grado di adattare questo approccio:
NamesDefaultToHere(1);
// Sample data
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Explore outliers
eo = dt << Explore Outliers(Y( :height ));
eo << Robust Fit Outliers( K Sigma( 1 ), Huber( 0 ), Quartile( 1 ) );
eo << obj << Color Cells( :height ); // Blue (red) cells are 'low' ('high')
// Get the row numbers of the red cells . . .
// (1) Get the column script
colScript = :height << getScript;
// (2) Find the 'Color Cells' expression in the column script
n = 1;
While(Head(Arg(colScript, n)) != Expr(Color Cells), n++);
cs = Arg(colScript, n);
// (3) Find the row numbwrs of the red cells (red is '35')
n = 1;
While((Arg(cs, 1)[n])[1] != 35, n++);
redRowList = (Arg(cs, 1)[n])[2];
Print(redRowList);Oggetto: Schermo anomalo per PAT automobilistico (test della media delle parti)Ciao Ian,
Grazie per la tua risposta.
1. Il valore anomalo di Robust Fit è per entrambe le direzioni, sotto la formula è contrassegnato in rosso per la riga fuori da +1 sigma o -1 sigma.
Vorrei contrassegnare la riga solo con +1 sigma.
eo << Robust Fit Outliers( K Sigma( 1 ), Huber( 0 ), Quartile( 1 ) );
2. Per il tuo aiuto per stampare il collista, questo è davvero quello che sto cercando.
l'errore che ho ricevuto era oggetto non indicizzabile nell'accesso o nella valutazione di 'Arg (cs,1) [n]/*###*/1]', Arg(cs,1)[n]/*####*/ 1]'
Puoi per favore rivederlo di nuovo? Grazie.
Schermo anomalo per PAT automobilistico (test medio parziale)Ciao gruppo,
Sto usando l'outlier Robust Fit - quartile, il risultato è sia per lo schermo alto che per quello basso, media +/- 6 K (Sigma).
Ora sto guardando solo la parte della perdita. Ho solo bisogno del valore anomalo per media + 6 K (Sigma).
Per favore dimmi come farlo accadere da JSL. Grazie.
Esplora valori anomali( Y( :icc_aux10_total_vcc_1.000, :icc_aux10_VCCAUX10_vcc_1.000, :icc_aux18_total_vcc_1.000, :icc_aux18_VCCAUX18_vcc_1.000, :icc_core_total_vcc_1.050, :icc_core_VCC_vcc _1.050, :icc_core_lp_total_vcc_1.000, :icc_core_lp_VCC_vcc_1.000, :iccio_b_total_vcc_1.000, :iccio_b_VCCIOB_vcc_1.000, :iccio_ltr_total_vcc_1.000, :iccio_ltr_VCCIOLTR_vcc_1.000 ), Robust Fit Outliers( K Sigma( 6 ), Huber( 0 ), Quartile( 1 ) ), SendToReport( Dispatch( {}, "Commands", OutlineBox, {Chiudi( 0 )} ) ) );Qualità e ingegneria di processoOggetto: Schermo anomalo per PAT automobilistico (test della media delle parti)L'uso della colorazione rossa e blu è solo un modo indiretto per aggirare il fatto che (per quanto ne so), non esiste un modo diretto per chiedere a JMP di eseguire uno screening unilaterale (sul lato alto o basso, come richiesto) .
Per me (utilizzando JMP 17.1 su un Mac), il codice pubblicato sopra non genera un errore. Stampa:
{25, 27, 30, 37, 39, 40}
al registro, e questo è un elenco dei numeri di riga contenenti valori anomali nella parte alta (i globuli rossi nella tabella).
Oggetto: Schermo anomalo per PAT automobilistico (test della media delle parti)Ciao Ian,
Perdonami per aver risposto tardi. Ora ho JMP17 per eseguire il tuo script. Nessun errore come hai detto. Mostra rispettivamente il colore rosso/blu.
Provo a cambiare il sigma da 1 a 2,3,4,5,6 poi è stato trovato lo stesso errore.
Qualche idea su come risolverlo?
Grazie.
Ri: Schermo anomalo per PAT automobilistico (test della media delle parti)Sopra ho fatto attenzione a dire "adatta questo approccio"
. Senza parlare per gli altri, quando pubblico frammenti JSL la mia intenzione è (di solito) incoraggiare qualcuno a capire il codice e quindi essere in grado di andare oltre da solo.
Se cambi sigma in 2, avrai visto che ci sono solo celle blu nella tabella (valori anomali sul lato basso) e il codice non è abbastanza generale per gestirlo e genera l'errore che hai visto.
Si prega di trovare uno script più completo (non testato...) che dovrebbe coprire tutte le situazioni:
NamesDefaultToHere(1);
// Sample data
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Explore outliers
eo = dt << Explore Outliers(Y( :height ));
eo << Robust Fit Outliers( K Sigma( 2 ), Huber( 0 ), Quartile( 1 ) );
eo << obj << Color Cells( :height ); // Blue (red) cells are 'low' ('high')
// Get the column script
colScript = :height << getScript;
// Initialise lists (which may or may not be updated by the subsequent code)
redRowList = {};
blueRowList = {};
// Find the location of the sub-expression 'Color Cells'. if there are no outliers, 'colorCellsExist' will be 0
subExpr = {};
for(i=1, i<=NArg(colScript), i++, InsertInto(subExpr, Head(Arg(colScript, i))));
colorCellsExist = Contains(subExpr, Expr(Color Cells));
// Find the row numbwrs of any high (red) cells or low (blue) cells (red is '35', blue is '37'):
// Need to handle situations in which there are only high outliers, only low outliers, both high and low
// outliers, or no outliers
if(
colorCellsExist,
// Get the 'Color Cells' expression in the column script
cs = Arg(colScript, colorCellsExist);
if(
// If 'cs' is a list of lists, we have both high and low outliers . . .
IsList(Arg(cs, 1)[1]),
for(i=1, i<=NItems(Arg(cs, 1)), i++,
if(
(Arg(cs, 1)[i])[1] == 35, redRowList = (Arg(cs, 1)[i])[2];
(Arg(cs, 1)[i])[1] == 37, blueRowList = (Arg(cs, 1)[i])[2];
);
);
,
// . . . or if 'cs' is not a list of lists, we have either high or low outliers (but not both)
if(
Arg(cs, 1)[1] == 35, redRowList = Arg(cs, 1)[2],
Arg(cs, 1)[1] == 37, blueRowList = Arg(cs, 1)[2]
);
);
);
Print("High: "||Char(redRowList)||" Low: "||Char(blueRowList));