こんにちは。今日は、統計学に関する内容です!
最近、統計検定の勉強をしているのですが、その中でいろいろな統計分布の種類があることを知ったは良いものの、違いが直感的によく分からず、実務に活かせる気がしなかったので、実際に絵や式を書いてみながら自分の頭を整理しておきたいと思います。
今回はその中でもカイ二乗分布について整理してみたいと思います。
なお、各内容の詳細については、他のWebサイトに分かりやすい説明があれば、そちらを引用させていただき、紹介させていただいております。
それでは早速参ります!
Contents
カイ二乗分布の理論
概要
カイ二乗分布は標本分布の1つで、推論統計学で最も利用される分布です。標本分布とは、ある統計量に対する母集団自体の分布ではなく、その標本における確率分布を表ています。
確率変数Z1, Z2, Z3,・・・Znが互いに独立に標準正規分布N(0,1) (平均が0、分散が1)に従うとき、
統計量 $$ W = Z_{1}^2+Z_{2}^2+Z_{3}^2+・・・Z_{n}^2$$ が従う分布を、自由度nのχ二乗分布と呼びます。 カイ二乗分布は、区間推定や検定で利用されることになります。こちらについても今後整理の記事を書こうと思います。確率関数(確率密度関数)
$$ f(n,x) = \frac{1}{2^{n/2}\displaystyle \Gamma \left(\frac{n}{2}\right)} x^{n/2-1}e^{-x/2} \hspace{20px} (0 \leq x < \infty) $$ ここで、nは自由度、Γはガンマ関数です。期待値
上で紹介した自由度nを用いて、期待値は以下のように表現されます。
$$ E[X]=n$$分散
こちらもnを用いて以下のように表現されます。
$$ V[X] = 2n $$Pythonによる実装サンプル
Scipyを使って簡単に実装する
幾何分布は、Scipyが提供するメソッドで簡単に再現できてしまいます!
文法については以下から確認できます。
https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.chi2.html
以下は、自由度がそれぞれ3、5、10のカイ二乗分布の形状を再現するコードになります。
from scipy.stats import chi2
## Parameter: Degree of Freedom
n1 = 3
n2 = 5
n3 = 10
mean, var, skew, kurt = chi2.stats(n1, moments='mvsk')
#Mean
print("Mean:", mean)
#Var
print("Var:", var)
#Skew
print("Skew:", skew)
#Kurt
print("Kurt:", kurt)
x = np.linspace(chi2.ppf(0.01, n1), chi2.ppf(0.99, n1), 100)
plt.plot(x, chi2.pdf(x, n1),lw=5, alpha=0.6, label='chi2 pdf')
x = np.linspace(chi2.ppf(0.01, n2), chi2.ppf(0.99, n2), 100)
plt.plot(x, chi2.pdf(x, n2),lw=5, alpha=0.6, label='chi2 pdf')
x = np.linspace(chi2.ppf(0.01, n3), chi2.ppf(0.99, n3), 100)
plt.plot(x, chi2.pdf(x, n3),lw=5, alpha=0.6, label='chi2 pdf')
一から実装する
(確認中)
確率分布についてもっと勉強するなら・・・
確率分布は、統計検定2級の出題範囲となっています。理論的な部分をもっと勉強されたい方は、以下のテキストを読まれると、体系的に学ぶことができます。
私もこちらで勉強しています。統計検定の公式テキストではありますが、比較的に分かりやすく解説されており、何より知識が体系的に整理されているので全体像を掴んで、理論の概要を理解するには良いと思います。
このテキストで分かりづらいと思った部分は、部分毎にネットで詳しく解説された記事を探したり、Udemyなどのオンラインコンテンツを利用していけば十分に理解が深まると思います。
Udemy講座
以上、確率分布について勉強したり実験してみたことをまとめた記事でした。
最後までご覧いただきありがとうございました!