# 4-7. Geometric Distribution

_한 번의 시행에서 성공확률이_ $$p$$인 경우, _첫 번째 성공이 발생할 때까지 시행하는 **독립시행의 횟수**_&#xB97C; $$X$$라 하면, 확률변수 $$X$$는 다음과 같은 기하분포를 따른다\[$$X  \sim G(p)$$].  그 이유는 $$x$$ 번째 시행에서 첫 번째 성공이 발생하려면 그 이전의 $$(x-1)$$번의 시행에서 연속해서 '실패'가 나와야 하고, 마지막 시행에서 '성공'이 나와야 하기 때문이다.



> **기하분포(Geometric Distribution)**
>
> 성공확률이 일정한 시행에서 첫 번째 성공이 발생할 때까지 시행한 횟수의 확률분포는 다음과 같다.
>
> &#x20;      $$f(x) = P(X=x) = (1-p)^{x-1}p ,$$    $$x = 1, 2, 3,...$$&#x20;

기하 확률변수는 처음 성공이 나올 때 까지 얼마만큼 시도했는지가 중요하다.

> 기하확률변수의 **누적분포함수**
>
> &#x20;               $$F(x) = \sum_{y=1}^{x} (1-p)^{y-1}p = \frac{p[1-(1-p)^x]}{1-(1-p))}$$  \
> &#x20;                           $$= 1-(1-p)^x,$$  $$x = 1, 2, 3,...$$

> Expected Value and Variance of Geometric Distribution
>
> &#x20;     $$E(X) = \frac{1}{p},$$        $$Var(X) = \frac{1-p}{p^2}$$&#x20;



**EXAMPLE 25.**  성공확률이 각각 0.1, 0.3, 0.5인 무한모집단에서 첫 번째 성공을 시행하였을 때, 확률분포 그래프를 작성하고, 기대값과 분산을 구하여 비교하라.

* Using **Rstat** Package : `dgeom()`, `disc.mexp()`

{% tabs %}
{% tab title="R Source" %}
```
library(Rstat)

# success : p, Range of X
p <- c(0.1, 0.3, 0.5); x <- 1:200
len <- length(p)

# Compute the Probability : dgeom() uses the number of failure.
fx <- list()
for ( i in 1:len) fx[[i]] <- dgeom(x-1, p[i])

# Sum(P(X)) == 1 ?
sapply(fx, sum)

# E(X) and Var(X)
disc.mexp(x, fx, plot=F)

# Plotting
mt <- paste0("Geometric(", p, ")")
win.graph(9,3); par(mfrow=c(1,3)); par(mar=c(3,4,4,2))
for (k in 1:len) plot(1:50, fx[[k]][1:50], type="h", main=mt[k],
                      ylab="f(x)", xlab="", lwd=3, col=2)
```
{% endtab %}

{% tab title="E(X) and Var(X)" %}
```
> # E(X) and Var(X)
> disc.mexp(x, fx, plot=F)
## E(X) = 10        V(X) = 190 - 10² = 90          D(X) = √(90) = 9.487 
## E(X) = 3.333     V(X) = 18.889 - 3.333² = 7.778         D(X) = √(7.778) = 2.789 
## E(X) = 2         V(X) = 6 - 2² = 2      D(X) = √(2) = 1.414 
```
{% endtab %}

{% tab title="Plot" %}
![](https://2234305379-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lqmt1Wp54aKlZ5eVcaS%2F-LtKq4eBEVcSM7uOgUSW%2F-LtKsaHs8UIpI_KulL-N%2Fimage.png?alt=media\&token=b0331ecf-bc31-4be7-8f92-f86ffc403f99)
{% endtab %}
{% endtabs %}



**EXAMPLE 26.** 주사위 1개를 '6'이 나올 때까지 반복해서 굴리는 실험에서 시행횟수를 X라 할 때, 다음을 구하라.

1. X의 확률분포함수
2. X의 기대값과 분산
3. 3회의 시행 이내에 '6'이 나올 확률

**\[ Solution ]**

1. &#x20;$$p = 1/6$$ . $$f(x) = \frac {1}{6} (\frac{5}{6}) ^ {x-1},$$  $$x = 1,2,3,...$$&#x20;
2. $$E(X) = 1/ p =6,$$     $$Var(X) = \frac{(1 - \frac{1}{6})}{(\frac{1}{6})^2} = 30$$ .
3. &#x20; $$F(3) = 1 - (5/6)^3 = 91/216 \approx 0.421$$&#x20;

{% tabs %}
{% tab title="R Source" %}
```
library(Rstat)

p <- 1/6; x <- 1:100
fx <- dgeom(x-1, p)

# E(X) and Var(X)
disc.exp(x, fx, prt=TRUE)

# Within 0, 1, 2 failures, P(Success)
f <- c(0, 1, 2)
dgeom(f, p)

sum(dgeom(0:2, p))

pgeom(2, p)
```
{% endtab %}

{% tab title="E(X) and Var(X)" %}
```
> # E(X) and Var(X)
> disc.exp(x, fx, prt=TRUE)
## E(X) = 6 
## V(X) = 66 - 6² = 30 
## D(X) = √(30) = 5.477
```
{% endtab %}

{% tab title="F(3)" %}
```
> dgeom(f, p)
## [1] 0.1666667 0.1388889 0.1157407
> 
> sum(dgeom(0:2, p))
## [1] 0.4212963
> 
> pgeom(2, p)
## [1] 0.4212963
```
{% endtab %}
{% endtabs %}

