(Teil 2)
(Siehe die Seite im Text Statistik ist die stärkste Studie [Praxis] Gedanken und Methoden zur Datenanalyse - von Kei Nishiuchi Dies ist die Seite des Buches /9784478028230.html).
Betrachten Sie in Teil 2 wie im Beispiel von P61 das Ergebnis des Werfens von 2 Sätzen (dh 4-maliges Werfen von Münzen) unter der Annahme, dass "zweimal werfen" = "1 Satz". Da Münzen viermal geworfen werden, erscheint das Muster
5 Möglichkeiten.
from random import randint
from decimal import Decimal
from prettytable import PrettyTable
import numpy as np
def tossBiasedCoin():
""" Returns 0 or 1 with 0 having 2/3 chance """
return randint(0,2) % 2
# Make a 3x3 array
counts = [[0 for j in range(3)] for i in range(3)]
# Toss a coin many times to get counts
sampleCount = 50000
for num in range(sampleCount):
firstSet = [tossBiasedCoin(),tossBiasedCoin()]
secondSet = [tossBiasedCoin(),tossBiasedCoin()]
counts[sum(secondSet)][sum(firstSet)] += 1
# Conert all counts to perentage
TWOPLACES = Decimal(10) ** -2
for i in range(3):
for j in range(3):
value = counts[i][j]
counts[i][j] = (100 * Decimal(counts[i][j])/Decimal(sampleCount)).quantize(TWOPLACES)
print("Converted the value {} to percentage {}".format(value, counts[i][j]))
# Make summaries of number of heads.
keys = np.arange(5)
values = [counts[0][0], # 0
counts[0][1]+counts[1][0], # 1
counts[0][2]+counts[2][0]+counts[1][1],
counts[1][2]+counts[2][1],
counts[2][2]]
# Add row descriptions
counts[0].insert(0, '2nd set 0 head')
counts[1].insert(0, '2nd set 1 head')
counts[2].insert(0, '2nd set 2 heads')
# Create table with column descriptions, add rows, then show it.
table = PrettyTable(["", "1st set 0 head", "1st set 1 head", "1st set 2 heads"])
table.padding_width = 1
table.add_row(counts[0])
table.add_row(counts[1])
table.add_row(counts[2])
print table
# Draw a bar chart
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
rects = plt.bar(keys,
values,
0.5,
alpha=0.4,
align="center",
color='b')
plt.xlabel('Number of heads with two sets')
plt.ylabel('Probability (%)')
plt.title('Probabilities heads with a biased coin')
plt.xticks(keys, np.arange(5))
plt.tight_layout()
plt.show()
Die Programmstruktur ist grundsätzlich dieselbe wie beim letzten Mal.
Erstellen Sie eine 3x3-Liste, die mit Abbildung 1-19 identisch ist.
# Make a 3x3 array
counts = [[0 for j in range(3)] for i in range(3)]
Schleife 500.000 Mal und wirf jedes Mal insgesamt 4 Mal Münzen.
# Toss a coin many times to get counts
sampleCount = 50000
for num in range(sampleCount):
firstSet = [tossBiasedCoin(),tossBiasedCoin()]
secondSet = [tossBiasedCoin(),tossBiasedCoin()]
counts[sum(secondSet)][sum(firstSet)] += 1
Es wird ein wenig mühsam. Das Muster "Tabelle ist zweimal (Blätter)" besteht aus 2 Sätzen
# Make summaries of number of heads.
keys = np.arange(5)
values = [counts[0][0], # 0
counts[0][1]+counts[1][0], # 1
counts[0][2]+counts[2][0]+counts[1][1],
counts[1][2]+counts[2][1],
counts[2][2]]
Fügen Sie eine dritte Zeile hinzu, um von einer 2x2-Struktur zu einer 3x3-Struktur zu wechseln.
# Add row descriptions
counts[0].insert(0, '2nd set 0 head')
counts[1].insert(0, '2nd set 1 head')
counts[2].insert(0, '2nd set 2 heads')
Grundsätzlich werden Änderungen als Reaktion auf die Erhöhung vorgenommen.
# Create table with column descriptions, add rows, then show it.
table = PrettyTable(["", "1st set 0 head", "1st set 1 head", "1st set 2 heads"])
table.padding_width = 1
table.add_row(counts[0])
table.add_row(counts[1])
table.add_row(counts[2])
print table
# Draw a bar chart
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
rects = plt.bar(keys,
values,
0.5,
alpha=0.4,
align="center",
color='b')
plt.xlabel('Number of heads with two sets')
plt.ylabel('Probability (%)')
plt.title('Probabilities heads with a biased coin')
plt.xticks(keys, np.arange(5))
plt.tight_layout()
plt.show()
Es sieht aus wie ein "Standardabweichungs" -Diagramm! Das ist es, was dieses Kapitel in erster Linie demonstrieren wird.
Weiterhin ist ersichtlich, dass die Wahrscheinlichkeit von "einer Tabelle" am höchsten ist. Dies bedeutet, dass "die Wahrscheinlichkeit, 4 Mal zu werfen und die Tabelle erscheint (1/3)" "4 x 1/3" = 1,333 ist. Mit anderen Worten bedeutet dies, dass "das Werfen von vier Karten normalerweise zu einem Tisch führt".
(Teil 3) wird fortgesetzt.
Recommended Posts