Вопрос или проблема
Я сталкиваюсь с проблемой, когда мне нужно обнаружить выбросы в сборе данных. Цель состоит в том, чтобы выявлять выбросы по переменной Y на основе ее связи с переменной X.
Для этого я сделал следующее:
-
Построил график в логарифмическом масштабе
-
Провел регрессию между двумя переменными с использованием следующей функции
def exponential_function(x, a, b): return b * (x ** a)
. Таким образом, переменная Y имеет теоретическую оценку на основе переменной X. -
Я рассчитал остатки с логарифмическими значениями и нормализовал их, чтобы определить выбросы. Я считал, что чем дальше точка данных от своей оценки, тем больше вероятность того, что она будет считаться выбросом.
На данный момент я решил, что только 5% нормализованных остатков считаются выбросами -95-й процентиль- (вы можете видеть их на картинке красным цветом).
Мои вопросы:
**1. Какие самые распространенные методы обнаружения выбросов по регрессиям на основе логарифмической шкалы?
- Существует ли какой-либо другой надежный метод для определения выбросов, который не основывается на количестве точек данных? – то есть не основанный на процентилях. Например, если моя выборка содержит только 100 точек данных, но они все “близки к оценке”, я не хочу, чтобы код заставлял считать, что есть 5 выбросов из-за 95-го процентиля, а чтобы он сообщил мне, что выбросов не обнаружено, поскольку все они разумны и близки к оценке.**
Спасибо заранее!
[![введите описание изображения здесь][1]][1]
[1]: https://i.sstatic.net/BHQZOKLz.png
Ответ или решение
Определение выбросов в данных, основанных на логарифмической шкале анализа регрессии, является важной частью статистического анализа. Вы правильно начали с визуализации и модели регрессии. Рассмотрим более подробно ответы на ваши вопросы и предложим несколько методов для определения выбросов.
1. Наиболее распространенные методы для обнаружения выбросов в логарифмических регрессионных моделях:
-
Анализ остатков:
- После построения модели регрессии и получения предсказанных значений Y можно вычислить остатки (разность между фактическими значениям и предсказанными). В вашем случае остатки должны быть определены в логарифмическом масштабе.
- Для оценки выбросов можно использовать графики остатков, такие как Q-Q Plot, для визуализации нормальности остатков.
-
Стандартные отклонения:
- Вы можете установить порог для остатков, основываясь на стандартном отклонении. Например, значения, превышающие 2 или 3 стандартных отклонения от среднего остатка, могут быть рассмотрены как выбросы.
-
Метод Бернаули:
- Данный метод основан на сравнении остатков с предопределенной пороговой значимостью на основе нормального распределения, чтобы выявить аномальные наблюдения.
-
Махаланобисовое расстояние:
- Для определения того, насколько каждый наблюдаемый элемент удален от среднего значения, можно использовать это расстояние. Оно помогает в понимании, насколько каждое наблюдение отклоняется от центральной точки многомерного распределения.
2. Более надежные методы определения выбросов, не основанные на количестве данных:
-
Бутстреп:
- Вы можете использовать метод бутстрепа для оценки устойчивости своих оценок и выявления аномалий. Он позволяет вам повторно выборочно отбирать подмножества ваших данных и оценивать модель на этих подмножествах. Это может помочь в установлении отсутствия аномалий в данных.
-
Соседские методы и локальные подходы:
- Методы, такие как LOF (Local Outlier Factor), которые оценивают каждую точку, основываясь на ее плотности относительно соседей, могут помочь выявить выбросы в зависимости от локальной структуры данных.
-
Статистические тесты:
- Проведение брутто-тестов на выбросы, таких как тесты Кука или тесты на основе различных нарушений, может дать более надежные результаты, чем простое указание на процентиль.
-
Использование машинного обучения:
- Алгоритмы, такие как Isolation Forest или One-Class SVM, могут быть обучены для определения выбросов, основываясь на сложных паттернах в данных, без необходимости жесткого порогового определения выборок.
Такой подход позволит вам более гибко реагировать на особенности ваших данных и избежать наложения строгих правил на малых выборках. Вывод о наличии выбросов должен быть основан не только на количественных показателях, но и на понимании структуры и природы ваших данных.