Выбросы – это точки данных, которые значительно отличаются от большинства данных. Выявление и обработка выбросов является важным шагом в анализе данных, поскольку они могут оказать существенное влияние на статистические показатели и модели машинного обучения. В этой статье мы рассмотрим различные методы обнаружения и обработки выбросов в R, а также приведем примеры кода.
- Визуализация выбросов.
Визуальный осмотр часто является первым шагом в выявлении выбросов. Несколько графических методов могут помочь нам выявить выбросы в наборе данных, включая коробчатые диаграммы, диаграммы рассеяния и гистограммы. Давайте рассмотрим пример с использованием встроенного набора данных «mtcars»:
# Box plot
boxplot(mtcars$mpg, main = "Miles per Gallon")
- Метод Z-показателя:
Z-показатель измеряет, на сколько стандартных отклонений точка данных отклоняется от среднего значения. Наблюдения с z-показателем, превышающим определенный порог (например, 3), можно считать выбросами. Вот пример:
# Calculate z-scores
z_scores <- scale(mtcars$mpg)
threshold <- 3
# Identify outliers
outliers <- abs(z_scores) > threshold
- Модифицированный метод Z-показателя:
Модифицированный z-показатель является надежной альтернативой обычному z-показателю. Он основан на медианном абсолютном отклонении (MAD), а не на стандартном отклонении. Вот пример:
# Calculate modified z-scores
mad <- median(abs(mtcars$mpg - median(mtcars$mpg)))
modified_z_scores <- (mtcars$mpg - median(mtcars$mpg)) / mad
# Identify outliers
threshold <- 3.5
outliers <- abs(modified_z_scores) > threshold
- Ограждения Тьюки.
Ограждения Тьюки — еще один широко используемый метод обнаружения выбросов. Рассчитывается межквартильный размах (IQR), и любая точка данных за пределами границ (в 1,5 раза превышающая IQR) считается выбросом. Вот пример:
# Calculate Tukey's fences
Q1 <- quantile(mtcars$mpg, 0.25)
Q3 <- quantile(mtcars$mpg, 0.75)
IQR <- Q3 - Q1
lower_fence <- Q1 - 1.5 * IQR
upper_fence <- Q3 + 1.5 * IQR
# Identify outliers
outliers <- mtcars$mpg < lower_fence | mtcars$mpg > upper_fence
- Расстояние Махаланобиса.
Расстояние Махаланобиса измеряет расстояние между каждым наблюдением и средним значением набора данных с учетом ковариационной структуры. Наблюдения с большим расстоянием Махаланобиса можно считать выбросами. Вот пример:
# Calculate Mahalanobis distance
cov_matrix <- cov(mtcars$mpg)
mean_vec <- colMeans(mtcars$mpg)
mahalanobis_dist <- mahalanobis(mtcars$mpg, mean_vec, cov_matrix)
# Identify outliers
threshold <- 20
outliers <- mahalanobis_dist > threshold
В этой статье мы рассмотрели несколько методов обнаружения выбросов в R, включая визуальные методы, z-показатель, модифицированный z-показатель, заборы Тьюки и расстояние Махаланобиса. Каждый метод имеет свои преимущества и ограничения, а выбор метода зависит от характеристик данных и конкретных целей анализа. Правильно выявляя и обрабатывая выбросы, мы можем обеспечить надежный и точный анализ и моделирование данных в R.
Не забудьте скорректировать примеры кода в соответствии с вашим конкретным набором данных и требованиями к анализу. Удачного обнаружения выбросов в R!