Skip to content

Commit 34bd62a

Browse files
committed
Distribuciones discretas Tema 11
1 parent d42e053 commit 34bd62a

File tree

6 files changed

+197
-29
lines changed

6 files changed

+197
-29
lines changed

scripts/tema11/02-binomial.Rmd

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
title: "Binomial"
3+
author: "Curso de Estadística Descriptiva"
4+
date: "4/2/2019"
5+
output: pdf_document
6+
---
7+
8+
```{r setup, include=FALSE}
9+
knitr::opts_chunk$set(echo = TRUE)
10+
```
11+
12+
## Función de densidad
13+
Sea $X = B(n = 30, p = 0.6)$,
14+
15+
TODO: escribir la FDens y la FDistr
16+
17+
## En `R`
18+
19+
```{r}
20+
library(Rlab)
21+
n = 30
22+
p = 0.6
23+
plot(0:n, dbinom(0:n, size = n, prob = p))
24+
plot(0:n, pbinom(0:n, size = n, prob = p))
25+
qbinom(0.5, n, p)
26+
qbinom(0.25, n, p)
27+
hist(rbinom(100000, n, p), breaks = 0:30)
28+
```
29+
30+
## En Python
31+
32+
```{python}
33+
from scipy.stats import binom
34+
import matplotlib.pyplot as plt
35+
import numpy as np
36+
37+
fig, ax = plt.subplots(1,1)
38+
n = 7
39+
p = 0.4
40+
41+
mean, var, skew, kurt = binom.stats(n, p, moments = 'mvsk')
42+
43+
print("Media %f"%mean)
44+
print("Varianza %f"%var)
45+
print("Sesgo %f"%skew)
46+
print("Curtosis %f"%kurt)
47+
48+
49+
x = np.arange(0, n+1)
50+
ax.plot(x, binom.pmf(x, n, p), 'bo', ms = 8, label = "Función de densidad de B(7,0.4)")
51+
ax.vlines(x, 0, binom.pmf(x,n,p), colors = 'b', lw = 4, alpha = 0.5)
52+
53+
rv = binom(n,p)
54+
ax.vlines(x,0, rv.pmf(x), colors = 'k', linestyles='--', lw = 1, label = "Distribución teórica")
55+
56+
ax.legend(loc = 'best', frameon = False)
57+
58+
plt.show()
59+
60+
61+
fix, ax = plt.subplots(1,1)
62+
r = binom.rvs(n, p, size = 10000)
63+
ax.hist(r, bins = 7)
64+
plt.show()
65+
```
66+

scripts/tema11/02-binomial.pdf

176 KB
Binary file not shown.

scripts/tema11/03-geom.Rmd

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
title: "Geométrica"
3+
author: "Curso de Estadística Descriptiva"
4+
date: "4/2/2019"
5+
output: pdf_document
6+
---
7+
8+
```{r setup, include=FALSE}
9+
knitr::opts_chunk$set(echo = TRUE)
10+
```
11+
12+
## Función de densidad
13+
14+
Sea $X=Geom(p=0.1)$ la distribución que modela la probabilidad de intentar abrir una puerta hasta conseguirlo.
15+
16+
$$f(k) = (1-p)^{k-1}p$$
17+
18+
19+
## En `R`
20+
21+
```{r}
22+
library(Rlab)
23+
p = 0.1
24+
plot(0:20, dgeom(0:20, p))
25+
plot(0:20, pgeom(0:20, p), ylim = c(0,1))
26+
qgeom(0.5, p)
27+
qgeom(0.75, p)
28+
hist(rgeom(10000, p))
29+
```
30+
31+
## En Python
32+
```{python}
33+
from scipy.stats import geom
34+
import matplotlib.pyplot as plt
35+
import numpy as np
36+
37+
fig, ax = plt.subplots(1,1)
38+
p = 0.3
39+
mean, var, skew, kurt = geom.stats(p, moments = 'mvsk')
40+
print("Media %f"%mean)
41+
print("Varianza %f"%var)
42+
print("Sesgo %f"%skew)
43+
print("Curtosis %f"%kurt)
44+
45+
x = np.arange(geom.ppf(0.01,p), geom.ppf(0.99, p))
46+
ax.plot(x, geom.pmf(x, p), 'bo', ms = 8, label = "Función de probabilidad de Geom(0.3)")
47+
ax.vlines(x,0,geom.pmf(x,p), colors = 'b', lw = 4, alpha = 0.5)
48+
49+
rv = geom(p)
50+
ax.vlines(x,0,rv.pmf(x), colors = 'k', linestyles = '--', lw = 1, label = "Frozen PMF")
51+
ax.legend(loc = 'best')
52+
plt.show()
53+
54+
55+
fig, ax = plt.subplots(1,1)
56+
prob = geom.cdf(x,p)
57+
ax.plot(x, prob, 'bo', ms = 8, label = "Función de distribución acumulada")
58+
plt.show()
59+
60+
fig, ax = plt.subplots(1,1)
61+
r = geom.rvs(p, size = 10000)
62+
plt.hist(r)
63+
plt.show()
64+
```
65+

