Як виконати 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