Je veux pouvoir analyser des données avec Python (partie 4)

(Partie 4)

(Reportez-vous à la page qui apparaît dans le texte Les statistiques sont l'étude la plus solide [Pratique] Réflexions et méthodes d'analyse des données-par Kei Nishiuchi Voici la page du livre /9784478028230.html).

Si vous jetez 16 pièces

Le résultat de lancer des pièces de monnaie 16 fois, qui dit "Pour référence" sur P63.

L'auteur souligne que "la somme des données converge vers une distribution normale" même en jetant une pièce asymétrique avec 1/3 de chance d'apparaître dans le tableau.

La raison pour laquelle il a la forme d'une "montagne" est que la chose la plus simple à comprendre est que si les données sont représentées sous la forme d'un tableau 2x2, 3x3 ou 8x8, "un autre modèle qui produit le même résultat" du coin supérieur droit vers le coin inférieur gauche. Il y en a beaucoup "", et en les additionnant, plus la diagonale est proche, plus la valeur totale est grande = le point le plus élevé de la montagne.

code

Cette fois, je ne ferai qu'un graphique à barres, donc je ne préparerai pas les données pour en faire un tableau.


from random import randint
from decimal import Decimal
import numpy as np

def tossBiasedCoin():
    """ Returns 0 or 1 with 0 having 2/3 chance """
    return randint(0,2) % 2

# Prepare counters
tossCount = 16
counts = [0]*tossCount

# Toss a coin many times to get counts
sampleCount = 50000
for num in range(sampleCount):    
    headCount = 0
    for i in range(tossCount): # Toss the coin 16 times
        headCount += tossBiasedCoin()
    counts[headCount] += 1

# Conert all counts to perentage
TWOPLACES = Decimal(10) ** -2 
for i in range(tossCount):
    value = counts[i]        
    counts[i] = (100 * Decimal(counts[i])/Decimal(sampleCount)).quantize(TWOPLACES)
    print("Converted the value {} to percentage {}".format(value, counts[i]))

# Draw a bar chart
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
rects = plt.bar(np.arange(tossCount),
                 counts, 
                 0.5,
                 alpha=0.4,
                 align="center", 
                 color='b')

plt.xlabel('Number of heads for 16-toss')
plt.ylabel('Probability (%)')
plt.title('Probabilities heads with a biased coin')
plt.xticks(np.arange(tossCount))

plt.tight_layout()
plt.show()

Créer une variable de compteur

Obéissant, il crée une liste de 16 éléments.

# Prepare counters
tossCount = 16
counts = [0]*tossCount

Jeter des pièces

