1 Objetivo

Encontrar probabilidades de acuerdo a la distribución binomial.

2 Descripción

Identificar ejercicios casos de la literatura de distribuciones de probabilidad binomial y realizar cálculos de probabilidades, determinar el valor esperado y calcualr la varianza y la desviación.

Los ejercicios que se presenta utilizan funciones relacionadas con la distribución binomial dbinom() pbinom(), rbinom() en algunos ejercicios del caso se utiliza la función f.prob.binom() previamente codificada y que encapsula la fórmula para determinar probabilidad binomiales.

3 Fundamento teórico

Pendiente.

4 Desarrollo

4.1 Cargar librerías

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
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.0.5
library(mosaic) # Gráficos de distribuciones
## Warning: package 'mosaic' was built under R version 4.0.5
## Registered S3 method overwritten by 'mosaic':
##   method                           from   
##   fortify.SpatialPolygonsDataFrame ggplot2
## 
## The 'mosaic' package masks several functions from core packages in order to add 
## additional features.  The original behavior of these functions should not be affected by this.
## 
## Attaching package: 'mosaic'
## The following object is masked from 'package:Matrix':
## 
##     mean
## The following object is masked from 'package:ggplot2':
## 
##     stat
## The following objects are masked from 'package:dplyr':
## 
##     count, do, tally
## The following objects are masked from 'package:stats':
## 
##     binom.test, cor, cor.test, cov, fivenum, IQR, median, prop.test,
##     quantile, sd, t.test, var
## The following objects are masked from 'package:base':
## 
##     max, mean, min, prod, range, sample, sum
options(scipen=999) # Notación normal

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

4.2 Cargar funciones

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

#source("../funciones/funciones.distribuciones.r")

# o

source("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/funciones/funciones.distribuciones.r")
## 
## Attaching package: 'gtools'
## The following object is masked from 'package:mosaic':
## 
##     logit

Se determina una semilla porque algunos ejercicios calculan valores aleatorios.

set.seed(2021)

4.3 Ejercicios

4.3.1 Jugador de Basquetbol

Un jugador encesta con probabilidad 0.55. (“La Distribución Binomial o de Bernoulli,” n.d.):

  • Determinar las probabilidad de los tiros del 1 al 6 con la tabla de probabilidad

  • Determinar la probabilidad de encestar cuatro tiros P(x=4)

  • Determinar la probabilidad de encestar todos tiros o sea seis P(x=6)

  • Determinar la probabilidad de encestar al menos tres P(x≤3) o, P.acum(x=3)

  • Determinar el valor esperado VE

  • Determinar la varianza y su desviación estándard

  • Interpretar el ejercicio

4.3.1.1 Tabla de probabilidad (0-6)

Se construye la tabla de probabilidades tal y como se construye usando el código de tabla3

Se inicializan valores:

x <- 0:6
n <- 6
exito <- 0.55
tabla <- data.frame(x=x, f.prob.x = dbinom(x = x, size = n, prob = exito), f.acum.x = pbinom(q = x, size = n, prob = exito))
tabla
##   x    f.prob.x    f.acum.x
## 1 0 0.008303766 0.008303766
## 2 1 0.060894281 0.069198047
## 3 2 0.186065859 0.255263906
## 4 3 0.303218437 0.558482344
## 5 4 0.277950234 0.836432578
## 6 5 0.135886781 0.972319359
## 7 6 0.027680641 1.000000000

4.3.1.2 Visualización de probabilidades

Dos formas de visualizar las probabilidades

plotDist(dist = "binom", size=n, prob=exito,xlab = paste("Variables ",min(tabla$x),"-",max(tabla$x) )) 

plot(x = tabla$x, y=tabla$f.prob.x, type = "h", xlab = paste(min(tabla$x), '-', max(tabla$x)), ylab= "f(x)")

4.3.1.3 Probabilidad de encestar cuatro tiros

Calcular la probabilidad de encestar cuatro tiros \(P(x=4)\)

dbinom(x = 4, size = n, prob = exito)
## [1] 0.2779502

4.3.1.4 Probabilidad de encestar todos los tiros

Determinar la probabilidad de encestar todos tiros o sea seis \(P(x=6)\)

dbinom(x = 6, size = n, prob = exito)
## [1] 0.02768064

4.3.1.5 Probabilidad de encestar al menos tres

Usando la función pbinom()

pbinom(q = 3, size = n, prob = exito)
## [1] 0.5584823

o utilizando el renglón de la tabla de distribución en la columna de probabilidad acumulada f.acum.x.

