Tests de signification Scipy
Un test de signification consiste à formuler à l'avance une hypothèse sur les paramètres d'une population (variable aléatoire) ou sur la forme de la distribution de la population, puis à utiliser les informations de l'échantillon pour juger si cette hypothèse (hypothèse alternative) est raisonnable, c'est-à-dire pour déterminer s'il existe une différence significative entre la situation réelle de la population et l'hypothèse nulle. En d'autres termes, le test de signification sert à déterminer si la différence entre l'échantillon et notre hypothèse sur la population est purement due à une variation due au hasard, ou si elle est causée par l'incohérence entre notre hypothèse et la situation réelle de la population. Le test de signification teste les hypothèses que nous formulons sur la population, et son principe est d'accepter ou de rejeter l'hypothèse sur la base du « principe d'impossibilité pratique des événements de faible probabilité ».
Le test de signification est une méthode utilisée pour déterminer s'il existe une différence entre le groupe de traitement expérimental et le groupe témoin, ou entre les effets de deux traitements différents, et si cette différence est significative.
SciPy fournit le module scipy.stats pour exécuter les fonctions de test de signification de SciPy.
Hypothèse statistique
Une hypothèse statistique est une hypothèse portant sur la distribution inconnue d'une ou plusieurs variables aléatoires. Une hypothèse statistique dans laquelle la forme de la distribution de la variable aléatoire est connue et qui ne porte que sur un ou plusieurs paramètres inconnus de la distribution est appelée hypothèse paramétrique. Le processus de test des hypothèses statistiques est appelé test d'hypothèses, et le test utilisé pour juger les hypothèses paramétriques est appelé test paramétrique.
Hypothèse nulle
L'hypothèse nulle, terme statistique également appelé hypothèse d'origine, désigne l'hypothèse établie à l'avance lors de la réalisation de tests statistiques. Lorsque l'hypothèse nulle est vérifiée, la statistique pertinente doit suivre une distribution de probabilité connue.
Lorsque la valeur calculée de la statistique tombe dans la région de rejet, on peut savoir qu'un événement de faible probabilité s'est produit, et l'hypothèse nulle doit être rejetée.
Une hypothèse à tester est souvent notée H0, appelée hypothèse nulle, et l'hypothèse opposée à H0 est notée H1, appelée hypothèse alternative.
- Lorsque l'hypothèse nulle est vraie, décider d'abandonner l'hypothèse nulle est appelé une erreur de type I, et sa probabilité d'occurrence est généralement notéeα;
- Lorsque l'hypothèse nulle n'est pas vraie, décider de ne pas abandonner l'hypothèse nulle est appelé une erreur de type II, et sa probabilité d'occurrence est généralement notéeβ
- α+β n'est pas nécessairement égal à 1.
Généralement, seule la probabilité maximale de commettre une erreur de type I est limitéeα, et la probabilité de commettre une erreur de type II n'est pas prise en compteβ. Un tel test d'hypothèse est aussi appelé test de signification, et la probabilitéαest appelée le niveau de signification.
Les valeurs les plus couramment utiliséesαsont 0.01, 0.05, 0.10, etc. En général, selon le problème de recherche, si abandonner une hypothèse vraie entraîne une perte importante, afin de réduire de telles erreurs,αon prend une valeur plus petite ; inversement,αon prend une valeur plus grande.
Hypothèse alternative
L'hypothèse alternative est l'un des concepts de base de la statistique. Elle contient toutes les propositions concernant la distribution de la population qui rendent l'hypothèse nulle invalide. L'hypothèse alternative est aussi appelée hypothèse opposée ou hypothèse alternative.
L'hypothèse alternative peut remplacer l'hypothèse nulle.
Par exemple, pour l'évaluation des étudiants, nous adopterons :
"Students are worse than average" — as the null hypothesis
Test unilatéral
Test unilatéral, également appelé test à une queue, aussi connu sous le nom de test unilatéral. En test d'hypothèses, la méthode consistant à utiliser l'aire de queue unilatérale dans l'aire délimitée par la courbe de densité de la statistique de test et l'axe des abscisses pour construire la région critique du test est appelée test unilatéral.
Lorsque notre hypothèse ne teste qu'un seul côté de la valeur, on parle de « test à une queue ».
Exemple :
Pour l'hypothèse nulle :
“均值等于 k”
Nous pouvons avoir l'hypothèse alternative :
“平均值小于 k” ou “平均值大于 k”
Test bilatéral
Test bilatéral, également appelé test à deux queues ou test bilatéral. En test d'hypothèses, méthode qui utilise les aires de queue à gauche et à droite de l'aire délimitée par la courbe de densité de la statistique de test et l'axe des x pour construire la région critique du test.
Lorsque notre hypothèse teste les deux côtés de la valeur.
Exemple :
Pour l'hypothèse nulle :
“均值等于 k”
Nous pouvons avoir l'hypothèse alternative :
“均值不等于k”
Dans ce cas, la moyenne est inférieure ou supérieure à k, et les deux côtés doivent être vérifiés.
Valeur alpha
La valeur alpha est le niveau de signification.
Le niveau de signification est la probabilité de commettre une erreur lorsqu'on estime que le paramètre de population se situe dans un certain intervalle, noté parαindiqué.
À quel point les données doivent être proches de l'extrême pour rejeter l'hypothèse nulle.
Généralement pris comme 0.01, 0.05 ou 0.1.
Valeur P
La valeur P indique à quel point les données sont réellement proches de l'extrême.Comparez la valeur P avec la valeur alpha pour déterminer le niveau de signification statistique.
Si la valeur p <= alpha, nous rejetons l'hypothèse nulle et disons que les données sont statistiquement significatives ; sinon, nous acceptons l'hypothèse nulle.
Test T
Le test T est utilisé pour déterminer s'il existe une différence significative entre les moyennes de deux variables et pour déterminer si elles appartiennent à la même distribution.
Il s'agit d'un test bilatéral.
La fonction ttest_ind() prend deux échantillons de même taille et génère un tuple de la statistique t et de la valeur p.
Déterminez si les valeurs données v1 et v2 proviennent de la même distribution :
Exemple
from scipy.stats import ttest_ind
v1 = np.random.normal(size=100)
v2 = np.random.normal(size=100)
res = ttest_ind(v1, v2)
print(res)
Le résultat de sortie est:
Ttest_indResult(statistic=0.40833510339674095, pvalue=0.68346891833752133)
Si vous souhaitez uniquement renvoyer la p-value, utilisez la propriété pvalue :
Exemple
from scipy.stats import ttest_ind
v1 = np.random.normal(size=100)
v2 = np.random.normal(size=100)
res = ttest_ind(v1, v2).pvalue
print(res)
Le résultat de sortie est:
0.68346891833752133
Test KS
Le test KS est utilisé pour vérifier si une valeur donnée est conforme à une distribution.Cette fonction prend deux paramètres : la valeur à tester et la CDF.
CDF est la fonction de répartition cumulative, également appelée fonction de distribution.
La CDF peut être une chaîne de caractères ou une fonction appelable qui renvoie une probabilité.
Il peut être utilisé comme un test unilatéral ou bilatéral.
Par défaut, il s'agit d'un test bilatéral. Nous pouvons passer le paramètre alternative comme l'une des chaînes "two-sided", "less" ou "greater".
Déterminer si une valeur donnée suit une loi normale :
Exemple
from scipy.stats import kstest
v = np.random.normal(size=100)
res = kstest(v, 'norm')
print(res)
Le résultat de sortie est:
KstestResult(statistic=0.047798701221956841, pvalue=0.97630967161777515)
Description statistique des données
À l'aide de la fonction describe(), vous pouvez consulter des informations sur un tableau, notamment les valeurs suivantes :
- nobs -- nombre d'observations
- minmax -- valeurs minimale et maximale
- mean -- moyenne mathématique
- variance -- variance
- skewness -- asymétrie
- kurtosis -- aplatissement
Afficher les informations de description statistique du tableau :
Exemple
from scipy.stats import describe
v = np.random.normal(size=100)
res = describe(v)
print(res)
Le résultat de sortie est:
DescribeResult(
nobs=100,
minmax=(-2.0991855456740121, 2.1304142707414964),
mean=0.11503747689121079,
variance=0.99418092655064605,
skewness=0.013953400984243667,
kurtosis=-0.671060517912661
)
Test de normalité (asymétrie et aplatissement)
Le test qui utilise des données observées pour déterminer si une population suit une distribution normale est appelé test de normalité. Il s'agit d'un test d'hypothèse d'adéquation particulier important dans la décision statistique.
Le test de normalité repose sur l'asymétrie et l'aplatissement.
La fonction normaltest() renvoie la valeur p de l'hypothèse nulle :
“x 来自正态分布”
Asymétrie
Une mesure de la symétrie des données.
Pour une distribution normale, elle est de 0.
Si elle est négative, cela signifie que les données sont asymétriques à gauche.
Si elle est positive, cela signifie que les données sont asymétriques à droite.
Aplatissement
Une mesure permettant de déterminer si les données ont des queues lourdes ou des queues légères par rapport à une distribution normale.
Un kurtosis positif signifie que les queues sont lourdes.
Un kurtosis négatif signifie que les queues sont légères.
Trouvez l'asymétrie et le kurtosis des valeurs dans un tableau :
Exemple
from scipy.stats import skew, kurtosis
v = np.random.normal(size=100)
print(skew(v))
print(kurtosis(v))
Le résultat de sortie est:
0.11168446328610283 -0.1879320563260931
Déterminez si les données proviennent d'une distribution normale :
Exemple
from scipy.stats import normaltest
v = np.random.normal(size=100)
print(normaltest(v))
Le résultat de sortie est:
NormaltestResult(statistic=4.4783745697002848, pvalue=0.10654505998635538)Autres extensions