#Ejectutar esto para incluir el uso de ggplot
if (!requireNamespace('ggplot2', quietly = TRUE)){
install.packages('ggplo2')
}
library(ggplot2)
En una fábrica de teléfonos, tres teléfonos son seleccionados aleatoriamente por trabajadores para evaluar su calidad. Cada teléfono es categorizado como “aceptable” o “defectuoso” según los resultados de su evaluación. Si la probabilidad de que un teléfono sea aceptable es del 0.75 y las evaluaciones son independientes:
El tipo de variable aleatoria en este problema es de tipo discreta, estos siendo teléfonos seleccionados aleatoriamente por trabajadores para categorizarlos como aceptable o defectuoso, siendo el caso favorable que el teléfono sea aceptable.
La distribución a usar en este problema es la distribución binomial ya que tenemos un número de ensayos fijos y nuestra variable será la cantidad de veces que sale un caso favorable.
La función de probabilidad de masa es la siguiente: \(f(x) = \binom{n}{x}p^x(1-p)^{n-x}\)
n = cantidad de ensayos x = cantidad de casos favorables
n = 3 # Numero de ensayos
p = 0.75 # Probabilidad de caso favorable
x = 0:n # Vector de ensayos
#Hacemos el vector de nuestras probabilidades dada la distribución binomial
prob = dbinom(x, n, p)
#Ponemos el vector de ensayos junto con la probabilidad de cada uno para graficarlo
binomial_data = data.frame(x, prob)
#Creamos el gráfico con los datos
ggplot(binomial_data, aes(x = x, y = prob)) +
geom_line(color = "blue") +
labs(
title = "Distribución Binomial",
x = "Número de casos favorables",
y = "Probabilidad"
)
En un estudio clínico, los voluntarios son examinados para encontrar un gen asociado a la aparición de cáncer. La probabilidad de que una persona tenga el gen es del 0.15. Si se asume que la evaluación de una persona es independiente de otra:
El tipo de variable aleatoria en este problema es una variable aleatoria discreta, esta siendo los voluntarios examinados para encontrar un gen, los casos favorables serían que la persona tenga el gen. La distribución para este problema debido a las preguntas a continuación corresponde a la distribución binomial negativas, en donde nos dan un número fijo de casos favorables y tenemos como variable la cantidad de ensayos
Tenemos que la probabilidad a encontrar será:
\(P(X \geq 6 ) = 1 - P(X<6)\)
Siendo que los casos favorables a encontrar son 3 entonces la probabilidad de ensayos 0 a 2 serán 0, por lo que nos queda:
\(P(X \geq 6 ) = 1 - (P(3)+P(4)+P(5))\)
#Para esto debemos encontrar la probabilidad acumulada de este caso
n = 3 # Numero de casos favorables
p = 0.15 # Probabilidad de caso favorable
#Esta distribucion empieza desde los valores que son revisables entonces P(0) hasta P(2) no se evalúan debido a que los numeros de casos favorables son mayores que los ensayos
prob = pnbinom(5-n,n,p)
cat("La probabilidad de que se encuentren 3 personas con el gen después de 6 o más evaluaciones es de:", 1 - prob, "\n")
## La probabilidad de que se encuentren 3 personas con el gen después de 6 o más evaluaciones es de: 0.9733881
Aquí simplemente debemos evaluar la media de la distribución.
\(E(X)= \frac{r}{p}\)
#Tenemos que r son los casos favorables a encontrar los cuales son 3 y su probabilidad es de 0.15
cat("La cantidad de ensayos esperados para encontrar 3 personas portadoras del gen es de", 3/0.15)
## La cantidad de ensayos esperados para encontrar 3 personas portadoras del gen es de 20
n = 3 # Numero de casos favorables
p = 0.15 # Probabilidad de caso favorable
x = seq(0,100) # Vector de ensayos a revisar
#Esta distribucion empieza desde los valores que son revisables entonces P(0) hasta P(2) no se evalúan debido a que los numeros de casos favorables son mayores que los ensayos
prob = dnbinom(x,n,p)
nbinomial_data = data.frame(x, prob)
#Creamos el gráfico con los datos
ggplot(nbinomial_data, aes(x = x+n, y = prob)) +
geom_line(color = "blue") +
labs(
title = "Distribución Binomial Negativa",
x = "Número de ensayos para encontrar 3 casos favorables",
y = "Probabilidad"
)
En una tienda en línea, el 30 % de los clientes realiza una compra después de ver un producto en oferta. Supongamos que observamos a 100 clientes que visitan la tienda en línea.
Tenemos una cantidad de ensayos fijos y vamos a encontrar la probabilidad de que se hallen una cantidad de casos favorables (Que compren un producto al ver una oferta) dentro de estos ensayos por lo que tenemos una distribución binomial
n = 100 # Numero de ensayos
p = 0.3 # Probabilidad de casos favorables
#Queremos encontrar exactamente el valor de 5 no recorrer valores en la distribución
x = 25
Resultado = dbinom(x, n, p)
cat("La probabilidad de que 25 personas de 100 compren después de que vean una oferta es de:",Resultado)
## La probabilidad de que 25 personas de 100 compren después de que vean una oferta es de: 0.04955992
\(P(X>40) = 1 - P(X \leq 40)\)
n = 100 # Numero de ensayos
p = 0.3 # Probabilidad de casos favorables
x = 41:n
#Esta forma se encuentra usando la fórmula propuesta arriba, viendo que pbinom evaluado en 40 es P(X <= 40)
resultado = 1 - pbinom(40, n, p)
resultado
## [1] 0.01249841
#Esta forma tambien llega al mismo resultado solo que aquí sumamos las probabilidades de 41 hasta 100 que son los ensayos totales
resultado2 = sum(dbinom(x, n, p))
resultado2
## [1] 0.01249841
Aquí usamos la media de la distribución binomial la cual es:
\(E(X) = np\) Donde n son los números de ensayos y p la probabilidad de un caso favorable
n = 100 # Numero de ensayos
p = 0.3 # Probabilidad de casos favorables
valor_esperado = n*p
cat("Si 100 personas ven un producto en oferta, se espera que", valor_esperado, "lo compren")
## Si 100 personas ven un producto en oferta, se espera que 30 lo compren
n = 100 # Numero de ensayos
p = 0.3 # Probabilidad de casos favorables
x = 0:n
#Hacemos el vector de nuestras probabilidades dada la distribución binomial
prob = dbinom(x, n, p)
#Ponemos el vector de ensayos junto con la probabilidad de cada uno para graficarlo
binomial_data = data.frame(x, prob)
#Creamos el gráfico con los datos
ggplot(binomial_data, aes(x = x, y = prob)) +
geom_line(color = "blue") +
labs(
title = "Distribución Binomial",
x = "Número de casos favorables",
y = "Probabilidad"
)
## Enunciado 4
Una empresa contrata a 600 hombres menores de 50 años. Supongamos que el 25 % tiene un marcador en el cromosoma masculino que indica un mayor riesgo de cáncer de próstata.
Esta es una variable aleatoria de tipo discreta, la que corresponde a la cantidad de hombres menores de 50 años los cuales tienen un marcador en un cromosoma. Además en las preguntas a continuación tomamos un subconjunto de estas personas para ver cuales tienen marcador o no. Por esto la distribución correspondiente para este problema es de tipo hipergeométrica en donde tenemos la función de probabilidad de masa siguiente:
\(f(x) = \frac{\binom{K}{x}\binom{N-K}{n-x}}{\binom{N}{n}}\)
Donde: N es el tamaño total del conjunto K es el número total de casos favorables en N n es el tamaño de la muestra tomada de N k es el número de casos favorables buscados en n
N = 600 #Conjunto total
p = 0.25 # Probabilidad de casos favorables
K = 600*p #Cantidad de casos favorables en 600 hombres
n = 15 # Tamaño de la muestra
resultado = dhyper(2, K, N-K, n)
cat("La probabilidad es de", resultado)
## La probabilidad es de 0.1550949
N = 600 #Conjunto total
p = 0.25 # Probabilidad de casos favorables
K = 600*p #Cantidad de casos favorables en 600 hombres
n = 15 # Tamaño de la muestra
resultado = sum(dhyper(3:15, K, N-K, n))
cat("La probabilidad es de", resultado, "\n")
## La probabilidad es de 0.7673308
#Otra forma mas directa de encontrar el resultado es evaluando la forma acumulada de P(X <= x) y dar el parametro lower.tail = FALSE para que entregue P(X > x)
resultado = phyper(2, K, N-K, n, lower.tail = FALSE)
resultado
## [1] 0.7673308
N = 600 #Conjunto total
p = 0.25 # Probabilidad de casos favorables
K = 600*p #Cantidad de casos favorables en 600 hombres
n = 15 # Tamaño de la muestra
x = 0:15
prob = dhyper(x, K, N-K, n)
hyper_data = data.frame(x, prob)
ggplot(hyper_data, aes(x = x,y = prob)) + geom_line(color = "blue") +
labs(title="Distribución hipergeométrica", subtitle = "Probabilidad de que x hombres tengan el marcador", x="Casos favorables totales dentro de n", y = "Probabilidad")
El número de llamadas telefónicas que llegan a una central telefónica se modela como una variable aleatoria de Poisson. Supongamos que en promedio hay 6 llamadas por hora.
La variable aleatoria en este problema es una variable aleatoria discreta, esta es las llamadas recibidas a una central telefónica. Ya que estamos recibiendo a través de tiempo un promedio de llamadas tenemos que esto forma parte de la distribución de Poisson.
Su función de probabilidad de masa es:
\(f(x)=\frac{e^{-\lambda T}(\lambda T)^x}{x!}\)
lambda = 6 # promedio de ocurrencia
resultado = dpois(3, lambda)
resultado
## [1] 0.08923508
Para que hayan 5 o menos llamadas tenemos \(P(X \leq 5)\)
lambda = 6 # promedio de ocurrencia se mantiene igual
resultado = ppois(5, lambda)
resultado
## [1] 0.4456796