Test de Scipy KS

Test de Scipy KS

Python est reconnu comme le langage de programmation de l'ordinateur qui lui permet d'écrire les différents types de logiciels et de programmes informatiques. Cette langue a des critères de niveau haute performance parmi toutes les autres langues et son package ne se limite pas à une partie du programme spécifique ou des tâches logicielles. Il est plutôt connu comme une langue polyvalente qui peut être utilisée pour écrire n'importe quel programme, que ce soit un programme mathématique, des matrices et leurs opérations, la mise en œuvre des équations différentielles ou la formation d'un modèle d'apprentissage automatique, et la formation d'un neural artificiel réseau. Pour chaque tâche, votre nom Python le fournit sous une seule plateforme. Scipy est du langage de programmation de Python. Il dispose de modules qui importent les informations nécessaires au programme pour les fonctions conçues pour l'apprentissage automatique et les modèles d'apprentissage en profondeur. Scipy propose une telle fonction comme le «test KS» Scipy.

Le test KS est reconnu comme le «test de Kolmogorov-Smirnov» sous lequel nous découvrons de quel type / type de distribution est l'échantillon sous le test. Il existe deux méthodes pour effectuer de tels tests en fonction du nombre d'échantillons que nous donnons à ce test comme paramètres d'entrée.

Procédure:

Le test KS avec ses deux types de fonctions sera expliqué et démontré pratiquement dans cet article. Cet article donne une bonne connaissance de base sur l'introduction et la fonctionnalité du test KS. Ensuite, il explique la méthode pour écrire ces fonctions dans le script Python avec la discussion sur ses paramètres qui appartiennent à la liste des arguments d'entrée des deux fonctions.

Syntaxe:

Puisque nous savons déjà à partir de l'explication précédente que le test KS est de deux types de nature, la fonctionnalité de ces deux fonctions est la même, mais elles diffèrent légèrement dans leur configuration en termes de leur liste d'arguments. L'un des deux tests KS est connu comme le simple «test KS». Il ne faut qu'un échantillon de données et effectue le test pour ces données. Le second est le «test KS_2Samp». Ce test effectue le même test KS mais pour les deux données d'échantillon différentes. La syntaxe pour le test KS () et KS_2 Test () est donnée respectivement dans les éléments suivants:

$ scipy. Statistiques.kstest ()
$ scipy. Statistiques.ks_2samp ()

Valeur de retour:

Les deux fonctions mentionnées précédemment renvoient le même type de résultat. Ils renvoient tous les deux deux valeurs - l'une est la «statistique» et l'autre est la «valeur p» - où la valeur p est la prise de décision principale, que les échantillons appartiennent à la même distribution ou non.

Exemple 1:

Supposons que nous ayons un échantillon de données qui appartient ou a été généré avec une certaine distribution. Maintenant, avec le test KS, nous voulons savoir à partir de quelle distribution appartient ces données. Nous supposons un type d'hypothèse nul qui indique que les données de l'échantillon proviennent de la distribution normale et que nous sommes confiants à 95% sur notre hypothèse. Dans un autre cas, qui est le cas alternatif, nous avons la possibilité de rejeter l'hypothèse nulle si la valeur p que le test KS renvoie aura la valeur inférieure au «0 0.05 ”.

L'hypothèse nulle est rejetée si le résultat tombe en dessous de 0.05, indiquant que l'échantillon aléatoire n'est même pas venu d'une distribution normale. Effectuons un test KS pour les données d'échantillons que nous générerons de manière unique pour cet exemple. Gardez à l'esprit que la plate-forme Python dans laquelle nous rédigerons le programme pour cet exemple est la "Google Collab".Ouvrez le nouveau cahier dans la collaboration, puis commencez à écrire le programme. Nous importons la bibliothèque «Numpy» pour utiliser son module pour définir les données avec une distribution.

Intégrez ce package Numpy en tant que «NP» dans le programme. La deuxième bibliothèque à ajouter au programme est les «statistiques» qui est un module de la bibliothèque SCIPY. Les importez des statistiques de la bibliothèque SCIPY qui ajoutent ensuite les modules du programme utilisés pour le fonctionnement de la fonction KSTest (). Allouer une variable en supposant «x». Attribuez la valeur de l'exemple de données en appelant les statistiques à attribuer comme «Statistiques.norme.RVS (size = 100, random_state = rng) ".

Avec cet appel, nous définissons les données de la variable aléatoire à l'aide de la norme Statistiques.Fonction des VR pour distribuer normalement ces données. L'hypothèse nulle est que cet échantillon provient de la distribution normale. La taille de ces données est spécifiée comme «200». Pour vérifier les résultats de la fonction KSTest () sur ces données, nous transmettons ces données au paramètre de la fonction KSTest () comme «Statistiques. Kstest (x) ". La sortie du programme suivant est la suivante:

à partir des statistiques d'importation Scipy
a = statistiques.norme.VR (taille = 200)
rslt = statistiques.Kstest (A, statistiques.norme.CDF)
imprimer (RSLT)

La valeur p du test KS est plus grande thsan 0.05. Nous ne pouvons donc pas rejeter l'hypothèse que les données d'échantillons appartiennent à la distribution standard normale.

Exemple 2:

Maintenant, nous effectuons un autre type de test KS qui est le «KS_2test». Il prend les deux données d'échantillons et commentaires si les deux échantillons appartiennent à la même distribution ou non. Importez le module «Stats» de la bibliothèque SCIPY et déclarez deux exemples de données à l'aide des «statistiques. norme. VR (taille = 115) »et« Statistiques.norme.RVS (taille = 105) »Méthodes, respectivement. Enregistrez-les en tant que «Data1» et «Data2». Cela génère les deux données ayant les tailles de «115» et «105» avec une distribution normale. L'hypothèse nulle est que ces deux données proviennent du même type de distribution de «norme normale». Pour vérifier cela, alimentez ces deux données au «KS_2 Test ()» comme «Statistiques.ks_2samp (data1, data2) »et vérifiez la valeur p. Le programme et les sorties sont mentionnés dans ce qui suit:

La valeur du p n'est pas inférieure à 0.05. Donc, l'hypothèse nulle que nous supposions pour ces données est bonne et nous n'avons pas le droit de le rejeter.

data1 = statistiques.norme.VR (taille = 115)
data2 = statistiques.norme.VR (taille = 105)
rslt = statistiques.ks_2samp (data1, data2)
imprimer (RSLT)

Conclusion

Nous avons effectué les deux tests KS en utilisant les différentes fonctions que le test KS offre pour un échantillon comme «Statistiques.ks test () ”et pour les deux échantillons de données comme« ks_2samp () ». Sur la base des résultats des fonctions, nous avons décidé quel échantillon de données appartient à quel type de distribution. Dans les deux cas, il est devenu la distribution de type normal standard.