Як визначити викиди в 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *