Ho un vettore e voglio rilevare valori anomali in esso.
La figura seguente mostra la distribuzione del vettore. I punti rossi sono anomali. I punti blu sono punti normali. Anche i punti gialli sono normali.
Ho bisogno di un metodo di rilevamento anomalo (un metodo non parametrico) in grado di rilevare solo punti rossi come valori anomali. Ho testato alcuni metodi come IQR, deviazione standard ma rilevano anche i punti gialli come valori anomali.
So che è difficile rilevare solo il punto rosso, ma penso che ci dovrebbe essere un modo (anche una combinazione di metodi) per risolvere questo problema.
I punti sono letture di un sensore per un giorno. Ma i valori del sensore cambiano a causa della riconfigurazione del sistema (l'ambiente non è statico). I tempi delle riconfigurazioni sono sconosciuti. I punti blu sono per il periodo precedente alla riconfigurazione. I punti gialli sono indicati dopo la riconfigurazione che causa deviazioni nella distribuzione delle letture (ma sono normali). I punti rossi sono il risultato della modifica illegale dei punti gialli. In altre parole, sono anomalie che dovrebbero essere rilevate.
Mi chiedo se la stima della funzione di smoothing del kernel ('pdf', 'survivor', 'cdf', ecc.) Possa aiutare o no. Qualcuno potrebbe aiutare a conoscere le loro principali funzionalità (o altri metodi di smoothing) e la giustificazione da utilizzare in un contesto per risolvere un problema?