Eu tenho um vetor e quero detectar outliers nele.
A figura a seguir mostra a distribuição do vetor. Pontos vermelhos são outliers. Pontos azuis são pontos normais. Pontos amarelos também são normais.
Eu preciso de um método de detecção de outlier (um método não paramétrico) que possa apenas detectar pontos vermelhos como outliers. Eu testei alguns métodos como IQR, desvio padrão, mas eles detectam pontos amarelos como outliers também.
Eu sei que é difícil detectar apenas o ponto vermelho, mas acho que deve haver uma maneira (mesmo combinação de métodos) de resolver esse problema.
Pontos são leituras de um sensor por um dia. Mas os valores do sensor mudam devido à reconfiguração do sistema (o ambiente não é estático). Os horários das reconfigurações são desconhecidos. Os pontos azuis são para o período anterior à reconfiguração. Os pontos amarelos são para após a reconfiguração, que causa desvio na distribuição das leituras (mas são normais). Pontos vermelhos são resultados da modificação ilegal dos pontos amarelos. Em outras palavras, são anomalias que devem ser detectadas.
Estou pensando se a estimativa da função de suavização do Kernel ('pdf', 'survivor', 'cdf', etc.) Pode ajudar ou não. Alguém ajudaria sobre sua principal funcionalidade (ou outros métodos de suavização) e justificativa para usar em um contexto para resolver um problema?