Encontrar probabilidades de acuerdo a la distribución binomial.
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.
El experimento de lanzar al aire una moneda es un ejemplo sencillo de una importante variable aleatoria discreta llamada variable aleatoria binomial. Muchos experimentos prácticos resultan en datos similares a que salgan cara o cruz al tirar la moneda (Mendenhall, Beaver, and Beaver 2006)
Un experimento binomial es el que tiene estas cinco características:
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. (Mendenhall, Beaver, and Beaver 2006).
Un experimiento de Bernoulli puede tener como resultado un éxito con probabilidad p y un fracaso con probabilidad q=1−p. Entonces, la distribución de probabilidad de la variable aleatoria binomial x, el número de éxito k en n ensayos independientes (Walpole, Myers, and Myers 2012):
Fórmula:
\[ 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.
\[\binom{n}{k} = \frac{n!}{k!\cdot(n-k)!} \]
El valor esperado está dado por:
\[\sigma^{2} = n \cdot p \cdot(1-p)\]
y
\[\sigma = \sqrt{\sigma^{2}}\]
En programación R, para calcular la función de probabilidad binomial para un conjunto de valores discretos, x, un número de ensayos n y una probabilidad de éxito p se puede hacer uso de la función dbinom().
De semejante forma, para calcular la probabilidad acumulada de una distribución binomial se puede utilizar la función pbinom() o para calcular la probabilidad de que una variable aleatoria x que sigue una distribución binomial tome valores menores o iguales a x puedes hacer uso de la función pbinom() (R CODER Binom, n.d.).
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.0.5
##
## 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)
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
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)
Tienda de ropa MartinClothingStore (Anderson, Sweeney, and Williams 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.
Identificar las probabilidad para cuando se compre 0,1,2,3, determinar la tabla de probabilidad incluyendo probabilidad acumulada
Encontrar la probabilidad de que compren dos clientes
Encontrar la probabilidad de que compren los tres próximos clientes.
Encontrar la probabilidad de que sean menor o igual que dos.
Calcular la probabilidad de que sean mayor que dos
Determinar el valor esperado y su significado
Determinar la varianza y la desviación estándar y si significado
Interpretar
Identificar las probabilidad para cuando se compre 0,1,2,3, determinar la tabla de probabilidad incluyendo probabilidad cumulada
x <- c(0,1,2,3)
n <- 3
exito <- 0.30
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
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
con pbinom() en lugar de cumsum()
tabla3 <- data.frame(x=x, f.prob.x = dbinom(x = x, size = n, prob = exito), f.acum.x = pbinom(q = x, size = n, prob = exito))
tabla3
## 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
plotDist(dist = "binom", size=3, prob=0.30,xlab = paste("Variables ",min(tabla1$x),"-",max(tabla1$x) ))
plotDist(dist = "binom", size=3, prob=0.30,xlab = paste("Variables ",min(tabla1$x),"-",max(tabla1$x) ), kind = "histogram")
Encontrar la probabilidad de que compren dos clientes
Identificar la probabilidad cuando P(x=2) de la tabla.
Se puede usar tabla1, tabla2 o tabla3 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"
Usando dbinom()
dbinom(x = 2, size = 3, prob = exito)
## [1] 0.189
Encontrar la probabilidad de que compren los tres próximos clientes
Identificar la probabilidad cuando P(x=3) de la tabla.
Se puede usar tabla1, tabla2 o tabla3 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"
Usando dbinom()
dbinom(x = 3, size = 3, prob = exito)
## [1] 0.027
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
Usando pbinom()
pbinom(q = 2, size = 3, prob = exito)
## [1] 0.973
La expresión lower.tail = FALSE como atributo de la función pbinom() significa encontrar en la tabla de distribución la sumatoria de las probabilidades a partir de el valor de xx, o lo que es lo mismo, \(1 - prob.acum(x)\), \(1 - 0.97 = 0.27\)
pbinom(q = 2, size = 3, prob = exito, lower.tail = FALSE)
## [1] 0.027
Determinar el valor esperado y su significado
\[ \mu = n \cdot p \]
Siendo p el éxito de la probabilidad y n el número de experimentos
VE <- n * exito
paste ("El valor esperado es: ", VE)
## [1] "El valor esperado es: 0.9"
El valor esperado VE significa el valor medio o el valor promedio de todos valores de la distribución de probabilidad.
Determinar la varianza y la desviación estándar y su significado.
\[ \sigma^{2} = n \cdot p \cdot(1-p) \]
varianza <- n * exito *( 1 - exito)
paste ("La varianza es: ", round(varianza,2))
## [1] "La varianza es: 0.63"
\[\sigma = \sqrt{\sigma^{2}} \]
desviacion.std <- sqrt(varianza)
paste("La desviación std es: ", round(desviacion.std, 2))
## [1] "La desviación std es: 0.79"
En este ejercicio se determinaron las probabilidades de si uno, dos o mas clientes compraban el ella, promero se saco la tabla de probabilidades usando la función creada y conforme a la fórmulas, y con otras dos diferentes maneras de sacar esta tabla como, la función de los paquetes base de R binom(), o con pbinom() en lugar de cumsum().
También se vio como sacar la tabla de distribución, claro que de dos formas una con una grafica de lineas y la otra de barras.
También en cada punto sacar de cuanto es la probabilidad de que compren dicho número de clientes con parte de la tabla de distribución, usando la función dbinom(). También nos pide el valor esperado, la variaza y desviación estándar los cuales sacamos con las formulas \(\mu = n \cdot p\), \(\sigma^{2} = n \cdot p \cdot(1-p)\), \(\sigma = \sqrt{\sigma^{2}}\), siendo p el éxito de la probabilidad y n el número de experimentos.
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 \leq 3)\) o, \(.acum(x = 3)\)
Determinar el valor esperado VE
Determinar la varianza y su desviación estándard
Interpretar el ejercicio
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
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)")
Calcular la probabilidad de encestar cuatro tiros \(P(x=4)\)
dbinom(x = 4, size = n, prob = exito)
## [1] 0.2779502
Determinar la probabilidad de encestar todos tiros o sea seis \(P(x=6)\)
dbinom(x = 6, size = n, prob = exito)
## [1] 0.02768064
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
VE <- n * exito
paste("El valor esperado es: ",VE)
## [1] "El valor esperado es: 3.3"
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.
Interpretación.
Primero se construyo la tabla de probabilidades tal y como se construye usando el código de tabla3, para sacar la probabilidad de tiros del 1 al 6. Los demás puntos de probabilidad de tiros encestados, se saca la primera con la función P(x=4), y el segundo punto P(x=6), en el tercer punto nos pedía sacar la probabilidad de encestar al menos tres tiros usando las fórmulas P(x≤3) o, P.acum(x=3) y también se puede usando la función pbinom(), Después nos pide sacar el valor esperado, la varianza y desviacion, mismas fórmulas que se mencionaron en el primer ejercicio.
La probabilidad de que un paciente se recupere de una rara enfermedad sanguínea es 0.4. Si se sabe que 15 personas contraen tal enfermedad,
Determine tabla de probabilidad de 1 al 15
Visualizar la gráfica de probabilidades
¿Cuál es la probabilidad de que sobrevivan al menos diez,
¿Cuál es la probabilidad de que sobrevivan de tres a ocho?, y
¿Cuál es la probabilidad de que sobrevivan exactamente cinco?
¿Cuál es el valor esperado ‘VE’ o la esperanza media?
¿Cual es la varianza y la desviación estándar?
¿Cómo se comportarían las probabilidades para un experimento de 100 personas?
Interpretación del ejercicio (Walpole, Myers, and Myers 2012).
Inicializar valores
x <- 0:15
n <- 15
exito <- 0.40
Se construye la tabla de probabilidades con las funciones previamente construidas que se encuentran en enlace https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/funciones/funciones.distribuciones.r y con la función cumsum() para el acumulado de la probabilidad.
tabla <- data.frame(x=x, f.prob.x = f.prob.binom(x,n,exito), f.acum.x = cumsum(f.prob.binom(x,n,exito)))
tabla
## x f.prob.x f.acum.x
## 1 0 0.000470184985 0.000470185
## 2 1 0.004701849846 0.005172035
## 3 2 0.021941965947 0.027114001
## 4 3 0.063387901624 0.090501902
## 5 4 0.126775803249 0.217277706
## 6 5 0.185937844765 0.403215550
## 7 6 0.206597605294 0.609813156
## 8 7 0.177083661681 0.786896817
## 9 8 0.118055774454 0.904952592
## 10 9 0.061214105272 0.966166697
## 11 10 0.024485642109 0.990652339
## 12 11 0.007419891548 0.998072231
## 13 12 0.001648864788 0.999721096
## 14 13 0.000253671506 0.999974767
## 15 14 0.000024159191 0.999998926
## 16 15 0.000001073742 1.000000000
4.3.3.2 Gráfica de probabilidades
La gráfica se presenta con la función plot() que requiere las coordenadas de x & y siendo estás las variables aleatorias discretas y las probabilidades respectivamente.
plot(x = tabla$x, y=tabla$f.prob.x, type = "h", xlab = paste(min(tabla$x), '-', max(tabla$x)), ylab= "f(x)")
Se requiere la suma de las probabilidades en donde \(P(\leq 10)\) o bien \(P(x=0) + P(x=1) + P(x=2) ... + P(x=10)\) o mediante la función acumulada de la probabilidad. \(F(x=10)\). Como se necesita la probabilida acumulada entonces se usa pbinom().
x = 10
prob <- pbinom(q = x, size = n, prob = exito)
paste ("La probabilidad de que se enfermen menos que diez es: ", prob, " o el ", round(prob * 100, 2), "%")
## [1] "La probabilidad de que se enfermen menos que diez es: 0.990652339224576 o el 99.07 %"
Se requiere el valor acumulado entre tres y ocho es decir, \(F(x=8) - F(x=2)\), o sumar las probabilidades de tres a ocho \(P(x=3) + P(x=4) + P(x=5) + P(x=6)+ P(x=6)+P(x=7)+P(x=8)\)
Se usa la resta usando la función pbinom()
x1 = 2 #
x2 = 8
prob <- pbinom(q = x2, size = n, prob = exito) - pbinom(q = x1, size = n, prob = exito)
paste ("La probabilidad de que se enfermen de tres a ocho es: ", prob, " o el ", round(prob * 100, 2), "%")
## [1] "La probabilidad de que se enfermen de tres a ocho es: 0.877838591066112 o el 87.78 %"
Se comprueba sumando las probabilidades de tres a ocho
sum(dbinom(x = 3:8, size = n, prob = exito))
## [1] 0.8778386
o sumando los renglones de las probabilidades de tres a ocho de la tabla de probabilidad.
sum(filter(tabla, x %in% 3:8) %>%
select(f.prob.x))
## [1] 0.8778386
Aquí se calcula la probabilidad con la función dbinom() cuando \(P(x=5)\)
x = 10
prob <- dbinom(x = x, size = n, prob = exito)
paste ("La probabilidad de que se enfermen menos que diez es: ", prob, " o el ", round(prob * 100, 2), "%")
## [1] "La probabilidad de que se enfermen menos que diez es: 0.024485642108928 o el 2.45 %"
Se comprueba la probabilidad extrayendo con la función filter() el registro de la tabla de distribución cuando \(x==10\)
filter(tabla, x==10)
## x f.prob.x f.acum.x
## 1 10 0.02448564 0.9906523
Se determina el valor medio o el valor esperado de la tabla de distribución.
VE <- n * exito
paste("El valor esperado es: ",VE)
## [1] "El valor esperado es: 6"
Se espera que se recuperen 6 en promedio
Se calcula la varianza
varianza <- n * exito *( 1 - exito)
paste ("La varianza es: ", round(varianza,2))
## [1] "La varianza es: 3.6"
Se determina la desviación
desviacion.std <- sqrt(varianza)
paste("La desviación std es: ", round(desviacion.std, 2))
## [1] "La desviación std es: 1.9"
Siendo la desviación una medida de variabilidad significa que tanto estarían las probabilidades por encima o por debajo del valor esperado.
Interpretación.
Nos pidio realizar la tabla de distribución y con la función cumsum() para el acumulado de la probabilidad, después de eso realizar la grafica de probabilidades con la función plot() que requiere las coordenadas de x & y siendo estás las variables aleatorias discretas. Después en los demás puntos sacar la probabilidad de que un determinado número de personas sobreviva, o exactamente una cantidad de personas. Se requiere la suma de las probabilidades o mediante la función acumulada de la probabilidad. Como se necesita la probabilida acumulada entonces se usa pbinom(). Y para otra probabilidad, se requiere el valor acumulado entre tres y ocho, o sumar las probabilidades de tres a ocho, también se usa la resta usando la función pbinom(). Cuando se quiere sacar la probabilidad de que sobrevivan exactamente dicho número entonces aquí se calcula la probabilidad con la función dbinom(). Después como en los ejercicios anteriores se calcula el valor esperado, la varianza y la desviación.
Con la función de aleatoriedad rbinom() se calculan las probabilidades de una muestra de 100, con ello las proporciones o frecuencias relativas siendo los elementos de la función n la cantidad de experimentos que serían 100, size el tamaño del estudio original es decir 15 y prob la probabilidad de éxito.
La variable llamada variables contiene los valores aleatorios de la muestra y la frecuencia es la cantidad de ocasiones de cada variable aleatoria.
muestra <- 100
variables <- rbinom(n = muestra, size = n, prob = exito)
variables
## [1] 6 7 7 5 7 7 7 5 8 10 3 8 6 6 8 5 6 8 9 6 4 9 5 5 6
## [26] 9 9 8 9 8 3 9 9 8 6 5 9 5 9 6 4 8 6 9 4 8 8 2 3 8
## [51] 6 7 3 6 5 4 6 5 8 7 2 6 3 5 8 4 3 7 5 3 3 7 4 9 3
## [76] 6 6 5 7 11 6 6 9 7 5 5 10 8 6 5 4 7 9 6 5 8 7 7 7 7
frecuencia = table(variables)
frecuencia
## variables
## 2 3 4 5 6 7 8 9 10 11
## 2 9 7 16 19 16 15 13 2 1
Las probabilidades relativas de la muestra
probs <- prop.table(frecuencia)
prob
## [1] 0.02448564
tablaexp <- data.frame(x=1:length(frecuencia), f.prob.x = as.vector(probs), f.acum.x = cumsum(as.vector(probs)))
tablaexp
## x f.prob.x f.acum.x
## 1 1 0.02 0.02
## 2 2 0.09 0.11
## 3 3 0.07 0.18
## 4 4 0.16 0.34
## 5 5 0.19 0.53
## 6 6 0.16 0.69
## 7 7 0.15 0.84
## 8 8 0.13 0.97
## 9 9 0.02 0.99
## 10 10 0.01 1.00
A partir de la nueva tabla del experimento se compara con la tabla original en dos g´rfias
Con la función par(mfrow=c(1,2)) se puede ver dos gráficas tipo plot() al mismo tiempo en el mismo renglón.
par(mfrow=c(1,2))
plot(x = tabla$x, y=tabla$f.prob.x, type = "h", xlab = "X", ylab= "f(x)", main = "15 pacientes")
plot(x = tablaexp$x, y=tablaexp$f.prob.x, type = "h", xlab = "X", ylab= "f(x)", xlim = c(0,15), ylim = range(0, 0.20), main="Simulando 100 pacientes")
¿Cómo se comportan las probabilidades del estudio con 15 y del experimento o simulación con 100 pacientes?, muy similares las probabilidades.
Interpretación.
Para interpretar un experimento de 100 personas, sacamos la probabilidad de una muestra de 100 con la función de aleatoriedad rbinom(), con ello las proporciones o frecuencias relativas siendo los elementos de la función n la cantidad de experimentos que serían 100, size el tamaño del estudio original es decir 15 y prob la probabilidad de éxito, ta,bien sacamos la probabilidad relativa de la muestra, y así mismo la tabla de distribución. después de eso a partir de la nueva tabla del experimento se compara con la tabla original en dos grafias, usando la función par(mfrow=c(1,2)) se puede ver dos gráficas tipo plot() al mismo tiempo en el mismo renglón.
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.
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
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)")
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"
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
Se debe calcular \(P(x\geq26)\) 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
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"
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.
Interpretación.
En este ejercicio se hizo un estudio que refleja que al aplicar un examen de estadística la probabilidad de aprobar es del 60%. Nos pide encontrar la tabla de distribución binomial para 30 estudiantes que presentan el examen, después de eso realizamos la tabla de distribución representandola en una gráfica con la función plot(). En la probabilidad de que aprieben 15 alumnos o menos, calculamos la prbabilidad sumando las probabilidades o mediante la función acumulada de la probabilidad, la probabilidad de que aprueben entre 10 y 20 alumnos se restan las funciones de la probabilidad acumulada F(x=20)−F(x=10), y de que aprueben más de 25 alumnos Se debe calcular o restar del el valor acumulado de 25 a 1 con las funciones pbinom() y con lower.tail() = TRUE se encuentra la probabilidad. Ya al final se calcula el valor esperado, la varianza y la desviación.
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.
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
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)")
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"
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\leq 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"
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)\) o lo que es lo mismo \(P(x \geq 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
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
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.
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] 1 1 0 3 2 1 1 1 1 2 2 1 2 2 1 2 0 1 0 0 2 1 1 2 2 1 1 3 2 1 1 1 2 2 4 0 1
## [38] 4 0 1 1 5 2 1 0 1 4 3 0 2 1 0 1 2 0 2 3 1 2 2 1 1 1 2 0 3 3 1 1 2 0 3 2 0
## [75] 0 1 1 0 2 2 3 1 1 2 2 1 3 2 2 1 2 0 1 2 1 4 1 2 0 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
## 17 38 31 9 4 1
data.frame(prob = prop.table(table(muestra)))
## prob.muestra prob.Freq
## 1 0 0.17
## 2 1 0.38
## 3 2 0.31
## 4 3 0.09
## 5 4 0.04
## 6 5 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.
Interpretación.
En este ejercicio se determina en número de probabilidad de autobuses que contaminan, Nos pide la tabla de distribición, la cual se construye la tabla con las funciones dbimom() y dbinom(), luego se visualizan las probabilidades en una gráfica donde se muestran las probabilidades de cada variable discreta usando directamente la función plot(). Después se saca la probabilidad de cuantos autobuses generan este gas contaminante en cada punto del ejercicio, por ejemplo de al menos 4 autobuses se requiere encontrar la probabilidad de cuando la variables tenga valores entre cero y cuatro o en términos de probabilidad acumulada F(x=4). O cual es la probabilidad de mas de tres autobuces se requiere encontrar la probabilidad de cuando la variables tenga valores entre cuatro y dieciocho o en términos de probabilidad acumulada F(x=18)−F(x=4). Y por ultimo sacar el valor esperado la varianza y la desviación utilizando las formulas mencionadas en el ejercicio 1.
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.