2020年10月4日日曜日

確率分布適合度の検定(幾何分布:離散型)

 ヒストグラムをみたときに、これは**分布に似ていると思うときがあります。そのときの検定方法を載せておきます。観測された事象がある確率分布に従うということがわかれば、平均や標準偏差がわかれば、その事象を再現できることになります。シミュレーションも簡単にでき、物事の動きを判断するときに大変便利です。なぜか書籍などにはこのあたりを書いてあるものが僕は出会っていません。


(1) 訪問回数の度数分布を考える。

次のような月別のWiFiの利用回数の度数分布があります。これは、https://crawdad.org/kth/campus/20190701/eduroam/ のデータを計算したものです。

これのヒストグラムを書いてみると、次のようになります。

これをみたときに、仮に「幾何分布と似ていないか」と考えたとします。このヒストグラムが幾何分布に従っているかを検定します。


(2) 幾何分布を利用して度数分布を作成する


この確率を用いて度数分布表を作成します。ヒストグラムのデータから平均は8.403(日)とわかっています。幾何分布は平均は確率pの逆数なので、p = 1/8.403 = 0.119となります。ちなみに今回の標準偏差は7.15になります。

k回の度数を求めるには、発生総数(今回は31688)×p(1-p)^(k-1)で求めていきます。これで度数分布表を求めていくと、

階級値度数幾何分布幾何分布度数平均標準偏差
162400.11900511723771.0341548.4037.15
235790.10484289933322.261793確率
321360.092366057782926.8956390.1190051172
417020.081374024242578.58008
514450.071690098952271.715855
612450.063158610322001.370044
710980.05564241251763.196767
810770.049020680671553.367329
910520.043186968821368.508668
109610.038047498541205.649134
119340.033519651511062.170717
128760.02953064146935.7669665
138590.02601634401824.4059089
149080.02292026594726.2973871
158960.020192637639.8642814
168930.01778960987563.7171576
178800.01567255526496.6319312
188510.01380744099437.53019
198840.01216428485385.4618584
207900.01071667271339.5899248
217100.009441333817299.176986
226420.008317766779263.5733937
233560.007327909969232.2068111
242410.006455851184204.5730123
251760.005687571857180.227777
261280.005010721701158.7797493
27590.004414420178139.8841466
28370.003889081587123.2372173
29200.003426260977108.5713578
30130.00301851838895.65081068
合計316880.977653908430979.89705

のように計算できます。この幾何分布で算出した度数分布をグラフにしてみると、次のようになります。きれいすぎです。

(3) 適合度の検定

今回はカイ2乗検定をしていきます。帰無仮説H0は「得られたデータは理論上の確率分布(幾何分布)に従う(適合する)」、対立仮説HAは「得られたデータは理論上の確率分布(幾何分布)に従うと言えない」です。

Power_divergenceResult(statistic=6981.330926190308, pvalue=0.0)

となり、P値=0.0となり、同一分布とはみなせないという結論になりました。結論としては残念ですが、このようなやり方で離散型の確率分布との適合度を検証できます。連続型の確率分布の場合は、範囲で考えるため、もう少し面倒になります。



参考

https://drive.google.com/file/d/1lbivZ_PRGdx6liTdMI9bE-Ce1mH6IL8-/view?usp=sharing

https://www.trifields.jp/chi-square-test-test-of-goodness-of-fit-1054

https://toukei.link/programmingandsoftware/statistics_by_python/chisqtest_by_python/

http://www.a.math.ryukoku.ac.jp/~hig/course/stat_2018/w13.pdf