Алгоритм анализа данных и определения выбросов
Есть некоторый набор данных по нескольким параметрам. Другими словами двумерный массив, где значения во вложенных массива - некоторые значения параметров. Изобразить можно так:
/ p1 / p2 / p3 /
-------------------------------
A / 4 / 5 / 3 /
B / 4 / 10 / 1 /
C / 1 / 6 / 2 /
В данном случае у нас есть 3 вектора: А, В, С. У меня задача сложнее, параметров больше 20, различных векторов 1000+.
Задача: проанализировать эти данные, найти выбросы среди них.
Мне на ум приходит 2 идеи:
- Подсчитать косинусное расстояние между всеми векторами, однако что с этим делать дальше я не особо понимаю..
- Пройтись по каждому параметру, посмотреть среднеквадратическое отклонение, посмотреть выбросы по каждому параметру, но зачем...
Вопрос: как можно проанализировать датасет, что считать за выбросы и как их найти?
Ответы (1 шт):
Ну, можно ждать, какие еще идеи придут на ум. А можно посмотреть, как люди решают вашу задачу, причем - в основном не по наитию, а после того, как изучат соответствующую теорию. Ключевое слово "Outliers detection" или "Anomalies detection" Можете начать отсюда:
- https://towardsdatascience.com/outlier-detection-theory-visualizations-and-code-a4fd39de540c
- https://baguzin.ru/wp/opredelenie-vybrosov/
- https://www.statisticshowto.com/find-outliers/
- https://machinelearningmastery.com/how-to-use-statistics-to-identify-outliers-in-data/
- https://towardsdatascience.com/ways-to-detect-and-remove-the-outliers-404d16608dba
- https://www.analyticsvidhya.com/blog/2019/02/outlier-detection-python-pyod/
- https://towardsdatascience.com/outlier-why-is-it-important-af58adbefecc
- https://machinelearningmastery.com/model-based-outlier-detection-and-removal-in-python/
- https://dyakonov.org/2017/04/19//поиск-аномалий-anomaly-detection/
Далее - по ссылкам.
Будут вопросы - обращайтесь.