Juliaで学ぶ確率変数(3) - 幾何分布（離散型）

[Juliaで学ぶ確率変数(1) - 確率変数の定義 - Qiita](https://qiita.com/sand/items/afb5976ad28120d216c4)
[Juliaで学ぶ確率変数(11) - まとめ - Qiita](https://qiita.com/sand/items/e4b32f7cfd74dea40298)



　確率変数を勉強中ですが、「確率統計」（森北出版）は数学的に明確な定義がしっかり書かれているので、これを中心に勉強しています。あわせて「統計学入門」（東京大学出版会）と「確率論入門」（ちくま学芸文庫、赤攝也）も併読しています。

　本記事は、それらの教科書を読みながら、実際に例題や問題をJuliaで解いていく試みです。Juliaの離散型確率変数のライブラリのドキュメントです。　==>[Distributions/Univariate/DiscreteDistributions](
https://juliastats.github.io/Distributions.jl/latest/univariate.html#Discrete-Distributions-1)


#１．幾何分布 Ge(p)


成功の確率がpの試行を考えます。何回か繰り返して、k回連続して失敗し、(k+1)回目に初めて成功する確率を考えます。その時の確率は以下の確率密度関数f(k)で計算されます。

```math
\begin{align}
&\Omega:標本空間、　E:事象\\
&p \equiv p(E) とする。\\
\\
&確率変数Xを以下のように定義する。\\
\\
&X : \Omega^{(\infty)} \rightarrow \{0,1,...,i,...\}\\
&X(\{a_1,a_2,...,a_i,...\}) = k \\
&where \quad a_i \in E \;for \;all \;i \leqq k \quad and \quad a_{k+1} \in E^c\\
\\
&確率密度関数は以下のようになります。\\
&f(k) = p(\{X=k\}) = p(1-p)^k
\\
\\
&*** 無限級数の和の公式より、\sum_{k=0}^\infty f(k) =1\\
\\
&***kが0始まりと、1始まりの定義がありますが、Juliaのドキュメントの0にあわせた。\\
&***kが0始まり \rightarrow kは連続失敗の回数、(k+1)回目に初めて成功\\
&***kが1始まり \rightarrow (k-1)は連続失敗の回数、k回目に初めて成功\\
\\
&\qquad \qquad  \qquad \qquad  \qquad \qquad  \qquad \qquad \qquad  \qquad \qquad \qquad \qquad  \qquad \qquad \qquad  \qquad   \qquad \\
\end{align}
```


幾何分布の平均と分散を示しておきます。

```math
\begin{align}
\\
&平均\\
&E[X] = \frac{1-p}{p}\\
\\
&分散\\
&V[X] = \frac{1-p}{p^2}\\
\\
&\qquad \qquad  \qquad \qquad  \qquad \qquad  \qquad \qquad \qquad  \qquad \qquad \qquad \qquad  \qquad \qquad  \qquad  \qquad \qquad\\
\end{align}
```


とてもシンプルです。これを定義から導出するには少し計算が必要です。
詳しくは[「幾何分布の具体例と期待値，無記憶性について - 高校数学の美しい物語」](https://mathtrain.jp/kikabunpu)を参照してください。ちなみに、ここでの説明を読むときは以下の事実に注意してください。


```math
\begin{align}
&|x| < 1の時、以下が成り立つ。\\
&\lim_{n \to \infty} x^n = 0
&\qquad \qquad  \qquad \qquad  \qquad \qquad \\
\end{align}
```



幾何級数の平均はシンプルです。これは以下のことを意味しています。

```math
\begin{align}
&p \equiv 成功する確率\\
&q \equiv 1-p = 失敗する確率\\
\\
&k=0:1回目に成功する確率。pq^0 \\
&k=1:1回連続して失敗し、2回目に成功する確率。 pq^1\\
&k=2:2回連続して失敗し、3回目に成功する確率。pq^2\\
&k=3:3回連続して失敗し、4回目に成功する確率。pq^3\\
&...\\
&k=n:n回連続して失敗し、(n+1)回目に成功する確率。pq^n\\
&...\\
\\
&これを k \rightarrow \infty まで繰り返します。\\
\\
&この時の平均値は、何回繰り返せば成功するかの回数の平均値を示してくれます。\\
&ちなみに\sum_{k=0}^\infty f(k) =1 ですから、無限に繰り返せば必ず成功するのはわかっています。\\

&\qquad \qquad  \qquad \qquad  \qquad \qquad \qquad \qquad  \qquad \qquad  \qquad \qquad \qquad \qquad  \qquad \qquad \qquad  \qquad \qquad  \\
\end{align}
```





##１－１．幾何分布を当たりくじで表現すると

```
確率密度関数f(k)は、当たる確率がpのくじを繰り返し引いたときに、
(k+1)回目にはじめて当たりを引く確率を表します。
```




##１－２．Juliaで例題を解いてみる

JuliaではDistributions.Geometricを使います。


**当たる確率が1/10のくじを繰り返し引くとき、何回ぐらい引くと当たりくじが出るように感じられるか？**


```math
\begin{align}
&E[X] = \frac{1-p}{p} = 9\\
\\
&つまり連続して9回失敗し、10回目に当たるのが期待値です。
\\
\\
&\qquad \qquad  \qquad \qquad  \qquad \qquad  \qquad \qquad  \qquad  \qquad \qquad  \qquad \qquad  \qquad\\
\end{align}
```



確率密度関数をプロットしてみます。
**（注意）Juliaではf.(A)という構文で配列Aの要素ごとに関数fを適用することができます。pdfでなくpdf.となっていることに注意してください。**


```julia:
d=Geometric(1/10)
plot(1:50, pdf.(d,1:50), seriestype=:scatter)
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/61915/37d0dff4-5bf0-20fb-3527-1b27dff56a2c.png)


今回は以上です。