Come eseguire un test f in python


Un test F viene utilizzato per verificare se le varianze di due popolazioni sono uguali. Le ipotesi nulla e alternativa del test sono le seguenti:

H 0 : σ 1 2 = σ 2 2 (le varianze della popolazione sono uguali)

H 1 : σ 1 2 ≠ σ 2 2 (le varianze della popolazione non sono uguali)

Questo tutorial spiega come eseguire un test F in Python.

Esempio: F-Test in Python

Supponiamo di avere i seguenti due esempi:

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

Possiamo utilizzare la seguente funzione per eseguire un test F per determinare se le due popolazioni da cui provengono questi campioni hanno varianze uguali:

 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)

La statistica del test F è 4,38712 e il valore p corrispondente è 0,019127 . Poiché questo valore p è inferiore a 0,05, rifiuteremo l’ipotesi nulla. Ciò significa che abbiamo prove sufficienti per affermare che le due varianze della popolazione non sono uguali.

Commenti

  • La statistica del test F è calcolata come s 1 2 / s 2 2 . Per impostazione predefinita, numpy.var calcola la varianza della popolazione. Per calcolare la varianza del campione, dobbiamo specificare ddof=1 .
  • Il valore p corrisponde a 1 – cdf della distribuzione F con gradi di libertà al numeratore = n 1 -1 e gradi di libertà al denominatore = n 2 -1.
  • Questa funzione funziona solo quando la varianza del primo campione è maggiore della varianza del secondo campione. Quindi imposta entrambi gli esempi per lavorare con la funzione.

Quando utilizzare il test F

Il test F viene generalmente utilizzato per rispondere a una delle seguenti domande:

1. Due campioni provengono da popolazioni con varianza uguale?

2. Un nuovo trattamento o processo riduce la variabilità di un trattamento o processo attuale?

Correlato: Come eseguire un test F in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *