Нахождение выбросов
Помню, как-то давно я поднимал в канале ThinkCog тему нахождения выбросов. За мной тогда остался должок: литература и сопутствующая инфа. Возвращаю.
- Схиртладзе, Радкевич. Метрология, стандартизация и сертификация (со стр. 127 и далее)
- Тейлор. Введение в теорию ошибок (148 и далее, хотя всё интересно). Здесь хорошее объяснение критерия Шовене (самого простого, который переписать в код - минут 15).
Сами книги есть в канале + всегда можно обратиться ко мне.
По поводу пакетов: есть и на R, и на Python, но стандартных не нашел. Всё сделано умельцами в своих целях. Отсюда: проверяйте, на чем основан пакет, прежде чем использовать.
Для Python из наиболее понравившегося: расширение для sklearn, PyOD и outlier_utils.
Для R нашел функцию outlierTest в car, пакеты outliers, Anomalize и AnomalyDetection. Последние два заточены для временных рядов.
Тема, естественно, поднималась не только на уровне базовой статистики, но и для машинного обучения. Поэтому существует целый класс методов препроцессинга, которые можно применять, на самом деле, где угодно.
Ссылки для Python:
- Sklearn с примерами: https://scikit-learn.org/stable/modules/outlier_detection.html
- Python Outlier Detection: https://github.com/yzhao062/pyod
- outlier_utils: https://pypi.org/project/outlier_utils/
- Do it yourself 1: http://aqibsaeed.github.io/2016-07-17-anomaly-detection/
- Do it yourself 2: https://www.datascience.com/blog/python-anomaly-detection
Ссылки для R:
- car: https://www.r-bloggers.com/outlier-detection-and-treatment-with-r/
- outliers: https://rexplorations.wordpress.com/2015/09/05/simple-outlier-detection-in-r/
- Anomalize: https://www.datacamp.com/community/tutorials/detect-anomalies-anomalize-r
- AnomalyDetection: https://www.r-bloggers.com/anomaly-detection-in-r-2/
Из опыта: если нужен метод, за который потом отвечать (на защите или просто перед совестью), берите попроще. Всё равно для корректной работы каждый требует настройки.
Удачной охоты на выбросы! :)