Как выполнить тест Граббса в R


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

В этом руководстве объясняется, как выполнить тест Граббса в R для обнаружения выбросов в наборе данных.

Пример: тест Граббса в R

Чтобы выполнить тест Граббса в R, мы можем использовать функцию grubbs.test() из пакета Outliers , которая использует следующий синтаксис:

grubbs.test(x, тип = 10, напротив = ЛОЖЬ, двухсторонний = ЛОЖЬ)

куда:

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

В этом тесте используются следующие две гипотезы:

H 0 (нулевая гипотеза): в данных нет выбросов.

H A (альтернативная гипотеза): в данных есть выброс.

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

#load Outliers package
library(Outliers)

#create data
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» выбросом, мы могли бы использовать команду наоборот=ИСТИНА :

#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. Удалите выброс. Если значение является истинным выбросом, вы можете удалить его, если оно окажет значительное влияние на общий анализ.

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