Как определить выбросы в SAS (на примере)

Как определить выбросы в SAS (на примере)

Выброс — это наблюдение, которое лежит аномально далеко от других значений в наборе данных. Выбросы могут быть проблематичными, поскольку они могут повлиять на результаты анализа.

Наиболее распространенный способ выявления выбросов в наборе данных — использование межквартильного диапазона.

Межквартильный размах (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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.