Lancez 16 fois et exécutez 500000 fois pour voir combien de feuilles sont sur le devant (bien que vous n'ayez pas à tourner autant)

## Toss a coin many times to get counts
sampleCount = 50000
for num in range(sampleCount):    
    headCount = 0
    for i in range(tossCount): # Toss the coin 16 times
        headCount += tossBiasedCoin()
    counts[headCount] += 1

Convertir en pourcentage

# Conert all counts to perentage
TWOPLACES = Decimal(10) ** -2 
for i in range(tossCount):
    value = counts[i]        
    counts[i] = (100 * Decimal(counts[i])/Decimal(sampleCount)).quantize(TWOPLACES)
    print("Converted the value {} to percentage {}".format(value, counts[i]))

Créer un graphique à barres

Je n'ai rien fait de spécial.

# Draw a bar chart
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
rects = plt.bar(np.arange(tossCount),
                 counts, 
                 0.5,
                 alpha=0.4,
                 align="center", 
                 color='b')

plt.xlabel('Number of heads for 16-toss')
plt.ylabel('Probability (%)')
plt.title('Probabilities heads with a biased coin')
plt.xticks(np.arange(tossCount))

plt.tight_layout()
plt.show()

résultat

Un graphique similaire au graphique 1-21 à la page 64 a été créé.

image

Résumé

C'est un talent pour pouvoir analyser des données avec Python, ou quelque chose que je pense devoir faire à l'avenir.

--Bien que cela n'ait rien à voir avec Python, une revue fondamentale et une étude des statistiques et des probabilités --J'ai vu l'un des points clés de Python en tant que type de séquence

Recommended Posts

Je veux pouvoir analyser des données avec Python (partie 3)
Je veux pouvoir analyser des données avec Python (partie 1)
Je veux pouvoir analyser des données avec Python (partie 4)
Je veux pouvoir analyser des données avec Python (partie 2)
Je veux analyser les journaux avec Python
Je veux déboguer avec Python
Je veux pouvoir exécuter Python avec VS Code
Je veux jouer avec aws avec python
☆ M. Anzai… !! Je veux analyser les données …… Partie 1 Préparation des données ☆ Analysons les statistiques des joueurs NBA (résultats) avec Python. basketball
[Pandas] J'ai essayé d'analyser les données de ventes avec Python [Pour les débutants]
Je veux utiliser MATLAB feval avec python
Je veux faire un jeu avec Python
Je veux être OREMO avec setParam!
J'ai essayé d'obtenir des données CloudWatch avec Python
Je souhaite utiliser le répertoire temporaire avec Python2
#Unresolved Je veux compiler gobject-introspection avec Python3
Je veux résoudre APG4b avec Python (chapitre 2)
Je veux écrire dans un fichier avec Python
Je veux gérer l'optimisation avec python et cplex
Je veux hériter de l'arrière avec la classe de données python
Je veux travailler avec un robot en python.
Je veux AWS Lambda avec Python sur Mac!
Je veux faire fonctionner un ordinateur quantique avec Python
Je souhaite spécifier une autre version de Python avec pyvenv
J'ai essayé de créer diverses "données factices" avec Python faker
Je veux assister automatiquement à des cours en ligne avec Python + Selenium!
[Python] Je souhaite utiliser l'option -h avec argparse
Je veux faire ○○ avec les Pandas
J'en ai marre de Python, alors j'ai essayé d'analyser les données avec nehan (je veux aller vivre même avec Corona) -Partie 2)
J'en ai marre de Python, alors j'ai essayé d'analyser les données avec nehan (je veux aller vivre même avec Corona) -Partie 1)
Je connais? Analyse de données à l'aide de Python ou de choses que vous souhaitez utiliser quand vous le souhaitez avec numpy
Je souhaite utiliser un caractère générique que je souhaite décortiquer avec Python remove
Je veux résoudre APG4b avec Python (seulement 4.01 et 4.04 au chapitre 4)
Je veux sortir le début du mois prochain avec Python
Essayez d'analyser le mahjong familial en ligne à l'aide de Python (PARTIE 1: Prendre des données)
Je souhaite rechercher le texte intégral avec elasticsearch + python
[Introduction] Je veux créer un robot Mastodon avec Python! 【Débutants】
Je veux détecter des objets avec OpenCV
Traiter les données Pubmed .xml avec python [Partie 2]
Je veux gérer la rime part1
Je veux écrire un blog avec Jupyter Notebook
Je veux gérer la rime part3
Convertir des données Excel en JSON avec python
Je veux utiliser jar de python
Je voulais résoudre ABC160 avec Python
Je veux créer un environnement Python
Je veux installer Python avec PythonAnywhere
Convertissez des données FX 1 minute en données 5 minutes avec Python
[Part1] Scraping avec Python → Organisez jusqu'à csv!
Je voulais résoudre ABC172 avec Python
Je veux gérer la rime part2
Je veux gérer la rime part5
Je veux gérer la rime part4
Je veux le faire avec Python lambda Django, mais je vais m'arrêter
[Bases de la science des données] J'ai essayé d'enregistrer de csv à mysql avec python
Je veux tweeter Twitter avec Python, mais j'y suis accro