Як виконати f-тест у python


F-тест використовується для перевірки рівності двох дисперсій сукупності. Нульова та альтернативна гіпотези тесту такі:

H 0 : σ 1 2 = σ 2 2 (дисперсії сукупності рівні)

H 1 : σ 1 2 ≠ σ 2 2 (дисперсії сукупності не рівні)

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

Приклад: F-тест на Python

Припустимо, ми маємо такі два приклади:

 x = [18, 19, 22, 25, 27, 28, 41, 45, 51, 55]
y = [14, 15, 15, 17, 18, 22, 25, 25, 27, 34]

Ми можемо використати таку функцію, щоб виконати F-тест, щоб визначити, чи дві генеральні сукупності, з яких походять ці зразки, мають однакові дисперсії:

 import numpy as np

#define F-test function
def f_test(x, y):
    x = np.array(x)
    y = np.array(y)
    f = np.var(x, ddof=1)/np.var(y, ddof=1) #calculate F test statistic
    dfn = x.size-1 #define degrees of freedom numerator
    dfd = y.size-1 #define degrees of freedom denominator
    p = 1-scipy.stats.f.cdf(f, dfn, dfd) #find p-value of F test statistic
    return f,p

#perform F-test
f_test(x, y)

(4.38712, 0.019127)

Статистика F-критерію становить 4,38712 , а відповідне значення p — 0,019127 . Оскільки це p-значення менше 0,05, ми б відхилили нульову гіпотезу. Це означає, що ми маємо достатньо доказів, щоб стверджувати, що дві дисперсії сукупності не рівні.

Коментарі

  • Статистика F-тесту обчислюється як s 1 2 / s 2 2 . За замовчуванням numpy.var обчислює дисперсію сукупності. Щоб обчислити дисперсію вибірки, нам потрібно вказати ddof=1 .
  • Значення p відповідає 1 – cdf розподілу F зі ступенями свободи в чисельнику = n 1 -1 і ступенями свободи в знаменнику = n 2 -1.
  • Ця функція працює лише тоді, коли дисперсія першої вибірки більша за дисперсію другої вибірки. Тому встановіть обидва приклади для роботи з функцією.

Коли використовувати тест F

F-тест зазвичай використовується для відповіді на одне з наступних питань:

1. Чи походять дві вибірки з сукупностей з однаковими дисперсіями?

2. Чи зменшує нове лікування або процес варіабельність поточного лікування або процесу?

Пов’язане: як виконати тест F у R

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

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