Как выполнить 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

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

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