Back to page

− Links

 Print 

Python​/カイ二乗分布 :: NJF Wiki

xpwiki:Python/カイ二乗分布

Pythonでカイ二乗分布の値を求めるなら、SciPyEdit[1]のscipy.stats.chi2が利用できます。

カイ二乗分布はカイ二乗検定などでよく使う確率分布です。しかし、検定自体はPythonならscipy.stats.chi2_contingencyなどで行えますし、他の統計ソフトでも実装されているので、そちらを使うべきです。

しかし、ちょっと分布の値を参照してみたい場合などには対話モードですぐに使えるので便利です。

横軸の値から下側確率を求めるにはcdfを使います。

from scipy.stats import chi2

chi2.cdf(x = 2,df = 4)

結果

0.2642411176571154

xが横軸の値、dfが次元です。

横軸の値から上側確率を求めるにはsfを使います。

from scipy.stats import chi2

chi2.sf(x = 2, df = 4)

結果:

0.7357588823428847

確率の定義より、上の結果を加えると1になります。

そのため、例えば上側確率を求めるのに1 - chi2.cdfとしても良いですが、誤差がでることもあるようです。

カイ二乗検定自体が通常近似的な物なのであまりないとは思いますが、ごくわずかな誤差が気になる場合は上記二つを使い分ける必要があります。

そうでないなら、どちらかだけ覚えて1から引けば良いでしょう。

カイ二乗検定でよく使う、累積確率から横軸の値を求めるのは、ppfを使います。

from scipy.stats import chi2

chi2.ppf(q = 0.95,df = 4)

結果

9.487729036781154

Last-modified: 2019-06-23 (Sun) 23:48:33 (JST) (1149d) by njf