Distribución Binomial. Ejercicios

Distribución binomial

  • El experimento consiste en \(n\) intentos idénticos.

  • Cada intento resulta en uno de dos resultados, el resultado uno se llama éxito, ‘S’, y el otro se llama fracaso, ‘F’.

  • La probabilidad de éxito en un solo intento es igual a \(p\) y es igual de un intento a otro. La probabilidad de fracaso es igual a \(q= (1 - p)\).

  • Los intentos son independientes.

  • El interés es el valor de \(x\), o sea, el número de éxitos observado durante los \(n\) intentos, para \(x = 0, 1, 2, …, n.\)

Fórmula Densidad:

\[ f(x) = prob(x=k) = \binom{n}{k} \cdot p^{k} \cdot q^{(n-k)} \]

Para \(x = 0,1,2,3...n\)

y recordando las combinaciones cuantos éxitos \(k\) en \(n\) ensayos. Interpretar que \(x = k\) para la fórmula. \[ f(x) = \binom{n}{k} = \frac{n!}{k!\cdot(n-k)!} \]

La función acumulada es:

\[ F(x) = \sum_{0}^{n}f.x_i \]

El valor esperado está dado por:

\[ \mu = n \cdot p \]

La varianza y la desviación estándar se determinan mediante:

\[ \sigma^{2} = n \cdot p \cdot(1-p) \]

y

\[ \sigma = \sqrt{\sigma^{2}} \]

Funciones binomial en R

Cargar librerías

library(dplyr)
library(ggplot2)
library(mosaic) # Gráficos de distribuciones
library(cowplot) # Para varios gráficos
library(plotly) # Gráficos interactivos
library(knitr) # Tablas amigables
library(webshot) # Para copiar y pegar pantallas screenshots

options(scipen=999) # Notación normal
# options(scipen=1) # Notación científica

Noticias Falsas

Las noticias falsas o fake news (FN) se definen como todas aquellas “informaciones publicadas deliberadamente en medios digitales que no han sido comprobadas ni verificadas, que carecen de fuentes identificadas, confiables y que no cuentan con la supervisión de un editor.

En otras palabras, son los artículos informativos redactados con el propósito de confundir o engañar a los lectores, cuyo contenido puede comprobarse que es intencionalmente falso.

Ejercicio

Un estudio reciente del Instituto Tecnológico de Massachusetts evidenció que las FN poseen 70% de posibilidades de ser tuiteadas.

Datos iniciales

Se recaban \(10\) noticias falsas en redes tweeter sobre algún tema, se sabe que el \(70\%\) tiene la probabilidad de ser replicada o reenviarse de nuevo.

¿Cuál? es la probabilidad?

  • ¿ es la probabilidad de que una noticia sea replicada?

\(f(x=1)\)

\[ f(x) = \binom{n}{x} = \frac{n!}{x!\cdot(n-x)!}\cdot p^{x} \cdot q^{(n-x)} \]

n <- 10; x = 1; exito = 0.70; fracaso = 1 - exito
factorial(n) / (factorial(x) * factorial(n - x)) * (exito^x) * (fracaso^(n-x))
[1] 0.000137781
dbinom(x = 1, size = 10, prob = 0.70)
[1] 0.000137781

¿Cuál ?

  • ¿es la probabilidad de que cinco noticias sean replicadas?

\(f(x=5)\)

\[ f(x) = \binom{n}{x} = \frac{n!}{x!\cdot(n-x)!}\cdot p^{x} \cdot q^{(n-x)} \]

n <- 10; x = 5; exito = 0.70; fracaso = 1 - exito
factorial(n) / (factorial(x) * factorial(n - x)) * (exito^x) * (fracaso^(n-x))
[1] 0.1029193
dbinom(x = 5, size = 10, prob = 0.70)
[1] 0.1029193

Función personalizada

source("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/2023/funciones/funciones%20para%20disribuciones%20de%20probabilidad.R")

¿Cuál ?

¿es la probabilidad de que cuatro noticias sean replicadas?

\(f(x=4)\)

x <- 4; n <- 10; exito <- 0.70

Los argumentos se llaman igual que los parámetros usando la función f.prob.binom().

f.prob.binom(x = 4, n = n, exito = exito)
[1] 0.03675691

Comprobando con función dbinom()

dbinom(x = x, size = n, prob = exito)
[1] 0.03675691

Probabilidad Acumulada F(x)

¿Cuál es la probabilidad de que sean de 0 a 4 noticias replicadas, es decir, menores o iguales a cuatro?

\(F(x=4) = f(x=0) + f(x=1) + f(x=2) + f(x=3) + f(x=4)\)