valor.x <- 3
la.probabilidad <- filter(tabla, x == valor.x) 
la.probabilidad
##   x  f.prob.x  f.acum.x
## 1 3 0.3032184 0.5584823

4.3.1.6 Valor esperado

VE <- n * exito
paste("El valor esperado es: ",VE)
## [1] "El valor esperado es:  3.3"

El valor esperado de 3.3 significa que es lo que se espera encestar en promedio de los \(n=\) 6 tiros.

4.3.1.7 Varianza y desviación

Varianza

varianza <- n * exito *( 1 - exito)
paste ("La varianza es: ", round(varianza,2))
## [1] "La varianza es:  1.48"

Desviación

desviacion.std <- sqrt(varianza)
paste("La desviación std es: ", round(desviacion.std, 2))
## [1] "La desviación std es:  1.22"

De el valor esperado 3.3 hay una desviación aproximada de 1.2186058 hacia arriba o hacia abajo.

4.3.1.8 Interpretación del caso

El hecho de que ya se tenga establecida, o que el mismo problema ya nos plantee la probabilidad que tiene el jugador de baloncesto de anotar es un giro inesperado pero interesante en cuanto a resolver problemas de probabilidad se refiere, esto quiere decir que apartir de esa afirmación debemos sacar nuestras propias conclusiones y se pueden plantear situaciones más interesantes. El ejemplo planteado en el problema, por ejemplo, nos presenta una probabilidad ya planteada de que anote un tiro, así que meidnate las formulas y procedimientos enseñados se debe dar resolución a si creemos que el jugador anotara de 1 a 6 tiros, pues se nos plantea su probabilidad de anotar 4 tiros (0.277), anotar menos de 3 tiros (0.55) o todos(0,027), al mismo tiempo que de el valor esperado de que tenga éxito al anotar(3.3).

Creo que es un problema muy bien planteado, que muestra situaciones, que si bien muchos de nosotros no vivimos en la cotidianidad, si es algo que podemos ver en la tele o cuando asistimos a un partido de basquetbol.

4.3.2 Aprobar un examen

Un estudio refleja que al aplicar un examen de estadística la probabilidad de aprobar (éxito) es del 60%. Se pide lo siguiente:

  • Encuentre la tabla de distribución binomial para 30 estudiantes que presentan el examen

  • ¿Cuál es la probabilidad de que aprueben 5 alumnos?

  • ¿Cuál es la probabilidad de que aprueben 10 alumnos?

  • ¿Cuál es la probabilidad de que aprueben 15 o menos alumnos?

  • ¿Cuál es la probabilidad de que aprueben entre 10 y 20 alumnos?

  • ¿Cuál es la probabilidad de que aprueben mas de 25 alumnos?

  • Determinar el valor esperado VE y su significado.

  • Determinar la varianza y su desviación estándard y su significado.

  • Interpretar el ejercicio

4.3.2.1 Tabla de distribución binomial

Se incializan valores

x <- 0:30
n <- 30
exito <- 0.60

Se construye la tabla

tabla <- data.frame(x=x, f.prob.x = dbinom(x = x, size = n, prob = exito), f.acum.x = pbinom(q = x, size = n, prob = exito))
tabla
##     x             f.prob.x             f.acum.x
## 1   0 0.000000000001152922 0.000000000001152922
## 2   1 0.000000000051881468 0.000000000053034389
## 3   2 0.000000001128421923 0.000000001181456312
## 4   3 0.000000015797906917 0.000000016979363229
## 5   4 0.000000159953807533 0.000000176933170762
## 6   5 0.000001247639698760 0.000001424572869522
## 7   6 0.000007797748117251 0.000009222320986774
## 8   7 0.000040102704603007 0.000049325025589781
## 9   8 0.000172942913600469 0.000222267939190250
## 10  9 0.000634124016535054 0.000856391955725303
## 11 10 0.001997490652085418 0.002853882607810724
## 12 11 0.005447701778414773 0.008301584386225485
## 13 12 0.012938291723735080 0.021239876109960601
## 14 13 0.026871836656988245 0.048111712766948846
## 15 14 0.048945131053800175 0.097056843820749084
## 16 15 0.078312209686080117 0.175369053506829159
## 17 16 0.110126544871050142 0.285495598377879189
## 18 17 0.136038673076003175 0.421534271453882614
## 19 18 0.147375229165670141 0.568909500619552144
## 20 19 0.139618638156950664 0.708528138776503003
## 21 20 0.115185376479484264 0.823713515255987683
## 22 21 0.082275268913917302 0.905988784169904804
## 23 22 0.050487096833540038 0.956475881003445050
## 24 23 0.026341094000107985 0.982816975003552917
## 25 24 0.011524228625047248 0.994341203628600123
## 26 25 0.004148722305017007 0.998489925933617184
## 27 26 0.001196746818754908 0.999686672752372107
## 28 27 0.000265943737501089 0.999952616489873214
## 29 28 0.000042740957812675 0.999995357447685862
## 30 29 0.000004421478394415 0.999999778926080274
## 31 30 0.000000221073919721 1.000000000000000000

