Table des matières
Présentation
Comprendre l'inspection en cours
Équation statistique du test Z
Implémentation des tests Runs en Python
Algorithme
Exemple
Sortie
Restrictions et remarques
Conclusion
Maison développement back-end Tutoriel Python Effectuer des tests Runs pour le caractère aléatoire en Python

Effectuer des tests Runs pour le caractère aléatoire en Python

Sep 15, 2023 pm 04:25 PM
python le hasard exécute un test

Effectuer des tests Runs pour le caractère aléatoire en Python

Présentation

Le concept d'aléatoire joue un rôle essentiel dans différents domaines tels que l'insight, la cryptographie et la simulation. Déterminer si une séquence d'informations est véritablement irrégulière ou affiche une conception de base est fondamental dans de nombreuses applications. Un test mesurable couramment utilisé à cette fin est un test d’exécution du caractère aléatoire. Dans cet article, nous approfondissons l'exécution de tests de caractère aléatoire et expliquons comment le faire à l'aide de Python, un langage de programmation flexible largement utilisé pour l'analyse statistique. En tirant parti de la puissance de Python et du module scipy.stats, des tests en cours d'exécution peuvent être appliqués efficacement pour évaluer le caractère aléatoire d'un ensemble de données donné.

Comprendre l'inspection en cours

Le test Runs est un test non paramétrique qui examine le regroupement de valeurs dans un ensemble de données pour déterminer si elles sont irrégulières ou si elles présentent un modèle valide. Il repose sur le concept de « runs », qui sont des événements consécutifs dont la valeur dépasse ou descend en dessous d'un certain seuil. En analysant le nombre d'exécutions au sein d'un groupe, nous pouvons évaluer le caractère aléatoire de l'information.

Le soupçon fondamental des tests de longueur d'exécution est que dans des groupements véritablement aléatoires, le nombre d'exécutions aura tendance à se produire après une propagation spécifique. Si le nombre de séquences consultées s'écarte considérablement de l'écart attendu, cela indique une proximité ou un biais intentionnel dans l'information.

Équation statistique du test Z

La mesure du test Z peut être utilisée dans les tests théoriques pour déterminer combien de points d'information manquants il y a dans une moyenne de population ou combien d'écarts types il y a dans une moyenne de test. Il est généralement utilisé lorsque l’écart type de la population est connu. L’équation mesurée par Z−test est :

Z = (X − µ) / (σ / √n)

Où :

(Où)

Z est la valeur mesurée du test Z−,

X est la moyenne du test,

μ est la moyenne globale,

σ est l’écart type de la population, et

n est la taille du test.

Cette formule nous permet de convertir une moyenne de test en un score Z, ce qui permet de déterminer la probabilité d'obtenir une telle moyenne de test si l'hypothèse nulle est vraie. En comparant la mesure du test Z à la valeur critique de la distribution normale standard, nous pouvons prendre la décision d'accepter ou de rejeter l'hypothèse nulle.

Implémentation des tests Runs en Python

Algorithme

Étape 1 : Entrez la séquence d'informations.

Étape 2 : Facteur d'initialisation : num_runs = 1, n = longueur de la séquence de messages.

Étape 3 : Exécutez les nombres à travers la séquence d'informations en comparant les éléments séquentiels.

Étape 4 : Utilisez Expected_runs pour calculer le score attendu.

Étape 5 : Utilisez std_deviation pour calculer l'écart type.

La traduction chinoise de

Exemple

est :

Exemple

def run_test(data):
    n = len(data)
    num_runs = 1  

    for i in range(1, n):
        if data[i] != data[i - 1]:
            num_runs += 1

    expected_runs = (2 * n - 1) / 3
    std_deviation = ((16 * n - 29) / 90) ** 0.5

    z_score = (num_runs - expected_runs) / std_deviation

    return num_runs, expected_runs, std_deviation, z_score

if __name__ == "__main__":
    
    data = [12, 10, 8, 9, 7, 5, 4, 6, 8, 10]

    num_runs, expected_runs, std_deviation, z_score = run_test(data)

    print("Data:", data)
    print("Number of Runs:", num_runs)
    print("Expected Runs:", expected_runs)
    print("Standard Deviation:", std_deviation)
    print("Z-Score:", z_score)
    print("Conclusion:")
    
    
    if abs(z_score) <= 1.96:
        print("The Run Test result is not statistically significant.")
    else:
        print("The Run Test result is statistically significant.")
Copier après la connexion

Sortie

Data: [12, 10, 8, 9, 7, 5, 4, 6, 8, 10]
Number of Runs: 10
Expected Runs: 6.333333333333333
Standard Deviation: 1.2064640713902572
Z-Score: 3.039184301975457
Conclusion:
The Run Test result is statistically significant.
Copier après la connexion

