Выброс — это наблюдение, которое лежит аномально далеко от других значений в наборе данных. Выбросы могут быть проблематичными, поскольку они могут повлиять на результаты анализа.
Наиболее распространенный способ выявления выбросов в наборе данных — использование межквартильного диапазона.
Межквартильный размах (IQR) — это разница между 75-м процентилем (Q3) и 25-м процентилем (Q1) в наборе данных. Он измеряет разброс средних 50% значений.
Обычно мы определяем наблюдение как выброс, если оно в 1,5 раза превышает межквартильный размах, превышающий третий квартиль (Q3), или в 1,5 раза превышает межквартильный размах меньше, чем первый квартиль (Q1).
Выбросы = наблюдения > Q3 + 1,5*IQR или < Q1 – 1,5*IQR
В следующем примере показано, как использовать эту формулу для выявления выбросов в наборе данных в SAS.
Пример: выявление выбросов в SAS
Предположим, у нас есть следующий набор данных в SAS:
/\*create dataset\*/
data original_data;
input team $ points;
datalines ;
A 18
B 24
C 26
D 34
E 38
F 45
G 48
H 54
I 60
J 73
K 79
L 85
M 94
N 98
O 221
P 223
;
run ;
/\*view dataset\*/
proc print data =original_data;

Самый простой способ определить выбросы в SAS — создать блочную диаграмму, которая автоматически использует формулу, упомянутую ранее, для идентификации и отображения выбросов в наборе данных в виде крошечных кружков:
/\*create boxplot to visualize distribution of points\*/
ods output sgplot=boxplot_data;
proc sgplot data =original_data;
vbox points;
run ;
/\*view summary of boxplot descriptive statistics\*/
proc print data =boxplot_data;


На блочном графике видно, что в верхней части графика есть два крошечных круга. Это указывает на наличие двух выбросов.
Из таблицы под диаграммой мы можем увидеть точные значения для двух выбросов: 221 и 223 .
Мы можем вручную проверить, что эти два значения являются выбросами, используя приведенную ранее формулу:
Выбросы = наблюдения > Q3 + 1,5*IQR или < Q1 – 1,5*IQR
Межквартильный размах: Q3 – Q1 = 89,5 – 36 = 53,5.
Верхний предел для выбросов будет следующим: Q3 + 1,5 * IQR = 89,5 + 1,5 * 53,5 = 169,75.
Поскольку 221 и 223 больше этого значения, они классифицируются как выбросы.
Затем мы могли бы использовать следующий код, чтобы удалить эти два выброса из набора данных, если захотим:
/\*create new dataset with outliers removed\*/
data new_data;
set original_data;
if points >= 221 then delete;
run ;
/\*view new dataset\*/
proc print data =new_data;

Обратите внимание, что два выброса были удалены.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как использовать сводку процедур в SAS
Как использовать Proc Tabulate в SAS
Как рассчитать корреляцию в SAS
Как создать частотные таблицы в SAS
Как заменить пропущенные значения нулем в SAS