Sfida 11 - Screening Outlier
Lo screening dei valori anomali è una metodologia di rilevamento delle anomalie in cui i dati sono tipicamente numerici. JMP dispone di quattro metodi di screening dei valori anomali nell'opzione di menu Analizza > Screening > Esplora valori anomali. Due di questi metodi sono univariati, applicabili agli outlier che possono essere identificati da una singola colonna di dati.
Questi metodi utilizzano un approccio standard per definire gli outlier come osservazioni che si trovano lontano dal centro dei dati. La definizione algoritmica del lontano e del centro è al centro di questi tipi di metodi. Funzionano bene quando i dati sono unimodali e illimitati, ma non altrettanto bene quando i valori anomali si verificano vicino a un confine o come cluster tra le modalità principali o alle estremità dei valori dei dati.
In queste situazioni, i metodi di screening degli outlier standard non trovano outlier o richiedono più iterazioni. Tre esempi che suscitano questi comportamenti sono forniti nel Tre esempi anomali.JMP sotto.
Per la sfida di questo mese, sviluppa un algoritmo che troverà questi tipi di valori anomali oltre a quelli trovati dalle tecniche standard. Supponiamo che gli outlier siano univariati e che i dati siano numerici. Il Sonda.JMP la tabella dei dati di esempio è un buon set di dati per testare il tuo algoritmo.

Riesci a trovare un metodo di screening dei valori anomali migliore?
Re: Sfida 11 - Screening OutlierQuesto è stato un esercizio divertente!Ecco la mia presentazione per la colonna Bimodale per il datatable allegato.Devo ammettere che ci sono voluti alcuni aggiustamenti dei parametri K per ottenere i risultati desiderati.Per le altre 2 colonne, mi era meno chiaro cosa dovrebbe essere considerato un valore anomalo.
dt = Open( "Three Outlier Examples.jmp" );
obj1 = dt << Explore Outliers(
Y( :Bimodal ),
K Nearest Neighbor Outliers( K( 20 ), Impute Missing( 1 ) )
);
obj1 << Save NN Distances;
obj2 = dt << Explore Outliers(
Y( :Nearest 20 Distance ),
Robust Fit Outliers( K Sigma( 200 ), Huber( 1 ) )
);
obj2 << Select Rows (:"Nearest 20 Distance"n) << Color Rows (:"Nearest 20 Distance"n);
dt << Graph Builder(
Size( 489, 454 ),
Show Control Panel( 0 ),
Variables( X( :Bimodal ) ),
Elements( Points( X, Legend( 3 ) ) )
);
Re: Sfida 11 - Screening OutlierGrazie @mzwald , mi piace l'approccio.