Jak wykonać test f w pythonie


Test F służy do sprawdzenia, czy dwie wariancje populacji są równe. Hipotezy zerowe i alternatywne testu są następujące:

H 0 : σ 1 2 = σ 2 2 (wariancje populacji są równe)

H 1 : σ 1 2 ≠ σ 2 2 (wariancje populacji nie są równe)

W tym samouczku wyjaśniono, jak wykonać test F w Pythonie.

Przykład: F-Test w Pythonie

Załóżmy, że mamy następujące dwa przykłady:

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

Możemy użyć następującej funkcji, aby przeprowadzić test F w celu ustalenia, czy dwie populacje, z których pochodzą te próbki, mają równe wariancje:

 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)

Statystyka testu F wynosi 4,38712 , a odpowiadająca jej wartość p wynosi 0,019127 . Ponieważ ta wartość p jest mniejsza niż 0,05, odrzucilibyśmy hipotezę zerową. Oznacza to, że mamy wystarczająco dużo dowodów, aby stwierdzić, że obie wariancje populacji nie są równe.

Uwagi

  • Statystykę testu F oblicza się jako s 1 2 / s 2 2 . Domyślnie numpy.var oblicza wariancję populacji. Aby obliczyć wariancję próbki, musimy określić ddof=1 .
  • Wartość p odpowiada 1 – cdf rozkładu F ze stopniami swobody w liczniku = n 1 -1 i stopniami swobody w mianowniku = n 2 -1.
  • Funkcja ta działa tylko wtedy, gdy wariancja pierwszej próbki jest większa niż wariancja drugiej próbki. Ustaw więc oba przykłady tak, aby działały z funkcją.

Kiedy stosować test F

Test F jest zwykle używany do odpowiedzi na jedno z następujących pytań:

1. Czy dwie próbki pochodzą z populacji o równych wariancjach?

2. Czy nowa obróbka lub proces zmniejsza zmienność aktualnej obróbki lub procesu?

Powiązane: Jak wykonać test F w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *