Come selezionare la colonna per Quantile Range Outlier utilizzando jslSalve squadra JMP,
Ho intenzione di eseguire un'analisi automatizzata dei valori anomali utilizzando Explore Outliers. L'obiettivo di questa automazione è ottenere una tabella ordinata e facile da visualizzare per mostrare solo l'elemento di riga e l'elemento di colonna con valori anomali (questo richiede di filtrare quelle colonne e righe non anomale). Prendi il trattamento dell'acqua come esempio di seguito per eliminare l'elemento riga senza valori anomali.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Water Treatment.jmp" );
obj = dt << Explore Outliers(
Y( dt << Get Column Group( "Sensor Measurements" ) )
);
obj << Show only columns with outliers(1);
obj << Tail Quantile( 0.1 );
obj << Q(3);
obj << Quantile Range Outliers;
obj << ColorCells(dt << Get Column Group( "Sensor Measurements" ));
obj << SelectRows(dt << Get Column Group( "Sensor Measurements" ));
obj << ExcludeRows(dt << Get Column Group( "Sensor Measurements" ));
dt << select where( Excluded(Row State()) != 1 );
dt << Delete rows;
Domanda su come filtrare la colonna non anomala usando il codice jsl?

Saluti,
XH Basso
AnaliticaTabella datiScriptingfinestreRi: Come selezionare la colonna per Quantile Range Outlier usando jslHo aggiunto alcune righe di codice in fondo al tuo script, che elimina le colonne che non hanno valori anomali.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Water Treatment.jmp" );
obj = dt << Explore Outliers( Y( dt << Get Column Group( "Sensor Measurements" ) ) );
obj << Show only columns with outliers( 1 );
obj << Tail Quantile( 0.1 );
obj << Q( 3 );
obj << Quantile Range Outliers;
obj << ColorCells( dt << Get Column Group( "Sensor Measurements" ) );
obj << SelectRows( dt << Get Column Group( "Sensor Measurements" ) );
obj << ExcludeRows( dt << Get Column Group( "Sensor Measurements" ) );
dt << select where( Excluded( Row State() ) != 1 );
dt << Delete rows;
allEvaluatedList = Report( obj )["Quantile Range Outliers", String Col Box( "Column" )] << get;
obj << Show only columns with outliers( 1 );
colList = Report( obj )["Quantile Range Outliers", String Col Box( "Column" )] << get;
For Each( {col, i}, allEvaluatedList,
If( Contains( colList, col ) == 0,
dt << delete columns( col )
)
);
Ri: Come selezionare la colonna per Quantile Range Outlier usando jslCiao Jim,
Grazie per il codice.
Ho provato il codice sopra, il mio JMP15 non supportava For Each(). Apporto alcune modifiche al ciclo For Each to For.
Ma non è ancora possibile eliminare la colonna non errata.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Water Treatment.jmp" );
obj = dt << Explore Outliers( Y( dt << Get Column Group( "Sensor Measurements" ) ) );
obj << Show only columns with outliers( 1 );
obj << Tail Quantile( 0.1 );
obj << Q( 3 );
obj << Quantile Range Outliers;
obj << ColorCells( dt << Get Column Group( "Sensor Measurements" ) );
obj << SelectRows( dt << Get Column Group( "Sensor Measurements" ) );
obj << ExcludeRows( dt << Get Column Group( "Sensor Measurements" ) );
dt << select where( Excluded( Row State() ) != 1 );
dt << Delete rows;
allEvaluatedList = Report( obj )["Quantile Range Outliers", String Col Box( "Column" )] << get;
obj << Show only columns with outliers( 1 );
colList = Report( obj )["Quantile Range Outliers", String Col Box( "Column" )] << get;
For( i=1, i <= N Items(allEvaluatedList), i++, col=allEvaluatedList[i];
If( Contains( colList, col ) == 0 ,
dt << delete columns( col )
)
);
Colonna non anomala ancora presente nella tabella dei dati sottostante.

Mi sto perdendo qualcosa?
Ri: Come selezionare la colonna per Quantile Range Outlier usando jslL'output della piattaforma Esplora valori anomali in JMP 15, per impostazione predefinita, visualizza solo le colonne che presentano valori anomali.Lo script fornito presupponeva che tutte le colonne specificate per l'analisi fossero visualizzate.Ho modificato il codice per forzare la visualizzazione di tutte le colonne in modo che "allEvaluatedList" venga popolato correttamente.Ho testato il codice in JMP 15 e ora funziona.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Water Treatment.jmp" );
obj = dt << Explore Outliers( Y( dt << Get Column Group( "Sensor Measurements" ) ) );
obj << Show only columns with outliers( 1 );
obj << Tail Quantile( 0.1 );
obj << Q( 3 );
obj << Quantile Range Outliers;
obj << ColorCells( dt << Get Column Group( "Sensor Measurements" ) );
obj << SelectRows( dt << Get Column Group( "Sensor Measurements" ) );
obj << ExcludeRows( dt << Get Column Group( "Sensor Measurements" ) );
dt << select where( Excluded( Row State() ) != 1 );
dt << Delete rows;
obj << Show only columns with outliers( 0 );
allEvaluatedList = Report( obj )["Quantile Range Outliers", String Col Box( "Column" )] << get;
obj << Show only columns with outliers( 1 );
colList = Report( obj )["Quantile Range Outliers", String Col Box( "Column" )] << get;
For( i=1, i <= N Items(allEvaluatedList), i++, col=allEvaluatedList[i];
If( Contains( colList, col ) == 0 ,
dt << delete columns( col )
)
);
Ri: Come selezionare la colonna per Quantile Range Outlier usando jslGrande!! Ora funziona.
Grazie Jim.
