
128
9 章 仮説検定
class DiceTest(thinkstats2.HypothesisTest):
def TestStatistic(self, data):
observed = data
n = sum(observed)
expected = np.ones(6) * n / 6
test_stat = sum(abs(observed - expected))
return test_stat
def RunModel(self):
n = sum(self.data)
values = [1, 2, 3, 4, 5, 6]
rolls = np.random.choice(values, n, replace=True)
hist = thinkstats2.Hist(rolls)
freqs = hist.Freqs(values)
return freqs
データは、度数のリストで表現されます。観察された値は、
[8, 9, 19, 5, 8,
11]
、期待度数はすべて
10
です。検定統計量は、差の絶対値の総和です。
帰無仮説は、サイコロが真正だということで、これを
values
からランダムに標本
を選ぶことによってシミュレーションします。
RunModel
は
Hist
を使って計算し、度
数のリストを返します。
このデータの
p
値は
0.13
で、サイコロが真正なら、このような差を観察するのは
全体の
13
%だということです。したがって、このような結果は、統計的に有意では ...