scripts/tema11/03-geom.pdf

211 KB
Binary file not shown.

teoria/Tema11.Rmd

Lines changed: 39 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -270,12 +270,19 @@ donde $p$ es la probabilidad de éxito y $q = 1-p$ es la probabilidad de fracaso
270270

271271
```{r, echo = FALSE}
272272
par(mfrow = c(1,2))
273-
plot(dbinom(1:50,50,0.5),col = "purple", xlab = "", ylab = "", main = "Función de probabilidad de una B(50,0.5)")
274-
plot(pbinom(1:50,50,0.5),col = "purple", xlab = "", ylab = "", main = "Función de distribución de una B(50,0.5)")
273+
plot(0:50,dbinom(0:50,50,0.5),col = "purple", xlab = "", ylab = "", main = "Función de probabilidad de una B(50,0.5)")
274+
plot(0:50, pbinom(0:50,50,0.5),col = "purple", xlab = "", ylab = "", main = "Función de distribución de una B(50,0.5)", ylim = c(0,1))
275275
par(mfrow= c(1,1))
276276
277277
```
278278

279+
## Distribución Binomial
280+
281+
El código de la distribución Binomial:
282+
283+
- En `R` tenemos las funciones del paquete `Rlab`: `dbinom(x, size, prob), pbinom(q,size, prob), qbinom(p, size, prob), rbinom(n, size, prob)` donde `prob` es la probabilidad de éxito y `size` el número de ensayos del experimento.
284+
- En `Python` tenemos las funciones del paquete `scipy.stats.binom`: `pmf(k,n,p), cdf(k,n,p), ppf(q,n,p), rvs(n, p, size)` donde `p` es la probabilidad de éxito y `n` el número de ensayos del experimento.
285+
279286
## Distribución Geométrica
280287

281288
Si $X$ es variable aleatoria que mide el "número de repeticiones independientes del experimento hasta haber conseguido éxito", diremos que $X$ se distribuye como una Geométrica con parámetro $p$
@@ -304,12 +311,19 @@ $$f(k) = (1-p)^{k-1}p \qquad\text{ si empieza en 1}$$
304311

305312
```{r, echo = FALSE}
306313
par(mfrow = c(1,2))
307-
plot(dgeom(1:20,0.5),col = "purple", xlab = "", ylab = "", main = "Función de probabilidad de una Ge(0.5)")
308-
plot(pgeom(1:20,0.5),col = "purple", xlab = "", ylab = "", main = "Función de distribución de una Ge(0.5)")
314+
plot(0:20, dgeom(0:20,0.5),col = "purple", xlab = "", ylab = "", main = "Función de probabilidad de una Ge(0.5)")
315+
plot(0:20, pgeom(0:20,0.5),col = "purple", xlab = "", ylab = "", main = "Función de distribución de una Ge(0.5)", ylim = c(0,1))
309316
par(mfrow= c(1,1))
310317
311318
```
312319

320+
## Distribución Geométrica
321+
322+
El código de la distribución Geométrica:
323+
324+
- En `R` tenemos las funciones del paquete `Rlab`: `dgeom(x, prob), pgeom(q, prob), qgeom(p, prob), rgeom(n, prob)` donde `prob` es la probabilidad de éxito del experimento.
325+
- En `Python` tenemos las funciones del paquete `scipy.stats.geom`: `pmf(k,p), cdf(k,p), ppf(q,p), rvs(p, size)` donde `p` es la probabilidad de éxito del experimento.
326+
313327
## Distribución Hipergeométrica
314328

