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