【統計学・データ分析】Pythonで実装しながら覚える幾何分布

こんにちは。今日は、統計学に関する内容です!

最近、統計検定の勉強をしているのですが、その中でいろいろな統計分布の種類があることを知ったは良いものの、違いが直感的によく分からず、実務に活かせる気がしなかったので、実際に絵や式を書いてみながら自分の頭を整理しておきたいと思います。

今回はその中でも幾何分布について整理してみたいと思います。

なお、各内容の詳細については、他のWebサイトに分かりやすい説明があれば、そちらを引用させていただき、紹介させていただいております。

それでは早速参ります!

Contents

ポアソン分布の理論

概要

幾何分布は、成功確率がpであるベルヌーイ試行を、初めて成功するまで繰り返したときの試行回数Xの確率分布として定義されます。

確率関数(確率質量関数)

$$P(X = x) = f(x) = p(1-p)^(x-1) $$ 初めて成功するのがx回目だとすると、その前のx-1回は全て失敗となりますので、確率関数は上の式で表されます。

期待値

$$ \mu = E(X) = \frac{1}{p} $$ 上の式は、例えば成功確率が0.5の試行で、初めて成功するまでに試行する回数Xの期待値は2になる、ということを示しており、直感的にも分かりやすいですね。

分散

$$ \sigma^2 = E[X^2] – \mu^2 = \frac{1-p}{p^2} $$ となります。

Pythonによる実装サンプル

Scipyを使って簡単に実装する

幾何分布は、Scipyが提供するメソッドで簡単に再現できてしまいます!

文法については以下から確認できます。

https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.geom.html

以下は、成功確率0.7の試行が、初めて成功するまでの試行回数Xの確率分布を再現したものです。

from scipy.stats import geom
import numpy as np

#Probablity of Success
p = 0.7

mean, var, skew, kurt = geom.stats(p, moments='mvsk')

#Mean
print("Mean:", mean)

#Var
print("Var:", var)

#Skew
print("Skew:", skew)

#Kurt
print("Kurt:", kurt)

#PMF (Probablity Mass Function)
x = np.arange(geom.ppf(0.01, p),
              geom.ppf(0.99, p))
print("PMF:",geom.pmf(x,p))

plt.bar(x, geom.pmf(x,p), label="PMF")
plt.title("PMF")
plt.xlabel("Data Points")
plt.ylabel("Probablity")
plt.legend()
plt.show()

#CDF (Cumulative Density Function)

print("CDF:",geom.cdf(x,p))

plt.bar(x, geom.cdf(x,p), label="CDF")
plt.title("CDF")
plt.xlabel("Data Points")
plt.ylabel("Cumulative Probablity")
plt.legend()
plt.show()

一から実装する

上では、Scipyを利用した方法をご紹介しましたが、もちろん最初に解説した理論に基づいて、一から実装することも可能です。

以下にサンプルコードを示しますが、ポアソン分布と同様非常にシンプルに表現できます。

こちらでも、上と同じ結果を確認することができました。

import math

def geom(p,k):
    result = p * (1-p)**(k-1)
    return result

x =  np.arange(1, 10, 1)
y= [geom(0.7,i) for i in x]

plt.bar(x, y, align="center", width=0.4, color="green"
                ,alpha=0.5, label="Geom p=0.7")

plt.legend()
plt.show()

確率分布についてもっと勉強するなら・・・

統計検定公式テキストで体系的に理解を深める

確率分布は、統計検定2級の出題範囲となっています。理論的な部分をもっと勉強されたい方は、以下のテキストを読まれると、体系的に学ぶことができます。

私もこちらで勉強しています。統計検定の公式テキストではありますが、比較的に分かりやすく解説されており、何より知識が体系的に整理されているので全体像を掴んで、理論の概要を理解するには良いと思います。

このテキストで分かりづらいと思った部分は、部分毎にネットで詳しく解説された記事を探したり、Udemyなどのオンラインコンテンツを利用していけば十分に理解が深まると思います。

オンライン講座を受講する

オンラインの講座を活用することも有効です。これらの講座は科目毎に単体で販売されているので、購入してすぐに受講を開始することができます。

Udemyは私も資格試験対策などでよく利用するのですが、30日以内の返金保証もあり、また、受講者数が多く口コミ評価が良いコースは内容もとても充実していて満足度が高いため、安心して利用できています。書籍と違ってスマホでみれるため、移動時間などの隙間時間などにも進めることができてオススメです。

頻繁に割引セールを行っているので、割引されているタイミングで購入を検討しても良いと思います。

ちなみに、日本語の統計学のコースは、こちらが最も受講者数が多く、口コミ評価も良いものになります。

【ゼロからおさらい】統計学の基礎

画像に alt 属性が指定されていません。ファイル名: image-9-1024x491.jpg

以上、確率分布について勉強したり実験してみたことをまとめた記事でした。

最後までご覧いただきありがとうございました!

この記事を気に入っていただけたらシェアをお願いします!
ABOUT US
Yuu113
初めまして。ゆうたろうと申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。 日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。