Автоматизация обнаружения выбросов - PullRequest
1 голос
/ 26 апреля 2019

Я работаю над проблемой, то есть автоматизацией обнаружения выбросов.Для этого мне нужен алгоритм для обнаружения выбросов.

Я читал о z-баллах и интервале между квантилями.Но z-оценка работает только для нормально распределенных данных.И я не уверен насчет интеркантильного диапазона, работает ли он для всех типов данных (даже если он следует гауссову распределению, распределению Пуассона).Я также читал о DBSCAN, но не знаю, насколько правдоподобен этот метод

Любой может предложить мне какой-нибудь алгоритм или пакет в python, который я могу использовать для автоматизации обнаружения выбросов.

IЯ ищу больше алгоритм или даже исследовательскую работу, которую я могу написать на python позже.

Для справки ниже приведен один из примеров данных, в которых я должен найти выброс.

месяц Единиц продано 1 23178,78 2 23547,41 3 17720,51 4 25837,56 5 20375,98 6 16260,64 7 22881,59 8 25202,29 9 17255,29 10 20495,58 11 21253,27 12 20145,73

Ответы [ 2 ]

0 голосов
/ 04 мая 2019

В последнее время я также работаю над темой инструментов обнаружения выбросов.По моему опыту, для обнаружения выбросов вам, возможно, потребуется сначала определить свою проблему.1. Что вы хотели выбросить?2. для функции viewpint сколько функций вы хотите измерить?One Dimension довольно прост, 2 или N функций - это совершенно разные вопросы.3. как бы вы хотели показать вам результат ОД?1 или 2 измерение легко, 3 или более измерение должно быть большой проблемой.4. что такое тип данных, числовые или категориальные данные?для категориальных данных вы можете сначала преобразовать их в фиктивные факторы.

Что касается алгоритма обнаружения выбросов, я думаю, что вы можете сделать выбор на основе ваших данных. Для 1 измерения, Z-балл (для scipy) или Mad () режим в порядке. Хотя данные не являются нормальным распределением, но эти два режима могут быть легко объяснены.Вы можете использовать более сложный алгоритм и тратить больше времени, чтобы объяснить, почему они рассчитываются как выбросы.Метод Zscore чувствителен к экстремальным выбросам.Безумный метод в этом случае более надежен.для 2 или более размеров, мой любимый изолированный лес.высокая скорость (сама по себе) и приемлемая точность (88% ~ 89%) в большом наборе данных.

0 голосов
/ 26 апреля 2019

Sklearn имеет довольно много алгоритмов для обнаружения выбросов. Например, у вас есть Isolation Forests и Oneclass SVM.

Вот ссылка введите здесь описание ссылки к некоторым примерам

...