315329
Consideremos el experimento "extraer a la vez (o una detrás de otra, sin retornarlos) $n$ objetos donde hay $N$ de tipo A y $M$ de tipo B". Si $X$ es variable aleatoria que mide el "número de objetos del tipo A", diremos que $X$ se distribuye como una Hipergeométrica con parámetros $N,M,n$
@@ -334,8 +348,8 @@ $$X\sim \text{H}(N,M,n)$$
334348

335349
```{r, echo = FALSE}
336350
par(mfrow = c(1,2))
337-
plot(dhyper(1:30,10,20,10),col = "purple", xlab = "", ylab = "", main = "Función de probabilidad de una H(20,10,30)")
338-
plot(phyper(1:30,10,20,10),col = "purple", xlab = "", ylab = "", main = "Función de distribución de una H(20,10,30)")
351+
plot(0:30, dhyper(0:30,10,20,10),col = "purple", xlab = "", ylab = "", main = "Función de probabilidad de una H(20,10,30)")
352+
plot(0:30, phyper(0:30,10,20,10),col = "purple", xlab = "", ylab = "", main = "Función de distribución de una H(20,10,30)", ylim = c(0,1))
339353
par(mfrow= c(1,1))
340354
341355
```
@@ -363,14 +377,25 @@ donde $\lambda$ representa el número de veces que se espera que ocurra el event
363377
- **Esperanza** $E(X) = \lambda$
364378
- **Varianza** $Var(X) = \lambda$
365379

366-
<<<<<<< HEAD
380+
381+
## Distribución de Poisson
382+
383+
```{r, echo = FALSE}
384+
par(mfrow = c(1,2))
385+
plot(0:20, dpois(0:20,2),col = "purple", xlab = "", ylab = "", main = "Función de probabilidad de una Po(2)")
386+
plot(0:20, ppois(0:20,2),col = "purple", xlab = "", ylab = "", main = "Función de distribución de una Po(2)", ylim = c(0,1))
387+
par(mfrow= c(1,1))
388+
389+
```
390+
391+
367392
## Distribución Binomial Negativa
368393

369394
Si $X$ es variable aleatoria que mide el "número de repeticiones hasta observar los $r$ éxitos en ensayos de Bernoulli con probabilidad $p$", diremos que $X$ se distribuye como una Binomial Negativa con parámetros $r$ y $p$, $BN(r,p)$.
370395

371396
- El **espacio muestral** de $X$ será $X(\Omega) = \{r, r+1, r+2,\dots\}$
372397

373-
- La **función de densidad** vendrá dada por $$f(k) = {k-1\choose r-1}p^r(1-p)^{k-r}, k\geq r$$
398+
- La **función de densidad** vendrá dada por $$f(k) = {k-1\choose r-1}p^r(1-p)^{k-r} \ \mathrm{si}\ k\geq r$$
374399

375400

376401
## Distribución Binomial Negativa
@@ -380,17 +405,17 @@ Si $X$ es variable aleatoria que mide el "número de repeticiones hasta observar
380405
- **Esperanza** $E(X) = \frac{r}{p}$
381406
- **Varianza** $Var(X) = r\frac{1-p}{p^2}$
382407

383-
=======
384-
## Distribución de Poisson
385-
386408
```{r, echo = FALSE}
387409
par(mfrow = c(1,2))
388-
plot(dpois(1:20,2),col = "purple", xlab = "", ylab = "", main = "Función de probabilidad de una Po(2)")
389-
plot(ppois(1:20,2),col = "purple", xlab = "", ylab = "", main = "Función de distribución de una Po(2)")
410+
exitos = 5
411+
size = 20
412+
plot(c(rep(0,exitos),exitos:(size+exitos)), c(rep(0,exitos),dnbinom(0:size,exitos,0.5)),col = "purple", xlab = "", ylab = "", main = "Función de probabilidad de una BN(5, 0.5)")
413+
plot(c(rep(0,exitos),exitos:(size+exitos)), c(rep(0,exitos),pnbinom(0:size,exitos,0.5)),col = "purple", xlab = "", ylab = "", main = "Función de distribución de una BN(5, 0.5)")
390414
par(mfrow= c(1,1))
391415
392416
```
393-
>>>>>>> 899de88f93fab102ba58ac838f929ad8950cebad
417+
418+
394419

395420
## Distribuciones discretas en R
396421

teoria/Tema11.html

Lines changed: 27 additions & 15 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)