Як запустити тестер граббса в r


Тест Ґраббса — це статистичний тест, який можна використовувати для визначення наявності викидів у наборі даних.

Щоб використовувати цей тест, набір даних повинен мати приблизно нормальний розподіл і містити принаймні 7 спостережень.

У цьому підручнику пояснюється, як виконати тест Граббса в R для виявлення викидів у наборі даних.

Приклад: тест Граббса в R

Щоб виконати тест Граббса в R, ми можемо використати функцію grubbs.test() із пакета Outliers , яка використовує такий синтаксис:

grubbs.test(x, тип = 10, протилежний = FALSE, двосторонній = FALSE)

золото:

  • x: числовий вектор значень даних
  • тип: 10 = перевірити, чи є максимальне значення викидом, 11 = перевірити, чи є мінімальне та максимальне значення викидами, 20 = перевірити, чи є два викиди на хвості
  • протилежність: логіка, що вказує, чи потрібно перевіряти не значення з найбільшою різницею від середнього, а навпаки (найнижче, якщо найбільш підозріле – найвище тощо)
  • двосторонній: логічне значення, яке вказує, чи слід розглядати тест як двосторонній

Цей тест використовує такі дві гіпотези:

H 0 (нульова гіпотеза): у даних немає викидів.

H A (альтернативна гіпотеза): у даних є викид.

У наступному прикладі показано, як виконати тест Граббса, щоб визначити, чи є максимальне значення в наборі даних викидом:

 #load Outliers package
library(Outliers)

#createdata
data <- c(5, 14, 15, 15, 14, 13, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40)

#perform Grubbs' Test to see if '40' is an outlier
grubbs.test(data)

# Grubbs test for one outlier
#
#data:data
#G = 2.65990, U = 0.55935, p-value = 0.02398
#alternative hypothesis: highest value 40 is an outlier

Статистика тесту становить G = 2,65990 , а відповідне значення p – p = 0,02398 . Оскільки це значення менше 0,05, ми відхилимо нульову гіпотезу та зробимо висновок, що максимальне значення 40 є викидом.

Якщо натомість ми хочемо перевірити, чи є найнижче значення «5» викидом, ми можемо використати протилежну команду=TRUE :

 #perform Grubbs' Test to see if '5' is an outlier
grubbs.test(data, opposite= TRUE )

# Grubbs test for one outlier
#
#data:data
#G = 1.4879, U = 0.8621, p-value = 1
#alternative hypothesis: lowest value 5 is an outlier

Статистика тесту становить G = 1,4879 , а відповідне значення p – p = 1 . Оскільки це значення не менше 0,05, ми не можемо відхилити нульову гіпотезу. У нас немає достатніх доказів, щоб стверджувати, що мінімальне значення «5» є викидом.

Нарешті, припустимо, що ми маємо два великих значення на одному кінці набору даних: 40 і 42. Щоб перевірити, чи є ці два значення викидами, ми можемо виконати тест Граббса та вказати type=20 :

 #create dataset with two large values at one end: 40 and 42
data <- c(5, 14, 15, 15, 14, 13, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40, 42) 

#perform Grubbs' Test to see if both 40 and 42 are outliers
grubbs.test(data, type=20)

# Grubbs test for two outliers
#
#data: data
#U = 0.38111, p-value = 0.01195
#alternative hypothesis: highest values 40, 42 are outliers

P-значення тесту становить 0,01195 . Оскільки це значення менше 0,05, ми можемо відхилити нульову гіпотезу та зробити висновок, що у нас є достатньо доказів, щоб сказати, що значення 40 і 42 є викидами.

Як працювати з викидами

Якщо тест Граббса визначає викид у вашому наборі даних, у вас є кілька варіантів:

1. Ще раз перевірте, чи значення не є друкарською помилкою чи помилкою введення даних. Іноді значення, які відображаються як викиди в наборах даних, є просто помилками, зробленими особою під час введення даних. Поверніться назад і переконайтеся, що значення було введено правильно, перш ніж приймати подальші рішення.

2. Призначте нове значення викиду . Якщо викид виявляється результатом друкарської помилки або помилки введення даних, ви можете вирішити призначити йому нове значення, наприклад середнє або медіане набору даних.

3. Видаліть викид. Якщо значення справді викидається, ви можете видалити його, якщо воно матиме значний вплив на загальний аналіз.

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

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