Comment effectuer un test F en Python
Un test F est utilisé pour tester si deux variances de population sont égales. Les hypothèses nulles et alternatives du test sont les suivantes :
H 0 : σ 1 2 = σ 2 2 (les variances de population sont égales)
H 1 : σ 1 2 ≠ σ 2 2 (les variances de population ne sont pas égales)
Ce tutoriel explique comment effectuer un test F en Python.
Exemple : F-Test en Python
Supposons que nous ayons les deux exemples suivants :
x = [18, 19, 22, 25, 27, 28, 41, 45, 51, 55] y = [14, 15, 15, 17, 18, 22, 25, 25, 27, 34]
Nous pouvons utiliser la fonction suivante pour effectuer un test F afin de déterminer si les deux populations dont proviennent ces échantillons ont des variances égales :
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 statistique du test F est de 4,38712 et la valeur p correspondante est de 0,019127 . Puisque cette valeur p est inférieure à 0,05, nous rejetterions l’hypothèse nulle. Cela signifie que nous disposons de suffisamment de preuves pour affirmer que les deux variances de population ne sont pas égales.
Remarques
- La statistique du test F est calculée comme s 1 2 / s 2 2 . Par défaut, numpy.var calcule la variance de la population. Pour calculer la variance de l’échantillon, nous devons spécifier ddof=1 .
- La valeur p correspond à 1 – cdf de la distribution F avec des degrés de liberté au numérateur = n 1 -1 et des degrés de liberté au dénominateur = n 2 -1.
- Cette fonction ne fonctionne que lorsque la variance du premier échantillon est supérieure à la variance du deuxième échantillon. Définissez donc les deux exemples de manière à ce qu’ils fonctionnent avec la fonction.
Quand utiliser le test F
Le test F est généralement utilisé pour répondre à l’une des questions suivantes :
1. Deux échantillons proviennent-ils de populations présentant des variances égales ?
2. Un nouveau traitement ou processus réduit-il la variabilité d’un traitement ou d’un processus actuel ?
Connexe : Comment effectuer un test F dans R