Restrictions et remarques

Bien que le Runs Test of Randomness puisse être un outil précieux de facto, il existe des limites et des considérations à prendre en compte lors de la réalisation du Runs Test de Python. Voici quelques points clés à vérifier lors de l’exécution des tests Runs :

  • Estimation d'échantillon : L'exécution de tests nécessite une estimation de test suffisamment grande pour fournir des résultats fiables. Si l’ensemble de données est trop petit, le test risque de ne pas être suffisamment sensible pour identifier avec précision les écarts par rapport au caractère aléatoire. Une mesure de test d'au moins 20 est recommandée pour obtenir des résultats fiables.

  • Hypothèse d'autonomie : Exécutez le test pour accepter que les percepts de l'ensemble de données sont indépendants les uns des autres. Si l’information n’est pas autonome ou présente une certaine forme d’autocorrélation, les résultats du test en cours peuvent être unilatéraux ou douteux. De cette manière, il est important de garantir la liberté d’information sur les tests d’application récents.

  • Détermination du seuil : Les tests en cours incluent la caractérisation des seuils pour identifier les valeurs courantes au-dessus et en dessous de la limite. Le choix des bords peut complètement affecter les résultats du test. Les bords d'ajustement doivent être choisis en fonction de la nature des informations analysées. Les marges ne doivent pas être trop extrêmes ni trop lâches, car cela pourrait conduire à des conclusions trompeuses.

  • Interprétation des résultats : Bien que l'exécution du test fournisse certaines connaissances sur le caractère aléatoire de l'ensemble de données, il est crucial d'interpréter les résultats avec prudence. Ce test ne prouve pas de manière concluante le caractère aléatoire ou non-aléatoire, mais étudie plutôt dans quelle mesure le caractère aléatoire prend son essor. Notez que la valeur p− suggère un écart par rapport au caractère aléatoire, mais elle ne fournit pas d'informations sur la nature de l'information ou sur la conception spécifique.

  • Comparaison avec le volume de livraison attendu : Le test d'exécution compare le nombre d'exécutions observé à la dispersion attendue en fonction du caractère aléatoire. Dans tous les cas, il convient de noter que la dispersion attendue peut varier en fonction des caractéristiques de l'information et des variations spécifiques des tests utilisés. Il est donc crucial de prendre en compte les rendements attendus appropriés lors de l’interprétation des résultats.

Conclusion

L'exécution de tests de caractère aléatoire peut être un outil important pour évaluer le caractère aléatoire d'une séquence de données. En analysant le nombre d'exécutions dans l'ensemble de données, nous avons pu déterminer si les informations présentaient des tendances ou des écarts sous-jacents. Python, avec son environnement de bibliothèque riche, fournit une plate-forme utile pour effectuer des tests statistiques (tels que l'exécution de tests). Dans cet article, nous avons exploré le concept d'exécution de tests et décrit les étapes pour le faire en Python à l'aide du module scipy.stats. Gardez à l’esprit que les tests statistiques ne constituent pas une preuve concluante du caractère aléatoire ou non du hasard, mais ils constituent un outil important pour analyser les informations.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment télécharger Deepseek Xiaomi Comment télécharger Deepseek Xiaomi Feb 19, 2025 pm 05:27 PM

Comment télécharger Deepseek Xiaomi

Quels sont les avantages et les inconvénients des modèles ? Quels sont les avantages et les inconvénients des modèles ? May 08, 2024 pm 03:51 PM

Quels sont les avantages et les inconvénients des modèles ?

Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs Jul 01, 2024 am 07:22 AM

Google AI annonce Gemini 1.5 Pro et Gemma 2 pour les développeurs

Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3 Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3 May 06, 2024 pm 03:52 PM

Pour seulement 250$, le directeur technique de Hugging Face vous apprend étape par étape comment peaufiner Llama 3

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM May 06, 2024 pm 04:43 PM

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM

Un guide complet sur le débogage et l'analyse des fonctions Golang Un guide complet sur le débogage et l'analyse des fonctions Golang May 06, 2024 pm 02:00 PM

Un guide complet sur le débogage et l'analyse des fonctions Golang

Comment lui demandez-vous Deepseek Comment lui demandez-vous Deepseek Feb 19, 2025 pm 04:42 PM

Comment lui demandez-vous Deepseek

Comment enregistrer la fonction d'évaluation Comment enregistrer la fonction d'évaluation May 07, 2024 am 01:09 AM

Comment enregistrer la fonction d'évaluation

See all articles