4.3.2.2 Visualizar la tabla de distribución

plot(x=tabla$x, y=tabla$f.prob.x, 
     type='h', las=1, lwd=6, xlab = paste(min(tabla$x), '-', max(tabla$x)), ylab = "f(x)")

4.3.2.3 Probabilidad de que aprueben 5 alumnos

prob <- pbinom(q = 5, size = n, prob = exito)
paste("La probabilida de que aprueben 5 alumnos es de ", prob)
## [1] "La probabilida de que aprueben 5 alumnos es de  0.00000142457286952231"

4.3.2.4 Probabilidad de que aprueben 10 alumnos

prob <- pbinom(q = 10, size = n, prob = exito)
paste("La probabilida de que aprueben 10 alumnos es de ", prob)
## [1] "La probabilida de que aprueben 10 alumnos es de  0.00285388260781072"

4.3.2.5 Probabilidad de que aprueben 15 o menos alumnos

Se calcula la probabilidad de \(P(x=0)+P(x=1)+P(x=2)...+P(15)\) o la probabilidad acumulada cuando \(F(x=15)\)

prob <- pbinom(q = 15, size = n, prob = exito)
paste("La probabilida de que aprueben 15 o menos es de ", prob)
## [1] "La probabilida de que aprueben 15 o menos es de  0.175369053506829"

4.3.2.6 Probabilidad de que aprueben entre 10 y 20 alumnos

Se calcula la probabilidad acumulada de \(F(x=20)−F(x=10)\)

prob <- pbinom(q = 20, size = n, prob = exito) - pbinom(q = 10, size = n, prob = exito)
paste ("La probabilidad de que aprueben entre 10 y 20 estudiantes es de: ", prob)
## [1] "La probabilidad de que aprueben entre 10 y 20 estudiantes es de:  0.820859632648177"
# Se comprueba sumando los valores
sum(tabla$f.prob.x[11:21])
## [1] 0.8228571

4.3.2.7 Probabilidad de que aprueben mas de 25 alumnos

Se debe calcular \(P(x≥26)\) o restar del el valor acumulado de 25 a 1. \(1−F(x=26)\)

Con pbinom() y con lower.tail() = TRUE se encuentra la probabilidad.

prob <- pbinom(q = 25, size = n, prob = exito, lower.tail = FALSE)
paste ("La probabilidad de que aprueben mas de 25 alumnos es de ", prob)
## [1] "La probabilidad de que aprueben mas de 25 alumnos es de  0.00151007406638281"
# Se puede comprobar sumando los renglones 27 al 31 de la tabla
sum(tabla$f.prob.x[27:31])
## [1] 0.001510074

4.3.2.8 Valor esperado

El valor esperado es la cantidad de alumnos que aprueben el examen.

VE <- n * exito
paste("El valor esperado es: ",VE)
## [1] "El valor esperado es:  18"

4.3.2.9 Varianza y desviación

Varianza

varianza <- n * exito *( 1 - exito)
paste ("La varianza es: ", round(varianza,2))
## [1] "La varianza es:  7.2"

Desviación

desviacion.std <- sqrt(varianza)
paste("La desviación std es: ", round(desviacion.std, 2))
## [1] "La desviación std es:  2.68"

La desviación como parte de la varianza significa la cantidad de alumnos que puede variar con respecto al valor medio \(VE\) previamente calculado.

4.3.2.10 Interpretación del caso

Aquí, en este caso, si se tiene planteada una situación marcada que nosotros como estudiantes vivimos todos el días de nuestra vida escolar, aprobar un examen, el ejercicio como tal ya tiene planteado que los alumnos aprueban con una probabilidad del 60%, así que nos toca a nosotros determinar la probabilidad de que tantos estudiantes aprobaran el examen, planteandonos las situaciones de 5(0.000001424), 10(0.002853), 15 o menos(0.1753), 10 y 20(0.8208) y más de 25 alumnos(0.001510), así como su valor esperado de éxito(18).

