Python scipy2 様々な分布(t分布、カイ二乗分布、二項分布、ポアソン分布)をプロットする。

皆さんこんにちはALEXです。当サイトでは”プログラミングと統計の融合”が重要なテーマです。今回は、統計の分野では同じみな分布をmatplotlibでプロットしてみるということをご紹介します。前回では正規分布をやりましたので、その続編です。

scipy1 インストールから正規分布の確率密度関数をプロットする

 

様々な分布をプロットする

今回は、t分布、カイ二乗分布、二項分布、ポアソン分布を扱います。

 

t分布

ステューデントさんのt分布です。さわりの説明はwikiをご覧ください。t分布

t分布の確率密度関数もscipyモジュールから使用することができ、以下の通り入力します。

ここでは、−5 ≤ x<5 のxに対する確率密度関数を,3つの自由度k =1,k=3,k= 100 に関して算出します。

次に以下のコマンドでmatplotlibのグラフコマンドを入力します。

 

カイ二乗分布

この分布のさわりの説明もWikiをご覧ください。カイ二乗分布

カイ二乗分布の確率密度関数もscipyモジュールから使用することができ、以下の通り入力します。

0 ≤ x<10 の x に対する確率密度関数を,3 つの自由度k =1,k=4,k=6に関して算出します。

でmatplotlibのグラフコマンドを入力します。

 

二項分布

この分布のさわりの説明もWikiをご覧ください。二項分布

二項分布は離散確率変数なので、scipyには確率質量関数のモジュールはあるのですが、確率密度関数は自力でモジュールを作成してみます。二項分布の確率密度変数は以下の式で表されます。

式の中にある組み合わせの計算は、scipyにモジュールがあるのでこれを使います。

モジュールのインポート、数式定義、プロットまでの一連のコードを以下に示します。

・scipy.miscライブラリから組み合わせを計算するcombモジュールをインポートします(1行目)

・処理に必要なpandas,matplotlib, numpy, pylabライブラリをインポートします。(2-6行目)

・二項係数のパラメータを設定します。試行回数n:100回、確率p:0.5(8,9行)

・二項係数の確率密度関数の数式を定義し、pandasのSerieに格納します。(10,11行)

・matplotlibの表示コマンドです(13-16行)

 

ポアソン分布

この分布のさわりの説明もWikiをご覧ください。ポアソン分布

ポアソン分布も離散確率変数なのでの確率質量関数がscipyモジュールから使用することができ、以下の通り入力します。

poisson.pmf 関数の第1 引数には,事象の発生回数x(配列)を与え第2 引数にはλ = np を与えます。

・処理に必要なpandas,matplotlib, numpy, scipyライブラリをインポートします。(1-5行目)

・x軸の設定、y軸(λ=1,10,20,40,60,80)を設定します。(7-10行目)

・matplotlibの表示コマンドです(1w-18行)