有名なPISA「盗難事件」問題についてPythonでシミュレーションしてみよう。
全部で1024件の盗難事件が1998年・1999年の2年間に起こった場合,どちらの年も盗難の起きやすさは同じと仮定して(帰無仮説),両者の件数が8件以上異なる確率(p 値)をシミュレーションで求める。
1998年を 0
,1999年を 1
として,全部で1024件の事件を作るには,次のようにする。
import numpy as np
rng = np.random.default_rng()
a = rng.integers(0, 2, size=1024)
両年の件数の差は 2 * abs(sum(a) - 512)
である。これが8以上なら True,8未満なら False を返す関数を作ってみる。
def f():
a = rng.integers(0, 2, size=1024)
return 2 * abs(sum(a) - 512) >= 8
これの返す値を要素とする長さ10000の配列を作り,True の割合を調べる。
b = [f() for _ in range(10000)]
sum(b) / 10000
この値を p 値という。
Last modified: