Как запустить тестер grubbs в 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)

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

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

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