Sfida 11 - Screening anomalo
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 a valori anomali che possono essere identificati da una singola colonna di dati.
Questi metodi utilizzano un approccio standard per definire i valori anomali come osservazioni che si trovano lontano dal centro dei dati. La definizione algoritmica di lontano e centro è al centro di questi tipi di metodi. Funzionano bene quando i dati sono unimodali e illimitati, ma non così bene quando i valori anomali si verificano vicino a un confine o come cluster tra modalità principali o alle estremità dei valori dei dati.
In queste situazioni, i metodi di screening dei valori anomali standard non trovano valori anomali o richiedono più iterazioni. Tre esempi che suscitano questi comportamenti sono riportati 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. Si supponga che i valori anomali siano univariati e i dati numerici. Il Sonda.JMP la tabella dei dati di esempio è un buon insieme di dati per testare il tuo algoritmo.

Riuscite a trovare un metodo di screening dei valori anomali migliorato?
Re: Sfida 11 - Screening anomaloGrazie @mzwald , mi piace l'approccio.
Re: Sfida 11 - Screening anomaloQuesto è 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 dovesse 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 ) ) )
);