Я расскажу о своем личном опыте работы с различными методами выявления множественных аномалий (выбросов) в данных.
Один из методов, который я использую, это Isolation Forest. Этот алгоритм основан на построении ансамбля из небольшого числа деревьев, которые проводят разбиения в данных. Главная идея Isolation Forest заключается в том, что аномалии будут иметь более короткое среднее расстояние до других точек, в сравнении с обычными точками.
Однако, несмотря на хорошую точность выявления выбросов, Isolation Forest работает довольно медленно на больших объемах данных. В моем личном опыте, обработка набора данных с 100 тысячами записей может занять несколько минут.
Еще один метод, который я испытал, это Local Outlier Factor (LOF). Он основан на измерении плотности точек данных и определении, насколько точка отличается от окружающих ее соседей. Если точка отличается в сравнении с окружающими, то она считается аномальной. LOF обеспечивает высокую точность выявления аномалий, но имеет проблему с вычислительной сложностью при работе с большими объемами данных.
Учитывая требования скорости вычислений, я также пробовал метод одноклассового SVM (Support Vector Machine). Он основан на обучении модели только с нормальными точками и трансформации данных для нахождения аномалий. Одноклассовый SVM предоставляет хорошую скорость обработки данных, но точность его может немного уступать в сравнении с Isolation Forest и LOF.
На основе моего опыта, я могу сказать, что Isolation Forest имеет наилучшие характеристики по точности выявления аномалий, но уступает по скорости вычислений. Если вам необходимо быстро обработать большой объем данных и важна скорость работы, то одноклассовый SVM может быть предпочтительным методом. Однако, при работе с небольшими объемами данных, LOF может быть хорошим выбором, так как он обеспечивает высокую точность выявления аномалий.