Як запустити тестер граббса на python


Тест Граббса використовується для визначення наявності викидів у наборі даних. Для використання цього тесту набір даних має бути приблизно нормально розподіленим і містити принаймні 7 спостережень.

Цей підручник пояснює, як виконати тест Граббса в Python.

Тест Граббса на Python

Щоб виконати тест Граббса в Python, ми можемо використати функцію smirnov_grubbs() із пакета outlier_utils , яка використовує такий синтаксис:

smirnov_grubbs.test (дані, альфа = 0,05)

золото:

  • дані: числовий вектор значень даних
  • альфа: рівень значущості для використання в тесті. Значення за замовчуванням 0,05

Щоб скористатися цією функцією, спочатку потрібно встановити пакет outlier_utils :

 pip install outlier_utils

Після встановлення цього пакета ви можете виконати тест Граббса. Наступні приклади ілюструють, як це зробити.

Приклад 1: двобічний тест Граббса

У наведеному нижче коді показано, як виконати двобічний тест Граббса, який виявить викиди на обох кінцях набору даних.

 import numpy as np
from outliers import smirnov_grubbs as grubbs

#define data
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

#perform Grubbs' test
grubbs. test (data, alpha=.05)

array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29])

Ця функція просто повертає масив без викидів. У цьому випадку максимальне значення 40 було викидом і тому було видалено.

Приклад 2: однобічний тест Граббса

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

 import numpy as np
from outliers import smirnov_grubbs as grubbs

#define data
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

#perform Grubbs' test to see if minimum value is an outlier
grubbs. min_test (data, alpha=.05)

array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

#perform Grubbs' test to see if minimum value is an outlier
grubbs. max_test (data, alpha=.05)

array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29])

Перевірка мінімального викиду не виявила мінімального значення як викиду. Проте тест максимального викиду визначив, що максимальне значення 40 було викидом і тому було видалено.

Приклад 3: Витягніть індекс викиду

Наступний код демонструє, як отримати індекс викиду:

 import numpy as np
from outliers import smirnov_grubbs as grubbs

#define data
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

#perform Grubbs' test and identify index (if any) of the outlier
grubbs. max_test_indices (data, alpha=.05)

[16]

Це говорить нам про те, що в 16 позиції індексу таблиці є викид.

Приклад 4: вилучення значення з викиду

Наступний код демонструє, як витягти значення з викиду:

 import numpy as np
from outliers import smirnov_grubbs as grubbs

#define data
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

#perform Grubbs' test and identify the actual value (if any) of the outlier
grubbs. max_test_outliers (data, alpha=.05)

[40]

Це говорить нам про наявність викиду зі значенням 40.

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

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

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

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

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

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

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