Objetivo

Encontrar probabilidades de acuerdo a la distribución binomial

Descripción

Identificar dos casos de la literatura de distribuciones de probabilidad binomial y realizar cálculos de probabilidades utilizando la fórmula y las funciones dbinom() y pbinom(), identificar el valor medio, la varianza y la desviación.

1. Cargar librerías

Se carga función de servicio github o de manera local

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
source("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/funciones/funciones.distribuciones.r")
## Warning: package 'gtools' was built under R version 4.0.3

2. Ejercicio

Tienda de ropa MartinClothingStore (Anderson et al., 2008)

De acuerdo con la experiencia, el gerente de la tienda estima que la probabilidad de que un cliente realice una compra es 0.30.

  • a.Identificar las probabilidad para cuando se compre 0,1,2,3, determinar la tabla de probabilidad incluyendo probabilidad cumulada
  • b.Encontrar la probabilidad de que compren dos clientes
  • c.Encontrar la probabilidad de que compren los tres próximos clientes.
  • d.Encontrar la probabilidad de que sean menor o igual que dos.
  • e.Determinar el valor esperado y su significado
  • f.Determinar la varianza y la desviación estándar y si significado
  • g.Interpretar
  1. Identificar las probabilidad para cuando se compre 0,1,2,3, determinar la tabla de probabilidad incluyendo probabilidad cumulada
  • Inicializar valores
x <- c(0,1,2,3)
n <- 3
exito <- 0.30

Determinar tabla de probabilidad usando la función creada y conforme a la fórmula

tabla1 <- data.frame(x=x, f.prob.x = f.prob.binom(x,n,exito), f.acum.x = cumsum(f.prob.binom(x,n,exito)))
tabla1
##   x f.prob.x f.acum.x
## 1 0    0.343    0.343
## 2 1    0.441    0.784
## 3 2    0.189    0.973
## 4 3    0.027    1.000
  • Determinar tabla de probabilidad usando función propia de los paquetes base de r dbinom()
tabla2 <- data.frame(x=x, f.prob.x = dbinom(x = x, size = n, prob = exito), f.acum.x = cumsum(dbinom(x = x, size = n, prob = exito)))
tabla2
##   x f.prob.x f.acum.x
## 1 0    0.343    0.343
## 2 1    0.441    0.784
## 3 2    0.189    0.973
## 4 3    0.027    1.000
  1. Encontrar la probabilidad de que compren dos clientes
  • Identificar la probabildiad cuando P(x=2) de la tabla
  • Se puede usar tabla1 o tabla2 es la misma
valor.x <- 2
la.probabilidad <- filter(tabla1, x == valor.x) 
la.probabilidad
##   x f.prob.x f.acum.x
## 1 2    0.189    0.973
paste("La probabilidad cuando x es ", valor.x, " es igual a : ", la.probabilidad$f.prob.x )
## [1] "La probabilidad cuando x es  2  es igual a :  0.189"
  1. Encontrar la probabilidad de que compren los tres próximos clientes.
  • Identificar la probabildiad cuando P(x=3) de la tabla
  • Se puede usar tabla1 o tabla2 es la misma
valor.x <- 3
la.probabilidad <- filter(tabla1, x == valor.x) 
la.probabilidad
##   x f.prob.x f.acum.x
## 1 3    0.027        1
paste("La probabilidad cuando x es ", valor.x, " es igual a : ", la.probabilidad$f.prob.x )
## [1] "La probabilidad cuando x es  3  es igual a :  0.027"
  1. Encontrar la probabilidad de que sean menor o igual que dos.
  • Ahora usar la función acumulada por la pregunta
  • P(x=0)+P(x=1)+P(x=2)
valor.x <- 2
la.probabilidad <- filter(tabla1, x == valor.x) 
la.probabilidad
##   x f.prob.x f.acum.x
## 1 2    0.189    0.973
paste("La probabilidad de que sea menor o igual a ", valor.x, " es igual a : ", la.probabilidad$f.acum.x )
## [1] "La probabilidad de que sea menor o igual a  2  es igual a :  0.973"
  1. Determinar el valor esperado y su significado El valor esperado de la distribución binomial
VE <- n * exito
paste ("El valor esperado es: ", VE)
## [1] "El valor esperado es:  0.9"
  1. Determinar la varianza y la desviación estándar y si significado La varianza en la distribución binomial
varianza <- n * exito *( 1 - exito)
paste ("La varianza es: ", round(varianza,2))
## [1] "La varianza es:  0.63"
desviacion.std <- sqrt(varianza)
paste("La desviación std es: ", round(desviacion.std, 2))
## [1] "La desviación std es:  0.79"