4.3.3 Autobuses contaminantes

Suponga que un grupo de agentes de tránsito sale a una vía principal para revisar el estado de los autobuses de transporte intermunicipal. De datos históricos se sabe que un 10% de los camiones generan una mayor cantidad de humo de la permitida. En cada jornada los agentes revisan siempre 18 unidades (autobuses), asuma que el estado de un autobus es independiente del estado de los otros buses. (Hernández 2021).

  • Construir la tabla de distribución

  • Visualizar la densidad o las probabilidades para cada variable discreta

  • Calcular la probabilidad de que se encuentren exactamente 2 buses que generan una mayor cantidad de humo de la permitida.

  • Calcular la probabilidad de que el número de autobuses que sobrepasan el límite de generación de gases sea al menos 4.

  • Calcular la probabilidad de que existan MAS DE TRES (a partir de CUATRO) autobuses que emitan gases por encima de lo permitido en la norma

  • Calcular el valor esperado.

  • Calcular la varianza y la desviación.

  • Generar una muestra aleatoria de 100 valores y comparar las frecuencias relativas con las probabilidad originales.

  • Interpretar el caso.

4.3.3.1 Construir la tabla de distribución

Se inicializan variables

x <- 0:18
n <- 18
exito <- 0.10

Se construye la tabla de distribución con dbimom() y dbinom().

tabla <- data.frame(x=x, f.prob.x = dbinom(x = x, size = n, prob = exito), f.acum.x = pbinom(q = x, size = n, prob = exito))
tabla
##     x             f.prob.x  f.acum.x
## 1   0 0.150094635296999152 0.1500946
## 2   1 0.300189270593998137 0.4502839
## 3   2 0.283512088894331660 0.7337960
## 4   3 0.168007163789233555 0.9018032
## 5   4 0.070002984912180641 0.9718061
## 6   5 0.021778706417122911 0.9935848
## 7   6 0.005243021915233281 0.9988279
## 8   7 0.000998670840996817 0.9998265
## 9   8 0.000152574711818958 0.9999791
## 10  9 0.000018836384175180 0.9999980
## 11 10 0.000001883638417518 0.9999998
## 12 11 0.000000152213205456 1.0000000
## 13 12 0.000000009865670724 1.0000000
## 14 13 0.000000000505931832 1.0000000
## 15 14 0.000000000020076660 1.0000000
## 16 15 0.000000000000594864 1.0000000
## 17 16 0.000000000000012393 1.0000000
## 18 17 0.000000000000000162 1.0000000
## 19 18 0.000000000000000001 1.0000000

4.3.3.2 Visualizar probabilidades

Se muestran las probabilidades de cada variable discreta usando directamente la función plot()

plot(x=tabla$x, y=tabla$f.prob.x, 
     type='h', las=1, lwd=6, xlab = paste(min(tabla$x), '-', max(tabla$x)), ylab = "f(x)")

4.3.3.3 Probabilidad de que se encuentren exactamente 2 buses

x <- 2
prob <- dbinom(x = x, size = n, prob = exito)
paste ("La probabilidad de encontrar dos camiones contaminantes es de : ", prob)
## [1] "La probabilidad de encontrar dos camiones contaminantes es de :  0.283512088894332"

4.3.3.4 Probabilidad de menos de cuatro autobuses

Se requiere encontrar la probabilidad de cuando la variables tenga valores entre cero y cuatro.

\(P(x=0)+P(x=1)+P(x=2)+P(x=3)+P(x=4)\) o lo que es lo mismo \(P(x≤4)\) o en términos de probabilidad acumulada \(F(x=4)\)

x <- 4
prob <- pbinom(q = x, size = n, prob = exito)
paste ("La probabilidad de encontrar menos de cuatro camiones es de: ", prob)
## [1] "La probabilidad de encontrar menos de cuatro camiones es de:  0.971806143486743"

4.3.3.5 Probabilidad de MAS de tres autobuses

Se requiere encontrar la probabilidad de cuando la variables tenga valores entre cuatro y dieciocho.

\(P(x=4)+P(x=5)+P(x=6)+P(x=7)...+...P(x=18)P(x=4)+P(x=5)+P(x=6)+P(x=7)...+...P(x=18)\) o lo que es lo mismo \(P(x≥3)\) o en términos de probabilidad acumulada \(F(x=18)−F(x=4)\)

