Maison > Article > développement back-end > Comment effectuer un test F en Python
Les statisticiens utilisent le test F pour vérifier si deux ensembles de données ont la même variance. Le test F porte le nom de Sir Ronald Fisher. Pour utiliser le test F, nous faisons deux hypothèses, une hypothèse nulle et une hypothèse alternative. Nous choisissons ensuite celle des deux hypothèses confirmée par le test F.
La variance est une mesure de la distribution des données qui décrit l'écart des données par rapport à la moyenne. Les valeurs plus élevées montrent une plus grande dispersion que les valeurs plus petites.
Dans cet article, vous apprendrez comment effectuer un F-Test dans le langage de programmation Python ainsi que ses cas d'utilisation.
Le processus d'exécution du test F est le suivant :
Tout d’abord, définissez l’hypothèse nulle et l’hypothèse alternative.
Hypothèse nulle ou H0 : σ12 = σ22 (Variances de population égales)
Hypothèse alternative ou H1 : σ12 ≠ σ22 (les variances de population ne sont pas égales)
Sélectionnez les statistiques à tester.
Calculez les degrés de liberté globaux. Par exemple, si m et n sont les formes globales, les degrés de liberté sont exprimés respectivement par (df1) = m–1 et (df2) = n – 1.
Trouvez maintenant la valeur F dans le tableau F.
Enfin, divisez la valeur alpha du test bilatéral par 2 pour calculer la valeur critique.
Par conséquent, nous définissons la valeur F en utilisant les degrés de liberté de la population. On lit df1 dans la première ligne et df2 dans la première colonne.
Il existe différentes tables F pour des degrés de liberté uniques. Nous comparons la statistique F de l'étape 2 à la valeur critique calculée à l'étape 4. Si la valeur critique est inférieure à la statistique F, nous pouvons rejeter l'hypothèse nulle. Au contraire, lorsque la valeur critique est supérieure à la statistique F à un niveau significatif, nous pouvons accepter l’hypothèse nulle.
Avant d'effectuer le test F basé sur l'ensemble de données, nous avons fait quelques hypothèses.
Les données obéissent généralement à une distribution normale, c'est-à-dire qu'elles se conforment à une courbe en forme de cloche.
Il n'y a pas de corrélation entre les échantillons, c'est-à-dire qu'il n'y a pas de multicolinéarité dans la population.
En plus de ces hypothèses, nous devons également prendre en compte les points clés suivants lors de la réalisation d'un test F :
La valeur de variance maximale doit être dans le numérateur pour effectuer un test de queue droite.
Dans un test bilatéral, divisez alpha par 2 pour déterminer la valeur critique.
Vérifiez s'il y a un écart ou un écart type.
S'il n'y a pas de degrés de liberté dans le tableau F, la valeur maximale est utilisée comme valeur critique.
scipy stats.f()
x : quantiles q : lower or upper tail probability dfn, dfd shape parameters loc :location parameter scale : scale parameter (default=1) size : random variate shape moments : [‘mvsk’] letters, specifying which moments to computeLa traduction chinoise de
Dans cette méthode, l'utilisateur doit transmettre la valeur f_value et la longueur itérable de chaque tableau à scipy.stats.f.cdf() et en soustraire 1 pour effectuer le test F.
Tout d'abord, importez les bibliothèques NumPy et Scipy.stats pour les utiliser.
Créez ensuite deux listes de valeurs choisies au hasard avec deux noms de variables différents, convertissez-les en tableaux NumPy et utilisez Numpy pour calculer la variance de chaque tableau.
Définissez une fonction pour calculer le score F où nous divisons d'abord la variance du tableau par les degrés de liberté comme 1.
Calculez ensuite la longueur itérable de chaque tableau et transmettez la valeur f (rapport de variance) et la longueur dans la fonction CDF et soustrayez la longueur de 1 pour calculer la valeur p.
Enfin, la fonction renvoie p_value et f_value.
import numpy as np import scipy.stats # Create data group1 = [0.28, 0.2, 0.26, 0.28, 0.5] group2 = [0.2, 0.23, 0.26, 0.21, 0.23] # Converting the list to an array x = np.array(group1) y = np.array(group2) # Calculate the variance of each group print(np.var(group1), np.var(group2)) def f_test(group1, group2): f = np.var(group1, ddof=1)/np.var(group2, ddof=1) nun = x.size-1 dun = y.size-1 p_value = 1-scipy.stats.f.cdf(f, nun, dun) return f, p_value # perform F-test f_test(x, y)
Variances: 0.010464 0.00042400000000000017
Vous pouvez observer que la valeur du test F est 4,38712 et la valeur p correspondante est 0,019127.
La valeur p étant inférieure à 0,05, nous abandonnerons l'hypothèse nulle. On peut donc dire que les variances des deux populations ne sont pas égales.
Après avoir lu cet article, vous savez maintenant comment utiliser le test F pour vérifier si deux échantillons appartiennent à une population de même variance. Vous avez découvert la procédure de test F, les hypothèses et l'implémentation de Python. Terminons cet article avec quelques points clés -
Le test F vous indique si deux populations ont des variances égales.
Calculez les degrés de liberté et calculez les valeurs critiques.
Trouvez la statistique F dans la table F et comparez-la avec la valeur clé calculée à l'étape précédente.
Acceptez ou rejetez l'hypothèse nulle en fonction de la valeur critique et de la comparaison de la statistique F.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!