x <- 4; n <- 10; exito <- 0.70

pbinom(q = 4, size = n, prob = exito)
[1] 0.04734899

Función personalizada y cumsum()

¿Cuál es la probabilidad de que sean de 0 a 4 noticias replicadas, es decir, menores o iguales a cuatro?

\(F(x=4) = f(x=0) + f(x=1) + f(x=2) + f(x=3) + f(x=4)\)

x <- 4; n <- 10; exito <- 0.70

f.prob.binom(x = 0:4, n = n, exito = exito)
[1] 0.0000059049 0.0001377810 0.0014467005 0.0090016920 0.0367569090
cumsum(f.prob.binom(x = 0:4, n = n, exito = exito))
[1] 0.0000059049 0.0001436859 0.0015903864 0.0105920784 0.0473489874

Tabla de distribución

Se manda llamar la función f.binom.all(…) y se deja en resultado. Con esta variable visualizar tabla construída en código encapsulado.

x <- 4; n <- 10; exito <- 0.70

resultado <- f.binom.all(n = n, exito = exito)

tabla <- resultado$tabla
# kable(tabla, caption = "Tabla de distribución")

Tabla de distribución

kable(tabla, caption = "Tabla de distribución")
Tabla de distribución
x f.x F.x
0 0.0000059 0.0000059
1 0.0001378 0.0001437
2 0.0014467 0.0015904
3 0.0090017 0.0105921
4 0.0367569 0.0473490
5 0.1029193 0.1502683
6 0.2001209 0.3503893
7 0.2668279 0.6172172
8 0.2334744 0.8506917
9 0.1210608 0.9717525
10 0.0282475 1.0000000

VE, varianza y desviación estándar

\[ VE = \mu = n \cdot p \]

\[ varianza = \sigma^{2} = n \cdot p \cdot(1-p) \]

\[ \text{desv.std.} = \sigma = \sqrt{\sigma^{2}} \]

Reutilizando la variable resultado previamente asignada

resultado$VE
[1] 7

varianza y desviación estándar

resultado$varianza
[1] 2.1
resultado$desv.std
[1] 1.449138

¿Que significan estos estadísticos?

y la cereza del pastel

Visualización. Histograma y Densidad

plot_grid(resultado$g.dens, resultado$g_all$dens)

Barra y Acumulado

plot_grid(resultado$g_barra, resultado$g_all$acum)

Visualización interactiva

resultado$g.hist.plotly

Visualización Interactiva

resultado$g.acum.plotly

Valores aleatorios

Se utiliza la función rbinom() para simular un estudio y generar valores aleatorios conforme a la distribución binomial.

Se utiliza la misma probabilidad y la misma cantidad del tamaño de la muestra

Valores aleatorios

cantidad <- 100
aleatorios <- rbinom(n = cantidad, size = n, prob = exito)
aleatorios
  [1]  6  9  6  6  6  8  6  8  9  5  9  8  8  8  7  6  7  8  8  6  5  8  9  8  6
 [26]  9  5  7  5  8  8  7  6  4  7  8  6  7  8  6  9  6  5  7  6  6  6  6  7  6
 [51]  7  7  7  7  7  7  9  7  4  4  6  7  8  7  8  8  8  7  6  8  7  6  7  6  8
 [76]  5  6  7  7  7  6  6  8  7  8  6  8  8 10  5  6  7  8  7  8  8  5  4  7  9

Obtener el valor de x

A partir de una probabilidad acumulda se obtien el valor de x

la función qbinom() es lo contrario a dbinom()

Aquí las probabilidades \(f(x)\) de 0 a 10

pbinom(q = 0:n, size = n, prob = exito)
 [1] 0.0000059049 0.0001436859 0.0015903864 0.0105920784 0.0473489874
 [6] 0.1502683326 0.3503892816 0.6172172136 0.8506916541 0.9717524751
[11] 1.0000000000

Valor de x cuando \(F(x) = 0.45\)

El valor de x se obtiene de la probabilidad acumulada a la inversa de pbinom()

print("El valor de x es:")
[1] "El valor de x es:"
qbinom(p = 0.45, size = n, prob = exito)
[1] 7

Curva acumulada con plotly

Con la función plotly() la curva acumulada de \(F(x)\)

Curva acumulada con plotly

  g.plotly <- plot_ly(
    x = c(0:n),
    y = c(pbinom(q = 0:n, size = n, prob = exito)),
    type = "scatter" ,
    mode = "lines") %>%
    layout(title = "Distribución binomial",
           xaxis = list(title = "x's"), 
           yaxis = list(title = "Función de Prob. f(X)")
    )
  g.plotly

Interpretación

Preguntas