x1 <- 4
x2 <- 18
prob <- pbinom(q = x2, size = n, prob = exito) - pbinom(q = x1, size = n, prob = exito)  
paste ("La probabilidad de encontrar menos de cuatro camiones es de: ", prob)
## [1] "La probabilidad de encontrar menos de cuatro camiones es de:  0.0281938565132567"

Se puede encontrar usando la expresión lower.tail = FALSE

pbinom(q = 4, size = n, prob = exito, lower.tail = FALSE)
## [1] 0.02819386

4.3.3.6 Valor esperado

VE <- n * exito
paste("El valor esperado es: ",VE)
## [1] "El valor esperado es:  1.8"

El valor esperado de 1.8 significa el valor medio de camiones que se pueden encontrar que contaminan

4.3.3.7 Varianza y desviación

Varianza

varianza <- n * exito *( 1 - exito)
paste ("La varianza es: ", round(varianza,2))
## [1] "La varianza es:  1.62"

Desviación

desviacion.std <- sqrt(varianza)
paste("La desviación std es: ", round(desviacion.std, 2))
## [1] "La desviación std es:  1.27"

La varianza y de manera más específica la desviación significa que tanto varía (se aleja o se acerca) con respeto al valor medio o valor esperado \(VE\) el número de autobuses con probabilidad de encontrarse con partículas contaminantes.

4.3.3.8 Valores aleatorios

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

El estudio o la simulación se hace con un experimento de 100 camiones, a partir del estudio previo de 18 camiones.

n.muestra <- 100
muestra <- rbinom(n = n.muestra, size = n, prob = exito)
muestra
##   [1] 2 3 2 1 2 2 2 1 3 5 0 3 2 2 3 1 2 3 4 2 0 4 1 1 2 4 4 3 4 3 0 4 4 4 2 1 4
##  [38] 1 4 1 1 3 1 4 0 3 3 0 0 3 2 2 0 2 1 1 2 1 3 3 0 2 0 1 3 0 0 2 1 0 0 2 0 4
##  [75] 0 2 2 1 2 6 2 1 4 2 1 1 5 3 2 1 1 2 4 2 1 3 2 2 3 2

Calculando frecuencias relativas

Con la función table() se determina la frecuencia y con prop.table() se encuentra la frecuencia relativa.

table(muestra)
## muestra
##  0  1  2  3  4  5  6 
## 15 22 29 17 14  2  1
data.frame(prob = prop.table(table(muestra)))
##   prob.muestra prob.Freq
## 1            0      0.15
## 2            1      0.22
## 3            2      0.29
## 4            3      0.17
## 5            4      0.14
## 6            5      0.02
## 7            6      0.01

Se observa que los mayores valores probabilísticos está entre 1 y 3, entonces la muestra se relaciona con los valores probabilísticos del origen de los datos.

4.3.3.9 Interpretación del caso

**En este problema se tuvo que calcular los autobuses que generan la mayor cantidad de gases contaminantes, basandose en antecedentes historicos y en las propias características mecanicas de los propios autobuses, plateando que un 10% de los caiones se sabe que generan esos gases y al día se revisan las 18 unidades. Basandose en esto se nos pide que se calculen la probabilidad de que 2 buses(0.2835), menos de 4 buses(0.9718), y más de tres buses(0.02819) sean de los que contaminan, y también se nos pide encontrar el valor esperado de écito, el cual plantea cuantas posibilidades hay de que tengamos éxito o cuantos camiones hay basandose en la probabilidad y el número dado de unidades(1.8).*

5 Referencias bibliográficas

Anderson, David R., Dennis J. Sweeney, and Thomas A. Williams. 2008. Estadística Para Administración y Economía. 10th ed. Australia • Brasil • Corea • España • Estados Unidos • Japón • México • Reino Unido • Singapur: Cengage Learning,.

Hernández, Freddy. 2021. “Manual de r. Distribuciones Discretas.” https://fhernanb.github.io/Manual-de-R/.

“La Distribución Binomial o de Bernoulli.” n.d. https://www.profesor10demates.com/2014/04/la-distribucion-binomial-o-de-bernoulli_3.html.

Mendenhall, William, Robert J. Beaver, and Barbara M. Beaver. 2006. Introducción a La Probabilidad y Estadística. 13a Edición.

R CODER Binom. n.d. “La Función Dbinom.” https://r-coder.com/distribucion-binomial-r/.

Walpole, Ronald E., Raymond H. Myers, and Sharon L. Myers. 2012. Probabilidad y Estadística Para Ingeniería y Ciencias. Novena Edición. México: Pearson.