サイコロのいかさま(データの捏造)を見抜く「カイ2乗検定」
カイ2乗検定を行うことで、数の出現頻度が一様かどうかを確かめ、 乱数の質を評価する事が出来る。ここでは、サイコロの目の出方が一 様になっているかどうかを確かめてみよう。 カイ2乗検定では、あるデータの「理論上の回数」に対する 「目の出た回数」のズレを算出することで、目の出た回数 理論上の回数と一致しているかどうかを判定する。 サイコロの1から6の目が出る確率の論理値は、それぞれ1/6だ。 サイコロを繰り返し振って出た目の実測値について、この論理値とのズレ (カイ2乗値)を計算することで、サイコロの目の出方がランダム といえるかどうかがわかる。 この方法を使えば、例えばある乱数が、いい加減に捏造されたもので あった場合にも見抜くことができる。 |
![]() |
乱数を利用して、サイコロの目の出方をシュミレーションする方法 |
RAND関数で発生する値は実数なので、INT関数で整数化する。 INT(RAND()*6 の結果は0から5の整数になるので1を加えるて「=INT(RAND()*6+1」とする。 ※INT関数は、引数として与えられた実数を超えない最大の整数を 返す関数である。=INT(引数) |
捏造されたサイコロ投げのデータを見抜く方法
得られたデータの集計結果からカイ2乗を計算する。得られた計算結果を「基準となるカイ2乗(下の表)」と比べることで、 サイコロの目の並びが乱数になっているかどうかを確かめる事が出来る。基準となるカイ2乗値は「自由度」と「有意水準」によって決まる。 自由度とは、要素の数から1を引いたもの。サイコロは1~6のどれかの目が出るので、ここでの自由度は6-1=5となる。 有意水準とは、得られた結果がおきそうにないとみなす基準とのことで、事前に設定しておくもの。ここでは、一般的な統計で使われる 0.05(5%)設定した。基準となるカイ2乗は、自由度と有意水準をもとに「基準となるカイ2乗(下の表)」から11.17を特定した。 |