Sea X una variable aleatoria distribuida binomialmente con n = 10 y p = 0:5: Determinar las probabilidades de que X se encuentre dentro de una desviacion estándar de la media y a dos desviaciones estandares de la media.
#Parámetros
n <- 10 #Número de Ensayos
p <- 0.5 #Probabilidad de Exito
#Calcular Média
mu <- n * p #media
#Desviación Estándar
sigma <- sqrt(n * p * (1 - p)) #Desviación Estandar
#Límites para 1 desviación
lim_iz_1des <- mu - sigma #lower
lim_der_1des <- mu + sigma #upper
#Límite para 2 desviaciones
lim_iz_2des <- mu - 2 * sigma
lim_der_2des <- mu + 2 * sigma
#Probabilidad dentro de 1 desviación
prob_1des <- pbinom(lim_der_1des, size = n, prob = p) - pbinom(lim_iz_1des - 1, size = n, prob = p)
#Probabilidad dentro de 2 desviaciones
prob_2des <- pbinom(lim_der_2des, size = n, prob = p) - pbinom(lim_iz_2des - 1, size = n, prob = p)
#Respuesta
cat("La probabilidad de que X esté dentro de una desviación estándar de la media es:", prob_1des)## La probabilidad de que X esté dentro de una desviación estándar de la media es: 0.7734375
## La probabilidad de que X esté dentro de dos desviaciones estándar de la media es: 0.9882812
El ejercicio realizado permite comprender cómo se distribuyen los resultados en una distribución binomial. Al calcular la media y la desviación estándar, así como las probabilidades asociadas a intervalos de una y dos desviaciones estándar alrededor de la media, se evidencia cómo los valores se concentran cerca de la media. Este análisis ayuda a visualizar la variabilidad y la distribución de probabilidades en una distribución binomial, proporcionando una perspectiva clara sobre cómo se agrupan los resultados.
## Warning: package 'ggplot2' was built under R version 4.3.3
#Dataframe con los valores posibles de X y sus probabilidades
x <- 0:n
probabilidades <- dbinom(x, size = n, prob = p)
df <- data.frame(x = x, prob = probabilidades)
#Gráfica
ggplot(df, aes(x = x, y = prob)) +
geom_bar(stat = "identity", fill = "#aed6f1", color = "#5dade2") +
geom_vline(aes(xintercept = mu, color = "Media (μ)"), linetype = "dashed", linewidth = 1) +
geom_vline(aes(xintercept = lim_iz_1des, color = "1σ desvío inferior"), linetype = "dashed", linewidth = 1) +
geom_vline(aes(xintercept = lim_der_1des, color = "1σ desvío superior"), linetype = "dashed", linewidth = 1) +
geom_vline(aes(xintercept = lim_iz_2des, color = "2σ desvío inferior"), linetype = "dashed", linewidth = 1) +
geom_vline(aes(xintercept = lim_der_2des, color = "2σ desvío superior"), linetype = "dashed", linewidth = 1) +
#Colores de las líneas
scale_color_manual(
name = "Leyendas",
values = c("Media (μ)" = "#f44336", # Línea de la media
"1σ desvío inferior" = "#fff176", # Línea de 1σ inferior
"1σ desvío superior" = "#fff176", # Línea de 1σ superior
"2σ desvío inferior" = "#d4e157", # Línea de 2σ inferior
"2σ desvío superior" = "#d4e157") # Línea de 2σ superior
) +
labs(title = "Distribución Binomial (n = 10, p = 0.5)",
x = "X",
y = "Probabilidad") +
scale_x_continuous(breaks = seq(0, n, 1)) +
theme_minimal() +
theme(
panel.background = element_rect(fill = "#fbfcfc"), # Color de fondo del gráfico
legend.background = element_rect(fill = "#fbfcfc"), # Fondo de la leyenda
legend.key = element_rect(fill = "#fbfcfc") # Fondo de las claves de leyenda
)Este gráfico muestra la distribución binomial para𝑛= 10 y 𝑝= 0.5. Las barras representan las probabilidades de cada valor de 𝑋. Las líneas verticales destacan:
La media (Rojo). Los límites de una desviación estándar (Amarillo). Los límites de dos desviaciones estándar (Verde).
Estos elementos ayudan a visualizar cómo se distribuyen las probabilidades en relación con la media y las desviaciones estándar.
Sea X una variable que se distribuye normal con \(μ = 1\) y \(σ^2 = 4\): Entonces, \(P(X2 > 4)\) es:
#Parámetros
mu <- 1 #Media
Varianza <- 4 # Sigma <- 4 (Varianza), pero al sacar la raiz, el valor es la desviación estandar
Sigma <- sqrt(Varianza) #Desviación estándar (raíz cuadrada de la varianza)
#Calculo Probabilidad 1: (P(X > 2))
p1 <- pnorm(q=2, mean=mu, sd=Sigma, lower.tail =FALSE)
cat("La probabilidad de (P(X > 2)) =", p1)## La probabilidad de (P(X > 2)) = 0.3085375
#Calculo la Probabilidad 2: (P(X < -2))
p2 <- pnorm(q=-2, mean = mu, sd = Sigma, lower.tail = TRUE)
cat("La probabilidad de (P(X < -2)) =", p2)## La probabilidad de (P(X < -2)) = 0.0668072
#Probabilidad Total P(X^2 > 4)
p_total <- p1+p2
#Resultado
cat("La probabilidad de P(X^2 > 4) =", p_total) ## La probabilidad de P(X^2 > 4) = 0.3753447
En este ejercicio, calculamos la probabilidad de que \(X^2\) sea mayor que 4 para una variable aleatoria \(X\) con una distribución normal de media 1 y desviación estándar 2.
Primero, determinamos la probabilidad de que \(X\) sea mayor que 2, que resultó ser \(p1\). Luego, calculamos la probabilidad de que \(X\) sea menor que -2, que resultó ser \(p2\).
Sumando ambas probabilidades, obtuvimos la probabilidad total de que \(X^2\) sea mayor que 4, que es \(p_total\).
Esto demuestra que la probabilidad de que el cuadrado de la variable sea mayor que 4 es la suma de las probabilidades de que \(X\) sea mayor que 2 o menor que -2.
library(ggplot2)
#Rango de valores para X
x <- seq(-6, 6, length.out = 100)
y <- dnorm(x, mean = mu, sd = Sigma)
# Crear un dataframe para ggplot
df <- data.frame(x = x, y = y)
# Crear el gráfico
ggplot(df, aes(x = x, y = y)) +
geom_line(color = "#5dade2", size = 1) + # Línea de la densidad en azul, más gruesa
geom_ribbon(data = subset(df, x < -2 | x > 2), aes(ymin = 0, ymax = y), fill = "#aed6f1", alpha = 0.5) + # Áreas donde X^2 > 4 en azul claro
geom_vline(xintercept = c(-2, 2), linetype = "dashed", color = "#f44336", size = 1) + # Límites de X = ±2 en rojo, más gruesos
labs(title = "Distribución Normal y Áreas donde X^2 > 4",
x = "X",
y = "Densidad") +
theme_minimal() +
theme(
panel.background = element_rect(fill = "#fbfcfc"), # Color de fondo del gráfico
plot.background = element_rect(fill = "#fbfcfc"), # Fondo de la gráfica
legend.background = element_rect(fill = "#fbfcfc"), # Fondo de la leyenda
legend.key = element_rect(fill = "#fbfcfc") # Fondo de las claves de leyenda
)## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
El gráfico muestra la distribución normal con una media de 1 y una desviación estándar de 2. La línea azul traza la curva de densidad de esta distribución.
Las áreas sombreadas en azul claro (\((-∞,-2] y [2, ∞)\)) representan los valores de \(X\) donde \(X^2 > 4\), es decir, fuera del intervalo \([-2, 2]\). Las líneas verticales rojas y punteadas indican estos límites críticos de \(-2\) y \(2\).
En resumen, la zona sombreada en azul claro nos da una visualización clara de dónde se encuentran los valores de \(X\) que cumplen con \(X^2 > 4\).
Supóngase que el número de llamadas que entran a una central telefónica es de 30 por hora. ¿Cuál es la probabilidad de que no se reciban llamadas en un período de 3 minutos?
## [1] 0.5
## [1] 1.5
#Parámetros
lambda <- tasa.3min
#Probabilidad de no recibir llamadas
p_nollamadas <- dpois(0,lambda)
#Resultado
cat("La probabilidad de que no se reciban llamadas en 3 minutos es:", p_nollamadas, "\n")## La probabilidad de que no se reciban llamadas en 3 minutos es: 0.2231302
En este ejercicio, queremos saber la probabilidad de que no se reciban llamadas en un período de 3 minutos, dado que entran 30 llamadas por hora.
Primero, calculamos la tasa de llamadas por minuto: 30 llamadas por hora dividido por 60 minutos, que da 0.5 llamadas por minuto. Luego, multiplicamos esta tasa por 3 minutos para obtener la tasa en ese período, que es 1.5 llamadas.
Usamos la distribución de Poisson para calcular la probabilidad de
que no se reciba ninguna llamada en esos 3 minutos, con una tasa de 1.5.
El resultado nos dice la probabilidad de que no haya llamadas en ese
tiempo, que es p_nollamadas.
library(ggplot2)
#Rango de valores para el tiempo en minutos (eje X)
tiempos <- 1:4 # Intervalos de tiempo específicos: 1, 2, 3 y 4 minutos
#Pprobabilidades de 0 llamadas para cada tiempo usando la distribución de Poisson
probabilidades <- dpois(0, lambda = tasa.minuto * tiempos)
#Data frame
data <- data.frame(
Tiempo = tiempos,
Probabilidad = probabilidades
)
#Gráfico
ggplot(data, aes(x = Tiempo, y = Probabilidad)) +
geom_line(color = "skyblue", size = 1) + # Línea en color skyblue
geom_point(color = "darkblue", size = 3) + # Puntos en color darkblue
geom_text(aes(label = round(Probabilidad, 3)), vjust = -1, color = "black") +
labs(
title = "Probabilidad de recibir 0 llamadas en función del tiempo",
x = "Tiempo (minutos)",
y = "Probabilidad de 0 llamadas"
) +
scale_x_continuous(breaks = tiempos) + # Asegura que los intervalos de tiempo sean 1, 2, 3, 4 minutos
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5, size = 16, face = "bold"),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10))El gráfico muestra la probabilidad de no recibir llamadas en intervalos de 1 a 4 minutos, calculada con la distribución de Poisson. El eje X representa el tiempo en minutos, y el eje Y la probabilidad de 0 llamadas. Los puntos en la línea indican estas probabilidades, con sus valores exactos mostrados sobre cada uno. Esto permite ver cómo la probabilidad de no recibir llamadas disminuye a medida que pasa el tiempo.
La probabilidad de que un satélite, después de colocarlo en órbita, funcione de manera adecuada es de 0.9. Supóngase que cinco de estos se colocan en órbita y operan de manera independiente:
¿Cuál es la probabilidad de que, por lo menos, el 80% funcione adecuadamente?
#Parámetros
p <- 0.9 #Probabilidad de Exito
n <- 5 #Número Satélites
q <- 0.80 #Exitos requeridos
#exitos
exitos <- n*q
exitos #La probabilidad de que al menos 4 de los 5 satélites funcionen adecuadamente.## [1] 4
#Calcular la probabilidad de que al menos 4 satélites funcionen adecuadamente
#P(X≥4)=1−P(X≤3)
prob_almenos_exitos <- pbinom(q=3,size = n, prob = p, lower.tail = FALSE)
#Resultado
cat("La probabilidad de que, por lo menos, el 80% funcione adecuadamente es de:", prob_almenos_exitos)## La probabilidad de que, por lo menos, el 80% funcione adecuadamente es de: 0.91854
En este ejercicio, calculamos la probabilidad de que al menos el 80% de cinco satélites funcionen adecuadamente, dado que cada uno tiene una probabilidad de 0.9 de funcionar bien.
Primero, determinamos que el 80% de cinco satélites corresponde a cuatro satélites. Calculamos la probabilidad de que al menos cuatro satélites funcionen correctamente restando la probabilidad de que tres o menos satélites funcionen de 1.
El resultado muestra que la probabilidad de que al menos el 80% de
los satélites funcionen adecuadamente es de
prob_almenos_exitos
library(ggplot2)
#Rango de valores (0 a 5)
x <- 0:n
#Probabilidades usando la distribución binomial
probabilidades <- dbinom(x, size = n, prob = p)
#Porcentajes
porcentajes <- (x / n) * 100
#Data frame
data <- data.frame(
NumeroDeExitos = x,
PorcentajeExitos = porcentajes,
Probabilidad = probabilidades
)
#Probabilidad Acumulada para al menos 4 éxitos
prob_almenos_exitos <- pbinom(q = 3, size = n, prob = p, lower.tail = FALSE)
#Graficó
ggplot(data, aes(x = PorcentajeExitos, y = Probabilidad)) +
geom_bar(stat = "identity", fill = "#aed6f1", color = "#5dade2") +
geom_point(color = "darkblue", size = 3) +
geom_text(aes(label = round(Probabilidad, 3)), vjust = -1, color = "darkblue") +
labs(
title = "Probabilidad de Funcionamiento de Satélites",
x = "Porcentaje de Satélites que Funcionan Correctamente",
y = "Probabilidad"
) +
scale_x_continuous(breaks = seq(0, 100, by = 20)) + # Eje X con incrementos de 20%
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5, size = 16, face = "bold"),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10)) +
geom_vline(xintercept = 80, linetype = "dashed", color = "red") + # Línea vertical en 80%
annotate("text", x = 80, y = max(data$Probabilidad) * 0.4, label = paste("80% \nProbabilidad:", round(prob_almenos_exitos, 3)), color = "black", size = 3) +
geom_ribbon(data = subset(data, NumeroDeExitos >= 4), aes(ymin = 0, ymax = Probabilidad), fill = "lightgreen", alpha = 0.3) #Rango resaltado para 4 y 5 éxitosEl gráfico muestra la probabilidad de que un cierto porcentaje de cinco satélites funcione correctamente.
Supóngase que un examen contiene 15 preguntas del tipo verdadero o falso. El examen se aprueba contestando correctamente al menos nueve preguntas. Si se lanza una moneda para decidir el valor de verdad de cada pregunta, ¿cuál es la probabilidad de aprobar el examen?
#Parámetros
n <- 15 #Número Preguntas
p <- 0.5 #Probabilidad de acertar la pregunta 50% verdad - 50% falso
#Calcula la probabilidad
proba_aprobar <- pbinom(8, size = n, prob = p, lower.tail = FALSE) #usamos sum suma las probabilidades de obtener entre 9 y 15 aciertos.
#Respuesta
cat("La probabilidad de aprobar el examen es de", proba_aprobar)## La probabilidad de aprobar el examen es de 0.3036194
Para aprobar el examen, que requiere al menos 9 respuestas correctas
de 15, y si cada pregunta se responde al azar con una probabilidad del
50%, la probabilidad de aprobar es la de obtener al menos 9 respuestas
correctas. En este caso, la probabilidad de aprobar el examen es de
aproximadamente proba_aprobar.
library(ggplot2)
x <- 0:n # todos los posibles resultados (0 a 15 respuestas correctas)
#Probabilidad para cada valor de x
probabilidades <- dbinom(x, n, p)
#Data frame
datos <- data.frame(x, probabilidades)
#Probabilidad de pasar (9 o más respuestas correctas)
probabilidad_pasar <- pbinom(8, n, p, lower.tail = FALSE)
#Grafico
ggplot(datos, aes(x = x, y = probabilidades)) +
geom_bar(stat = "identity", fill = "skyblue") +
geom_text(aes(label = round(probabilidades, 4)),
vjust = -0.3, size = 3) + # Añadir etiquetas de texto encima de las barras
geom_vline(xintercept = 8.5, linetype = "dashed", color = "red") + # Línea vertical para indicar el umbral de pasar
geom_text(aes(x = 9, y = 0.1, label = paste("Probabilidad de pasar: ", round(probabilidad_pasar, 4))),
hjust = 0, vjust = -1) + # Añadir texto para la probabilidad de pasar
labs(title = "Distribución Binomial para n = 15, p = 0.5",
x = "Número de respuestas correctas",
y = "Probabilidad") +
theme_minimal()## Warning in geom_text(aes(x = 9, y = 0.1, label = paste("Probabilidad de pasar: ", : All aesthetics have length 1, but the data has 16 rows.
## ℹ Please consider using `annotate()` or provide this layer with data containing
## a single row.
La gráfica muestra la distribución binomial para 15 preguntas con una probabilidad de 0.5 de acertar cada una. El eje X representa el número de respuestas correctas posibles (de 0 a 15), y el eje Y muestra la probabilidad de obtener cada número de respuestas correctas.
Una línea roja discontinua en 8.5 marca el umbral para pasar, indicando que se necesita al menos 9 respuestas correctas. Las barras a la derecha de esta línea representan las probabilidades de pasar, y el texto en la gráfica muestra la probabilidad acumulada de obtener 9 o más respuestas correctas. Esto ayuda a visualizar la probabilidad de pasar en este contexto
Supóngase que el diámetro externo de cierto tipo de cojinetes se encuentra, de manera aproximada, distribuido normalmente con media igual a 3.5 cm y desviación estándar igual a 0.02 cm. Si el diámetro de estos cojinetes no debe ser menor de 3.47 cm ni mayor de 3.53 cm, el porcentaje de cojinetes que deben desecharse durante el proceso de manufactura es:
#Parámetros
mu <- 3.5
sigma <- 0.02
#Calcular LA PROB. de que el diametro sea menos a 3.47cm
proba_menor_3.47 <- pnorm(3.47, mean = mu, sd = sigma)
#Calcular LA PROB. de que el diametro sea mayor a 3.53cm
proba_mayor_3.53 <- pnorm(3.53, mean = mu, sd = sigma, lower.tail = FALSE)
#Suma de probabilidades
proba_total <- proba_menor_3.47+proba_mayor_3.53
#Porcentaje desechos
desecho <- proba_total*100
#Respuesta
cat("El porcentaje de cojinetes que deben ser desechados es:", desecho, "%")## El porcentaje de cojinetes que deben ser desechados es: 13.36144 %
Este cálculo estima el porcentaje de cojinetes que deben ser desechados por no cumplir con las especificaciones de diámetro.
Diámetro menor a 3.47 cm: Se calculó la probabilidad de que un cojinete tenga un diámetro menor a 3.47 cm.
Diámetro mayor a 3.53 cm: Se calculó la probabilidad de que un cojinete tenga un diámetro mayor a 3.53 cm.
Sumando estas dos probabilidades y multiplicando por 100, obtenemos el porcentaje de cojinetes que deben ser desechados.
##
## 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
#Datos para la gráfica
x <- seq(mu - 4 * sigma, mu + 4 * sigma, length.out = 1000)
y <- dnorm(x, mean = mu, sd = sigma)
#Áreas para los cojinetes a desechar
area_menor_3.47 <- pnorm(3.47, mean = mu, sd = sigma)
area_mayor_3.53 <- pnorm(3.53, mean = mu, sd = sigma, lower.tail = FALSE)
#Data frame
data <- data.frame(x = x, y = y)
#Gráfico
ggplot(data, aes(x = x, y = y)) +
geom_line(color = "#5dade2") +
geom_ribbon(data = data %>% filter(x <= 3.47), aes(ymin = 0, ymax = y), fill = "#aed6f1", alpha = 0.5) +
geom_ribbon(data = data %>% filter(x >= 3.53), aes(ymin = 0, ymax = y), fill = "#aed6f1", alpha = 0.5) +
labs(title = "Distribución Normal del Diámetro de Cojinetes",
x = "Diámetro (cm)",
y = "Densidad",
caption = paste("Área azul claro representa los cojinetes desechados\n",
"Porcentaje de cojinetes desechados: ", round(desecho, 2), "%")) +
theme_minimal() +
scale_x_continuous(breaks = seq(mu - 4 * sigma, mu + 4 * sigma, by = 0.01)) +
scale_y_continuous(expand = expansion(mult = c(0, 0.1)))Este gráfico muestra la distribución normal del diámetro de los cojinetes. Se resalta en azul claro las áreas bajo la curva donde los diámetros son menores a 3.47 cm o mayores a 3.53 cm, que son los cojinetes que deben ser desechados. La línea azul representa la distribución normal, y el gráfico incluye etiquetas y un título para ayudar a interpretar los datos y el porcentaje total de desechos.
Una variable aleatoria \(X\) sigue una distribución uniforme si su función de densidad de probabilidad (fdp) está dada por:
\[ f(x) = \begin{cases} \frac{1}{b-a}, & \text{si } a < x < b \\ 0, & \text{en otro caso} \end{cases} \]
Dado que \(\mathbb{E}(X) = 10\) y \(\text{Var}(X) = 12\), los valores de \(a\) y \(b\) son:
#Parámetros
E_x <- 10
Var_x <- 12
#Info
#Media = a + b / 2
#Varianza = (b-a)^2 / 12
#Cálculo de a+b
a_y_b <- E_x*2
#Cálculo de B - A
b_menos_a <- sqrt(12* Var_x)
#Resolver para a y b
b <- (a_y_b + b_menos_a) / 2
a <- a_y_b - b
#Resultado
cat("El valor de a es:", a)## El valor de a es: 4
## El valor de b es: 16
En el ejercicio, se determina la distribución uniforme \(U(a, b)\) a partir de la media (10) y la varianza (12). Se calculan los parámetros \(a\) y \(b\) que definen la distribución, usando las fórmulas para la media y varianza de una distribución uniforme. El resultado proporciona los valores de \(a\) y \(b\), que definen el intervalo en el que la variable aleatoria es uniforme.
Sea X una variable aleatoria normal que representa la inteligencia medida por medio de pruebas de CI. Si X es N(100, 10), ¿cuál es la probabilidad de que X sea por lo menos 108?
#P(X≥108)=1−P(X<108)
#Parámetros
media <- 100
derivacion_estandar <- 10
q <- 108
#Calcular la Probabilidad
prob_108 <- pnorm(q,mean = media, sd = derivacion_estandar, lower.tail = FALSE)
#Resultado
cat("La probabilidad de que X sea por lo menos 108 es:", prob_108)## La probabilidad de que X sea por lo menos 108 es: 0.2118554
En este ejercicio, se calcula la probabilidad de que una variable aleatoria normal con media de 100 y desviación estándar de 10 sea menor o igual a 108. Usando la función pnorm, se obtiene esta probabilidad, que representa la proporción de valores que están por debajo o igual a 108 en esta distribución normal. El resultado se imprime como la probabilidad correspondiente.
Supóngase que la concentración de cierto contaminante se encuentra distribuida de manera uniforme en el intervalo de 4 a 20 ppm (partes por millón). Si se considera como tóxica una concentración de 15 ppm o más, la probabilidad de que al tomarse una muestra la concentración sea tóxica es:
#Parámetros
a <- 4
b <- 20
#El que queremos hayar
c <- 15 # 15 ppm o más
#Probabilidad
prob_15 <- punif(c,min = a, max = b, lower.tail = FALSE)
#Resultado
cat("La probabilidad de que la concentración de esta sea tóxica es:", prob_15) ## La probabilidad de que la concentración de esta sea tóxica es: 0.3125
Este ejercicio calcula la probabilidad de que una muestra de un contaminante, distribuido uniformemente entre 4 y 20 ppm, tenga una concentración tóxica (15 ppm o más). Utilizando la función de distribución acumulativa (CDF) en R, se determina que hay aproximadamente un 31.25% de probabilidad de que una muestra seleccionada al azar supere el umbral de toxicidad.
Los tiempos entre las llegadas de vehículos a un determinado parqueadero siguen una distribución de probabilidad exponencial cuya media es de 12 segundos. La probabilidad de que los tiempos de llegada entre vehículos sean de 30 segundos o más es:
#Parámetros
media <- 12
lambda <- 1/media #siempre es 1 / media
#El tiempo que vamos a hayar
t <- 29
#Calculo de probabilidad
prob_tiempo_30 <- pexp(t, rate = lambda, lower.tail= FALSE)
#resultado
cat("La probabilidad de que sean 30 segundos o más es", prob_tiempo_30)## La probabilidad de que sean 30 segundos o más es 0.08921852
Este ejercicio calcula la probabilidad de que el tiempo entre llegadas de vehículos a un parqueadero, que sigue una distribución exponencial con una media de 12 segundos, sea de 30 segundos o más. Se determinó que hay aproximadamente un 8.92% de probabilidad de que los vehículos lleguen con un intervalo de 30 segundos o más entre ellos.
library(ggplot2)
library(dplyr)
# Parámetros
media <- 12
lambda <- 1 / media # Tasa de la distribución exponencial
t <- 29 # Tiempo hasta el cual calculamos la probabilidad
# Crear datos para el gráfico
x <- seq(0, 60, length.out = 1000) # Intervalo de tiempo para el gráfico
y <- dexp(x, rate = lambda) # Función de densidad exponencial
# Calcular la probabilidad de que el tiempo sea 30 segundos o más
prob_tiempo_30 <- pexp(30, rate = lambda, lower.tail = FALSE)
# Crear el data frame para ggplot
data <- data.frame(x = x, y = y)
# Graficar
ggplot(data, aes(x = x, y = y)) +
geom_line(color = "#1f77b4") +
geom_ribbon(data = data %>% filter(x >= 30), aes(ymin = 0, ymax = y), fill = "#ff7f0e", alpha = 0.5) +
labs(title = "Distribución Exponencial de Tiempos entre Llegadas de Vehículos",
x = "Tiempo (segundos)",
y = "Densidad",
caption = paste("Área naranja representa los tiempos de 30 segundos o más\n",
"Probabilidad de que el tiempo sea 30 segundos o más: ", round(prob_tiempo_30, 4))) +
theme_minimal() +
scale_x_continuous(breaks = seq(0, 60, by = 5)) +
scale_y_continuous(expand = expansion(mult = c(0, 0.1)))Un vendedor de seguros sabe que la oportunidad de vender una póliza aumenta con el número de contactos realizados con clientes potenciales. Si la probabilidad de que una persona compre una póliza después de una visita es constante e igual a 0.25, y si las visitas son ensayos independientes, ¿cuántos compradores potenciales debe visitar el vendedor para que la probabilidad de vender al menos una póliza sea de 0.801?
#Parámetros
p <- 0.25 # Probabilidad de éxito por persona
probabilidad_deseada <- 0.801 # Probabilidad deseada de vender al menos una póliza
#Probabilidad de vender al menos una póliza
n_values <- 1:10 # Probar para n = 1 hasta n = 10
#Probabilidad de obtener al menos 1 éxito
#Usar la fórmula 1 - (1 - p)^n
probabilidad_al_menos_1 <- 1 - (1 - p)^n_values
#Verificar utilizando pbinom para cero éxitos
probabilidad_cero_exitos <- pbinom(0, size = n_values, prob = p, lower.tail = FALSE)
#Data frame con los resultados
resultados <- data.frame(
n = n_values,
probabilidad_manual = probabilidad_al_menos_1,
probabilidad_binom = probabilidad_cero_exitos
)
#Resultados
print(resultados)## n probabilidad_manual probabilidad_binom
## 1 1 0.2500000 0.2500000
## 2 2 0.4375000 0.4375000
## 3 3 0.5781250 0.5781250
## 4 4 0.6835938 0.6835937
## 5 5 0.7626953 0.7626953
## 6 6 0.8220215 0.8220215
## 7 7 0.8665161 0.8665161
## 8 8 0.8998871 0.8998871
## 9 9 0.9249153 0.9249153
## 10 10 0.9436865 0.9436865
#Encontrar el valor de n que cumple con la probabilidad deseada
n_minimo <- min(n_values[probabilidad_al_menos_1 >= probabilidad_deseada])
#Resultado
cat("El vendedor debe visitar al menos", n_minimo, "compradores potenciales para que la probabilidad de vender al menos una póliza sea de al menos 0.801.")## El vendedor debe visitar al menos 6 compradores potenciales para que la probabilidad de vender al menos una póliza sea de al menos 0.801.
En este ejercicio, se busca determinar el número mínimo de compradores potenciales que un vendedor debe visitar para tener al menos un 80.1% de probabilidad de vender al menos una póliza. Se calculan las probabilidades de vender al menos una póliza para diferentes números de visitas, y se encuentra el número mínimo de visitas necesario para alcanzar la probabilidad deseada.
library(ggplot2)
library(dplyr)
# Parámetros
p <- 0.25 # Probabilidad de éxito por persona
probabilidad_deseada <- 0.801 # Probabilidad deseada de vender al menos una póliza
# Valores para n
n_values <- 1:10 # Probar para n = 1 hasta n = 10
# Calcular la probabilidad de obtener al menos 1 éxito
probabilidad_al_menos_1 <- 1 - (1 - p)^n_values
# Crear un data frame con los resultados
resultados <- data.frame(
n = n_values,
probabilidad_al_menos_1 = probabilidad_al_menos_1
)
# Encontrar el valor de n que cumple con la probabilidad deseada
n_minimo <- min(n_values[probabilidad_al_menos_1 >= probabilidad_deseada])
# Graficar
ggplot(resultados, aes(x = n, y = probabilidad_al_menos_1)) +
geom_line(color = "#1f77b4") +
geom_point() +
geom_hline(yintercept = probabilidad_deseada, linetype = "dashed", color = "#ff7f0e") +
labs(title = "Probabilidad de Vender al Menos una Póliza en Función del Número de Visitas",
x = "Número de Compradores Potenciales Visitados",
y = "Probabilidad de Vender al Menos una Póliza",
caption = paste("Línea naranja punteada representa la probabilidad deseada de 0.801.\n",
"Número mínimo de visitas necesario: ", n_minimo)) +
theme_minimal() +
scale_x_continuous(breaks = n_values) +
scale_y_continuous(labels = scales::percent)Para un volumen dado, el número de células sanguíneas rojas es una variable aleatoria que sigue una distribución de frecuencia constante. Si el número promedio de células para un volumen dado es de nueve células en personas normales, determine la probabilidad de que el número de células rojas para una persona se encuentre dentro de una desviación estándar del valor promedio y dentro de dos desviaciones estándar del promedio.
#Parámetro
lambda <- 9
#1 DESVIACIÓN ESTANDAR
Inferior_1des <- lambda - sqrt(lambda)
Superior_2des <- lambda + (2*sqrt(lambda))
#Probabilidad
prob_2_min <- ppois(Inferior_1des, lambda, lower.tail = FALSE)
prob_1_max <- ppois(Superior_2des, lambda, lower.tail = TRUE)
probabilidad_12 <- prob_1_max - prob_2_min
#Resultado
cat("Probabilidad de que el número de células rojas esté entre", Inferior_1des, "y", Superior_2des, "es:", probabilidad_12)## Probabilidad de que el número de células rojas esté entre 6 y 15 es: 0.1847452
El ejercicio calcula la probabilidad de que el número de células rojas en un volumen esté entre un rango de desviaciones estándar de la media usando la distribución de Poisson. Se determina la probabilidad acumulada entre estos límites para obtener el resultado.
Un escritor de libros comete, en promedio, dos errores de procesamiento de texto por página en el primer borrador de su libro. La probabilidad de que en la siguiente página cometa 4 o más errores es:
#Parámetro
lambda <- 2
#Calculo (P(X >= 4))
prob_4_o_mas <- ppois(3, lambda, lower.tail = FALSE)
# Resultado
cat("La probabilidad de que haya 4 o más errores en la siguiente página es:", prob_4_o_mas)## La probabilidad de que haya 4 o más errores en la siguiente página es: 0.1428765
Para obtener la probabilidad de que el escritor cometa 4 o más errores en una página, dado que el promedio es de 2 errores por página, se usa la distribución de Poisson. Aquí está el cálculo y el resultado: La probabilidad de cometer 4 o más errores en una página es aproximadamente \(0.2381\) o \(23.81\%\).
Una máquina expendedora de bebidas gaseosas está ajustada para servir un promedio de 200 mililitros por vaso. La cantidad de bebida se distribuye normalmente con una desviación estándar de 15 mililitros. ¿Cuántos vasos probablemente se derramarán si se utilizan vasos de 230 mililitros para las siguientes 1000 bebidas?
#Parámetros
mu <- 200 # promedio de 200 mililitros
sigma <- 15 # desviaciÛn est·ndar igual a 15
capacidad_vaso <- 230 # vasos de 230 mililitros
num_bebidas <- 1000 # 1000 bebidas
# Calculo de 230 ml
prob_derrame <- pnorm(capacidad_vaso, mean = mu, sd = sigma, lower.tail = FALSE)
# Calcular el número esperado de vasos que se derramarán
vasos_derramados <- prob_derrame * num_bebidas
# Resultado
cat("El número esperado de vasos que se derramarán es:", vasos_derramados)## El número esperado de vasos que se derramarán es: 22.75013
En este ejercicio, se calcula la probabilidad de que una bebida derrame más de 230 mililitros, dado que el promedio de llenado es de 200 mililitros con una desviación estándar de 15 mililitros. Usando la distribución normal, la probabilidad de que una bebida derrame más de 230 mililitros es aproximadamente 22.79 %). Con 1000 bebidas.
Lotes con 40 componentes cada uno que contengan 3 o más defectuosos se consideran inaceptables. El procedimiento para obtener muestras del lote consiste en seleccionar 5 componentes al azar y rechazar el lote si se encuentra un componente defectuoso. La probabilidad de que en la muestra se encuentre exactamente un componente defectuoso, si en todo el lote hay 3 defectuosos, es:
# Parámetros
N <- 40 # Tamaño del lote
K <- 3 # Número de componentes defectuosos en el lote
n <- 5 # Tamaño de la muestra
k <- 1 # Número de defectuosos en la muestra
# Calcular la probabilidad usando la función dhyper
prob_exactamente_1_defectuoso <- dhyper(k, K, N-K, n)
# Resultado
cat("La probabilidad de encontrar exactamente un componente defectuoso en la muestra es:", prob_exactamente_1_defectuoso)## La probabilidad de encontrar exactamente un componente defectuoso en la muestra es: 0.3011134
Tenemos que si en un lote con 40 componentes se toma una muestra de 5 componentes y si en esta muestra se encuentra un solo componente defectuoso se rechaza el lote, encontramos que la probabilidad de encontrar un componente en esta muestra de 5 componentes es 30.1%
Los jurados para una corte federal de distrito se seleccionan de manera aleatoria a partir de la lista de votantes del distrito. En un mes determinado, se selecciona una lista de 25 candidatos, que contiene 20 hombres y 5 mujeres.
#Parámetros
total_personas <- 25 # Número de personas seleccionadas
total_hombres <- 20 # Número de hombres seleccionados
prob_hombre <- 0.5 # Probabilidad de seleccionar un hombre (50% de hombres y un 50% de mujeres en la población total de votantes.)
#Cálculo la probabilidad, distribución binomial
probabilidad_20_hombres <- dbinom(total_hombres, total_personas, prob_hombre)
#Resultado
cat("La probabilidad de seleccionar una lista con exactamente 20 hombres y 5 mujeres es:", probabilidad_20_hombres)## La probabilidad de seleccionar una lista con exactamente 20 hombres y 5 mujeres es: 0.001583397
#b) Supongase que de esta lista se elige un jurado de doce personas, de las cuales solo una es mujer. øCuaI es
#Parámetros
total_personas <- 25 # Tamaño de la población (25 personas en total)
total_mujeres <- 5 # Número de mujeres en la población
total_hombres <- total_personas - total_mujeres # Número de hombres en la población
tamaño_muestra <- 12 # Tamaño del jurado (12 personas)
mujeres_muestra <- 1 # Número de mujeres en la muestra (jurado)
#Calcular la probabilidad usando la distribución hipergeométrica
probabilidad_1_mujer <- dhyper(mujeres_muestra, total_mujeres, total_hombres, tamaño_muestra)
# Resultado
cat("La probabilidad de que en un jurado de 12 personas haya exactamente 1 mujer es:", probabilidad_1_mujer)## La probabilidad de que en un jurado de 12 personas haya exactamente 1 mujer es: 0.1614907
si la lista de votantes hombres y mujeres están exactamente por la mitad, la probabilidad de encontrar una lista donde hayan 20 hombres y 5 mujeres es del 0.015%. Por otro lado encontramos que si se elige una lista de jurados de 12 personas, encontramos que la probabilidad que de estas 12 personas por lo menos una sola sea mujer es del 16,4 %
El peso del cereal en una caja se aproxima a una distribución normal con una media de 600 gramos. El proceso de llenado está diseñado de manera que, de entre 100 cajas, el peso de una se encuentre fuera del intervalo de 590 a 610 gramos. ¿Cuál es el valor máximo de la desviación estándar permitido para cumplir con este requerimiento?
#Parámetros
media <- 600 #media de 600 gramos
lim_inferior <- 590 #intervalo 590-610 gramos
lim_superior <- 610 #intervalo 590-610 gramos
al_1_de_100_cajas <- 1/100 # Probabilidad total de estar fuera del intervalo (1%)
# Calcular la probabilidad en cada extremo
probabilidad_en_cada_extremo <- al_1_de_100_cajas / 2 # 0.005 en cada extremo
# Encontrar los valores críticos para las probabilidades acumuladas
valor_critico_extremo_inferior <- qnorm(probabilidad_en_cada_extremo) # Valor crítico para el límite inferior
valor_critico_extremo_superior <- qnorm(1 - probabilidad_en_cada_extremo) # Valor crítico para el límite superior
# Calcular la desviación estándar máxima usando el valor crítico para el límite superior
desviacion_estandar_maxima <- (lim_superior - media) / valor_critico_extremo_superior
# Resultado
cat("El valor máximo de la desviación estándar que permite que una de cada 100 cajas esté fuera del intervalo 590-610 gramos es:", desviacion_estandar_maxima)## El valor máximo de la desviación estándar que permite que una de cada 100 cajas esté fuera del intervalo 590-610 gramos es: 3.882245
Supóngase que la concentración de un contaminante se distribuye de manera uniforme en el intervalo de 4 a 20 ppm (partes por millón). Si se considera tóxica una concentración de 15 ppm o más, ¿cuál es la probabilidad de que una muestra tomada tenga una concentración tóxica?
#Parámetros
a <- 4
b <- 20
#El que queremos hayar
c <- 14 # 15 ppm o más
#Probabilidad
prob_15 <- punif(c,min = a, max = b, lower.tail = FALSE)
#Resultado
cat("La probabilidad de que la concentración de esta sea tóxica es:", prob_15)## La probabilidad de que la concentración de esta sea tóxica es: 0.375
El tiempo necesario para armar cierta unidad sigue una distribución normal con una media de 30 minutos y una desviación estándar de 2 minutos. Se desea determinar el tiempo de armado tal que la probabilidad de exceder este tiempo sea del 2% (0.02).
#Parámetros
media <- 30 #media de 30 minutos
derivacion_estandar <- 2 #igual ados minutes
exceder <- 1-0.02 #exceder este sea de 0.02, La probabilidad acumulada hasta el valor deseado debe ser del 98% para que el 2% de los tiempos excedan ese valor.
#Calculo
proba_Exceder <- qnorm(exceder,mean = media, sd = derivacion_estandar, lower.tail = TRUE)
#Resultado
cat("La probabilidad de exceder este sea de 0.02, es:", proba_Exceder)## La probabilidad de exceder este sea de 0.02, es: 34.1075
Es frecuente que las semillas sean tratadas con fungicidas para protegerlas en ambientes húmedos y con desecación defectuosa. Se realizó un experimento a pequeña escala que comprendió cinco semillas tratadas y cinco no tratadas, antes de un estudio a gran escala para determinar la cantidad de fungicida a aplicar. Las semillas se plantaron en un suelo húmedo y se contó el número de plantas que brotaron. Si la solución no era efectiva y brotaron cuatro plantas, ¿cuál es la probabilidad de que:
#Parámetros
semillas_tratadas <- 5
semillas_no_tratadas <- 5
total_semillas <- semillas_tratadas + semillas_no_tratadas
total_plantas_brotadas <- 4
#a) las cuatro plantas brotaran de semillas tratadas?
#parámetro
plantas_brotadas_tratadas <- 4
# Calcular la probabilidad usando la distribución hipergeométrica
prob_4_tratadas <- dhyper(plantas_brotadas_tratadas, semillas_tratadas, semillas_no_tratadas, total_plantas_brotadas)
# Resultado
cat("La probabilidad de que las 4 plantas brotaran de semillas tratadas es:", prob_4_tratadas)## La probabilidad de que las 4 plantas brotaran de semillas tratadas es: 0.02380952
#b) tres o menos brotaran de semillas tratadas?
x <- 0:3
prob_3_o_menos <- sum(dhyper(x, semillas_tratadas, semillas_no_tratadas, total_plantas_brotadas))
#Resultado
cat("La probabilidad de que 3 o menos plantas brotaran de semillas tratadas es:", prob_3_o_menos)## La probabilidad de que 3 o menos plantas brotaran de semillas tratadas es: 0.9761905
#c) al menos una brotara de semillas no tratadas?
# Calcular la probabilidad de que todas las plantas brotadas provengan de semillas tratadas
prob_todas_tratadas <- dhyper(total_plantas_brotadas, semillas_tratadas, semillas_no_tratadas, total_plantas_brotadas)
# Calcular la probabilidad de que al menos una planta brote de semillas no tratadas
prob_al_menos_una_no_tratada <- 1 - prob_todas_tratadas
# Resultado
cat("La probabilidad de que al menos una planta brote de semillas no tratadas es:", prob_al_menos_una_no_tratada)## La probabilidad de que al menos una planta brote de semillas no tratadas es: 0.9761905
El número de errores mecanográficos cometidos por una secretaria sigue una distribución de Poisson con un promedio de cuatro errores por página. Si una página tiene más de cuatro errores, la secretaria debe volver a escribirla. ¿Cuál es la probabilidad de que una página seleccionada al azar no necesite ser reescrita?
#Parámetros
lambda <- 4 # Promedio de errores por página
#Calcular la probabilidad de que el número de errores sea 4 o menos
prob_no_volver_a_escribir <- ppois(4, lambda, lower.tail = TRUE)
# Resultado
cat("La probabilidad de que una página seleccionada al azar no tenga que volver a ser escrita es:", prob_no_volver_a_escribir)## La probabilidad de que una página seleccionada al azar no tenga que volver a ser escrita es: 0.6288369
Se observó que la cantidad semanal de dinero gastado por una compañía en mantenimiento y reparaciones sigue una distribución normal aproximada con una media de $400 y una desviación estándar de $20. Si se han presupuestado $450 para la próxima semana, ¿cuál es la probabilidad de que los costos reales superen la cantidad presupuestada?
# Parámetros
media <- 400 # Media de los costos
desviacion_estandar <- 20 # Desviación estándar de los costos
presupuesto <- 450 # Cantidad presupuestada
# Calcular la probabilidad de que los costos reales rebasen la cantidad presupuestada
prob_rebasar_presupuesto <- pnorm(presupuesto, mean = media, sd = desviacion_estandar, lower.tail = FALSE)
# Resultado
cat("La probabilidad de que los costos reales rebasen la cantidad presupuestada de $450 es:", prob_rebasar_presupuesto)## La probabilidad de que los costos reales rebasen la cantidad presupuestada de $450 es: 0.006209665