Как идентифицировать выбросы в 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 ;
At 18
B24
C26
D 34
E 38
F45
G 48
H 54
I 60
Day 73
K 79
L 85
M 94
No. 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *