El concurso “El precio es correcto” es transmitido por cable. En cierta ciudad del país el 30% de su población le encanta ver este concurso. Como una interacción con el público, el concurso realiza llamadas a los televidentes, por tanto, se disponen a llamar por teléfono a 10 personas de la ciudad.
Se emplearia un modelo de distribucion binomial
\[ \left\{ \begin{array}{ll} n: & Numero-llamadas-realizadas = 10\\ p: & Probabilidad-éxito-llamada = 0.30 \end{array} \right. \] Este estudio se enfoca en determinar qué tan aceptable es un concurso de televisión “El precio es correcto” en el cual se sabe que el 30% de su población ve dicho programa y se procede a escoger una población de 10 habitantes a los cuales se les realizan llamadas para saber la opinión y su aceptabilidad frente al programa. Se busca demostrar la cantidad y probabilidad de personas viendo el programa.Esto se logra mediante el modelo binomial el cual se ajusta para conocer el número de personas que están viendo el curso entre las 10 seleccionadas para la interacción.
El modelo que mejor se ajusta es el binomial ya que lo que se quiere saber es el número de personas que están viendo el concurso entre las 10 personas que han sido llamadas Sea X∼Bin(n=10,p=0.3)
n=10
p=0.3
plot(0:10,dbinom(0:10,n,p),type="h",lty=3,lwd=3, pch=2,xlab="x",ylab="P(X=x)",main="Funcion de Probabilidad Bin(10,0.3)",col="magenta",ylim=c(0,0.25))
plot(stepfun(0:10,pbinom(0:11,n,p)),xlab="x",ylab="P(X=x)",main="Funcion de distribucion Bin(10,0.3)",col="red",ylim=c(0,1))
La gráfica de función de probabilidad ilustra la relación donde a cada probabilidad se le asignan una variable que en este caso es el número de personas que fueron llamada donde se puede evidenciar que a medida que se realizaba la encuesta la probabilidad aumenta teniendo la tercera persona un 25% de estar viendo el programa y después disminuye hasta obtener un valor igual a cero , la función distribución es la asociación de cada persona con la probabilidad acumulada(personas viendo el programa) , en este caso la probabilidad más baja la tiene la primera persona llamada y permanece constante en la quinta persona teniendo una probabilidad muy cercana al 100%.
prob_mayor_ocho <- 1 - pbinom(8, size = n, prob = p) # Calcular la probabilidad complementaria
cat("Probabilidad de que más de ocho personas estén viendo el concurso:", prob_mayor_ocho, "\n")
## Probabilidad de que más de ocho personas estén viendo el concurso: 0.0001436859
En este caso se selecciona al azar 8 o más personas de las 10 seleccionadas previamente para la llamada, lo cual se debe verificar que al momento de ser llamadas estén viendo el programa y así garantizar la probabilidad de éxito que en este caso es muy bajo con un valor de 0.0001436859 lo que en porcentaje representa el 0,014% lo cual nos indica que entre más personas sean seleccionadas menor va a ser la probabilidad de éxito .
prob_al_menos_uno <- 1 - pbinom(0, size = n, prob = p) # Calcular la probabilidad complementaria
cat("Probabilidad de que al menos una persona esté viendo el concurso:", prob_al_menos_uno, "\n")
## Probabilidad de que al menos una persona esté viendo el concurso: 0.9717525
En este caso se selecciona al azar 1 persona que al momento de ser llamada esté viendo el programa lo cual tiene una probabilidad de éxito del 0,9717525 lo cual sería igual al 97,17525% qué significa una buena elección a la hora de realizar este tipo de elecciones.
# Definir los parámetros de la distribución binomial
n=10
p=0.3
# Calcular la esperanza y la desviación típica
esperanza <- n * p # Esperanza o valor esperado
desviacion <- sqrt(n * p * (1 - p)) # Desviación típica
# Imprimir los resultados
cat("Esperanza (valor esperado):", esperanza, "\n")
## Esperanza (valor esperado): 3
cat("Desviación típica:", desviacion, "\n")
## Desviación típica: 1.449138
Desviación típica :Esto indica que la dispersión alrededor de la media(3 personas) de las 10 llamadas(muestra) es de aproximadamente 1.45 personas, lo cual nos informa la cantidad de personas que verán el concurso entre las 10 personas llamadas.
Una compañía aérea observa que el número de componentes que fallan antes de cumplir 100 horas de funcionamiento sigue un modelo poisson. Se conoce que el número promedio de fallos es de ocho antes de cumplir las 100 horas.
Sea X∼Pois(8)
Lambda=8 # Número promedio de fallos antes de cumplir 100 horas
X: es el número de fallos ocurridos en un intervalo de tiempo x :número de fallos a los cuales se les quiere calcular la probabilidad λ:promedio de ocurrencia de fallos en el intervalo de tiempo (parámetro de distribución ).
plot(0:20,dpois(0:20,Lambda),type="h", lty = 3, lwd = 3, pch = 2, xlab="x",ylab="P(X=x)", main="Función de Probabilidad Pois(8)", col="blue", ylim = c(0,0.15))
La gráfica de función de probabilidad poiss(8) ilustra la relación e le asignan una variable que en este caso es el número de componentes que fallan en el término de 100 horas, donde a medida que transcurren las horas el número de fallos van aumentando progresivamente, en el cual se puede observar que entre 7-8 fallos la probabilidad es la más alta a comparación de los otros fallos y después de estos valores vuelve a bajar hasta llegar a un punto mínimo.
plot(stepfun(0:20,ppois(0:21,Lambda)), xlab="x",ylab="P(X=x)",main="Función de Distribución Pois(8)", col="cyan", ylim = c(0,1))
# Definir el parámetro lambda
lambda <- 8
# Calcular la probabilidad de que falle un componente en 25 horas
prob_25_horas <- dpois(1, lambda * (25 / 100))
cat("Probabilidad de que falle un componente en 25 horas:", prob_25_horas, "\n")
## Probabilidad de que falle un componente en 25 horas: 0.2706706
En este caso se debe reemplazar los valores en la fórmula de distribución de poisson , en la cual la probabilidad de que falle un componente transcurridas las primeras 25 horas esde 0.2706706 (27,1%) , lo cual nos indica que la probabilidad en relación a las horas transcurridas es directamente proporcional
# Definir el parámetro lambda
lambda <- 8
# Calcular la probabilidad de que fallen menos de dos componentes en 50 horas
prob_menos_dos_50_horas <- ppois(1, lambda * (50 / 100))
cat("Probabilidad de que fallen menos de dos componentes en 50 horas:", prob_menos_dos_50_horas, "\n")
## Probabilidad de que fallen menos de dos componentes en 50 horas: 0.09157819
En este caso la probabilidad de que fallen menos de dos componentes después de transcurrir 50 horas es de 0.09157819(9,16%) lo cual la relación es menor a medida que pasa el tiempo (inversamente proporcional).
La concentración de un contaminante se distribuye uniformemente en el intervalo de 0 a 20 millones. Una concentración se considera tóxica a partir de 8 millones.
\[ \left\{ \begin{array}{ll} a= 0 :Límite-inferior-intervalo\\ b= 20 :Límite-superior-intervalo \end{array} \right. \] a= Este parámetro indica el valor inferior o mínimo (0) presente en el intervalo de concentración del contaminante b= Este parámetro indica el valor superior (20) presente en el intervalo de concentración del contaminante
min = 0
max = 20
curve(dunif(x, min, max), lwd=3, las=1, ylab='f(x)', from=0, to=3,
main="Función de Densidad unif(a=0, b=20)")
curve(punif(x, min, max), lwd=3, las=1, ylab='F(x)', from=0, to=3,
main="Función de distribución unif(a=0, b=20)")
En la gráfica de densidad muestra claramente que la concentración del contaminante se mantiene uniformemente o constante para todos los valores de la variable de estudio (0 a 20 millones). En la gráfica de distribución muestra una línea recta en la cual la concentración es proporcional a la variables de estudio que en este caso es de 0-20 millones.
min = 0
max = 20
# Probabilidad de que al tomar una muestra la concentración resulte tóxica
prob_toxica <- 1 - punif(8, min = min, max = max)
cat("Probabilidad de que la concentración sea tóxica:", prob_toxica, "\n")
## Probabilidad de que la concentración sea tóxica: 0.6
Para realizar esta probabilidad se utilizó los conceptos del modelo uniforme , la cual nos pedía tomar una muestra la cual su concentración sea tóxica, tenemos que tener en cuenta la información del enunciado la cual nos dice que a partir de los 8 millones una concentración es considerada tóxica,sin olvidar los intervalos en el cual la distribución es uniforme, se observa que la concentración tóxica está dentro del rango lo cual significa que tiene una probabilidad de 0.6 (60%) de suceder, lo cual resulta preocupante al tomar la muestra que sea concentración tóxica.
# Concentración media y varianza
media <- (min + max) / 2
varianza <- ((max - min)^2) / 12
cat("Concentración media:", media, "\n")
## Concentración media: 10
cat("Varianza:", varianza, "\n")
## Varianza: 33.33333
En este caso la concentración media nos está indicando el valor a nivelar de la concentración del contaminante el cual está en el intervalo de trabajo (0-20 millones ). En este caso, la concentración media es de 10 millones, lo cual significa que al distribuir la concentración del contaminante está alrededor de este valor.La varianza nos informa aproximadamente 33.33 millones de concentraciones se apartó , lo que nos indica que hay una dispersión relativamente alta en las concentraciones dentro del intervalo estudiado
# Probabilidad de que la concentración sea de 10 millones
prob_10_millones <- punif(10, min = min, max = max)
cat("Probabilidad de que la concentración sea de 10 millones:", prob_10_millones, "\n")
## Probabilidad de que la concentración sea de 10 millones: 0.5
En este caso la probabilidad de que la concentración sea de 10 millones es 0,5(50%) por lo tanto nos indica que al ser 10 millones la concentración intermedia en el intervalo de 0-20 su concentración será igual al promedio de este intervalo.
Una empresa cuenta con un espacio para la recepción de solicitudes, se ha observado que el número promedio de la recepción de estas solicitudes por parte de los empleados es de tres al día.
lambda <- 3
En esta situación se utiliza el modelo de poisson debido a que este modelo es muy útil en los casos que ocurren 0, 1, 2, 3,etc. A veces durante un periodo definido de tiempo en los cuales se quiere conocer el tiempo transcurrido hasta acontece un determinado evento el cual en esta ocasión se desea conocer el promedio de la recepciones de solicitudes por parte de los empleados que al realizar su análisis encontraron que se reciben por lo menos 3 solicitudes por día.
prob_mayor_a_cinco_dias <- ppois(5, lambda, lower.tail = FALSE)
cat("Probabilidad de que el tiempo antes de recibir una solicitud sea mayor a cinco días:", prob_mayor_a_cinco_dias, "\n")
## Probabilidad de que el tiempo antes de recibir una solicitud sea mayor a cinco días: 0.08391794
La probabilidad de que el tiempo antes de recibir una solicitud sea mayor a 5 días es relativamente alta con una aproximación de 0.0839179 (89,392%), lo que indica que tiene una gran probabilidad de que pasen más de 5 días antes de que la empresa reciba una solicitud por medio de sus empleados.
prob_menor_de_diez_dias <- ppois(10, lambda)
cat("Probabilidad de que el tiempo antes de recibir una solicitud sea menor de diez días:", prob_menor_de_diez_dias, "\n")
## Probabilidad de que el tiempo antes de recibir una solicitud sea menor de diez días: 0.9997077
La probabilidad de que el tiempo antes de recibir una solicitud sea menor a 10 días es alta con una aproximación de 0.9997077 (99,97%), lo que indica hay una probabilidad muy alta y cercana al 100% de que suceda este evento de recibir una solicitud antes de los diez días.
x <- 0:20
plot(x, dpois(x, lambda), type = "h", lwd = 3, col = "magenta", xlab = "Número de solicitudes", ylab = "Probabilidad", main = "Función de distribución y densidad de Poisson")
lines(x, ppois(x, lambda), type = "s", lwd = 3, col = "cyan")
legend("topright", legend = c("Función de densidad", "Función de distribución"), col = c("cyan", "magenta"), lty = 1, lwd = 3)
En este gráfico se muestra la combinación de la función de distribución la cual convierte una variable aleatoria continua, en una variable aleatoria discreta y gracias a esta forma de pensar en la Poisson nos ayuda a entender por qué se puede utilizar esta función para estimar la probabilidad de la variable aleatoria discreta de la distribución binomial y la función de densidad de poisson nos permite obtener la probabilidad de que un evento ocurra x veces dentro de un determinado periodo de tiempo,este evento se produce λ veces dentro de ese intervalo.
Un técnico realiza un test de cien ítems a unos doscientos opositores. Suponiendo que las puntuaciones X obtenidas por los opositores siguen una distribución normal de media 60 puntos y desviación típica 10 puntos.
\[ \left\{ \begin{array}{ll} mean: & media = 60 \\ sd: & desviacion-tipica = 10 \end{array} \right. \]
# Definir los parámetros
media <- 60
desviacion <- 10
Para resolver esta situación se utilizó el modelo de distribución normal el cual se aproxima muy bien a muchas situaciones reales, en este modelo se toma al azar un número suficientemente grande de casos(x),ya conociendo la media, la desviación estándar, y la varianza de un conjunto de datos , estos valores se sustituyen en la función para conocer la probabilidad de encontrar un valor de la variable.
# P(X ≥ 70)
prob_1 <- 1 - pnorm(70, media, desviacion)
cat("P(X ≥ 70) =", prob_1, "\n")
## P(X ≥ 70) = 0.1586553
Esta probabilidad representa la correlación entre los opositores que logran llegar una puntuación mayor o igual de 70 puntos en el test realizado ,contextualizando se obtienen una probabilidad de aproximadamente 0.158( 15.87%) , este resultado es muy útil para conocer el números de opositores que están por encima de cierta puntuación.
# P(X ≤ 80)
prob_2 <- pnorm(80, media, desviacion)
cat("P(X ≤ 80) =", prob_2, "\n")
## P(X ≤ 80) = 0.9772499
Esta probabilidad representa la correlación entre los opositores que logran llegar una puntuación mayor o igual de 80 puntos en el test realizado ,contextualizando se obtienen una probabilidad de aproximadamente 0.997( 99,7%) , este resultado nos informa que hay mayor probabilidad de encontrar opositores que están por encima de cierta puntuación.
# P(X ≤ 30)
prob_3 <- pnorm(30, media, desviacion)
cat("P(X ≤ 30) =", prob_3, "\n")
## P(X ≤ 30) = 0.001349898
En este caso se desea encontrar las personas que logren llegar una puntuación mayor o igual de 30 puntos al realizar el análisis se evidencia que estas personas tienen menor probabilidad con un valor de 0.00135(0,13%) , en este caso hay menos opositores en este rango.
# P(X ≥ 46)
prob_4 <- 1 - pnorm(46, media, desviacion)
cat("P(X ≥ 46) =", prob_4, "\n")
## P(X ≥ 46) = 0.9192433
La probabilidad de encontrar personas con puntuación menor o igual a 46 es de 0.919(91,9%) lo cual nos indica que de las personas encuestadas existe una alta probabilidad que cuenten con una puntuación menor o igual a 46.
# P(39 ≤ X ≤ 80)
prob_5 <- pnorm(80, media, desviacion) - pnorm(39, media, desviacion)
cat("P(39 ≤ X ≤ 80) =", prob_5, "\n")
## P(39 ≤ X ≤ 80) = 0.9593854
Existe una eventualidad del 0,959(95,9%) de poder localizar una persona la cual tenga una puntuación entre 39 y 80 puntos en el test que presentaron.Esta información puede ser útil para comprender la distribución de puntuaciones dentro del intervalo 39-80 puntos.
# P(80 ≤ X ≤ 82.5)
prob_6 <- pnorm(82.5, media, desviacion) - pnorm(80, media, desviacion)
cat("P(80 ≤ X ≤ 82.5) =", prob_6, "\n")
## P(80 ≤ X ≤ 82.5) = 0.01052566
Existe una expectativa muy baja del 0,105 (10,5 %) de poder localizar una persona la cual tenga una puntuación entre 80 y 82,5 puntos en el test que presentaron.
# P(30 ≤ X ≤ 40)
prob_7 <- pnorm(40, media, desviacion) - pnorm(30, media, desviacion)
cat("P(30 ≤ X ≤ 40) =", prob_7, "\n")
## P(30 ≤ X ≤ 40) = 0.02140023
Existe una probabilidad extremadamente baja con un valor 0,021 (2,1 %) de poder localizar una persona la cual tenga una puntuación entre el rango de 30 y 40 puntos en el test realizado.
# P(|X - 60| ≤ 20)
prob_8 <- pnorm(80, media, desviacion) - pnorm(40, media, desviacion)
cat("P(|X - 60| ≤ 20) =", prob_8, "\n")
## P(|X - 60| ≤ 20) = 0.9544997
Esta relación representa la proporción de opositores cuyas puntuaciones están por encima de más de 20 puntos respecto a la media (60 puntos). En este caso,tiene una eventualidad de 0,954(95,4%) , lo que significa que hay una gran cantidad de los opositores obtienen una puntuación dentro de este rango.
# P(|X - 60| ≥ 20)
prob_9 <- 1 - prob_8
cat("P(|X - 60| ≥ 20) =", prob_9, "\n")
## P(|X - 60| ≥ 20) = 0.04550026
Esta relación representa la proporción de opositores cuyas puntuaciones están por encima de más de 20 puntos respecto a la media (60 puntos). En este caso,tiene una eventualidad de 0,045(4,5%) , lo que significa que alrededor del 4,5% de los opositores obtienen una puntuación fuera de ese rango.
# Número de opositores que obtuvieron 70 puntos
num_70_puntos <- dnorm(70, media, desviacion) * 200
cat("Número de opositores que obtuvieron 70 puntos =", round(num_70_puntos), "\n")
## Número de opositores que obtuvieron 70 puntos = 5
Los opositores que obtuvieron en el test un valor de 70 puntos fue de 5 personas, gracias a estos análisis realizados se puede comprender mejor la distribución de las puntuaciones de los opositores frente al test y nos ayuda a equilibrar información útil sobre el rendimiento de los opositores en diferentes niveles de puntuación alcanzados .
# Cargar la biblioteca ggplot2
library(ggplot2)
# Definir los parámetros de la distribución normal
media <- 60
desviacion <- 10
# Generar datos para la distribución normal
x <- seq(20, 100, length.out = 1000)
y <- dnorm(x, mean = media, sd = desviacion)
# Crear el gráfico
grafico <- ggplot(data.frame(x), aes(x)) +
geom_line(aes(y = y), color = "blue", linewidth = 1.5) +
geom_vline(xintercept = c(70, 80), linetype = "dashed", color = "magenta") +
geom_area(data = subset(data.frame(x, y), x >= 70), aes(y = y), fill = "skyblue", alpha = 0.3) +
geom_area(data = subset(data.frame(x, y), x <= 80), aes(y = y), fill = "skyblue", alpha = 0.3) +
xlab("Puntuaciones") + ylab("Densidad de probabilidad") +
ggtitle("Distribución Normal (μ = 60, σ = 10)") +
theme_minimal()
# Mostrar el gráfico
print(grafico)
Este gráfico representa la situación 5 sobre un técnico realiza un test de cien ítems a unos doscientos opositores,suponiendo que las puntuaciones X obtenidas por los opositores siguen una distribución normal de media 60 puntos y desviación típica 10 puntos de el cual se realiza su representación gráfica mediante una distribución normal en la cual se ve unos niveles más concentrado a partir de una puntuación de 70 a 80.
A partir de los datos relacionados en la situación 3 del taller de análisis exploratorio de datos, que indica:
Una entidad encargada del control de contaminación, sospecha que cierta industria que deposita sus efluentes sobre el curso de un rio lo viene contaminando. Con el objetivo de verificar esta hipótesis ha decidido tomar 30 mediciones consecutivas (diarias) en puntos de muestreo ubicados antes y después del efluente (de forma apareada, según tiempo de retención). A los datos consignados en el archivo denominado Situación 3.xlsx,
Identifique el comportamiento de los datos antes y después del efluente, comparando con los modelos probabilísticos vistos en clase e indique cuál es el modelo que mejor representa los datos, justifique su respuesta.
Una vez seleccionado el mejor modelo, encuentre su promedio y su desviación típica.
# Crear un dataframe con los datos proporcionados
datos <- data.frame(
Dia = 1:30,
OD_Antes = c(6.42, 6.79, 6.9, 7.06, 7.31, 7.36, 7.46, 7.61, 7.63, 7.69,
7.8, 7.8, 7.82, 7.82, 7.92, 8, 8.09, 8.18, 8.35, 8.63,
8.75, 8.8, 8.85, 9.13, 9.19, 9.38, 9.38, 9.59, 9.61, 10.6),
OD_Desp = c(3.85, 4.41, 4.89, 4.92, 5.01, 5.44, 5.51, 5.75, 5.8, 5.81,
5.81, 5.82, 5.89, 5.96, 6, 6.02, 6.09, 6.27, 6.59, 6.78,
6.81, 6.84, 6.9, 6.9, 7.08, 7.21, 7.29, 7.44, 7.59, 8.21)
)
# Visualizar los primeros registros
head(datos)
## Dia OD_Antes OD_Desp
## 1 1 6.42 3.85
## 2 2 6.79 4.41
## 3 3 6.90 4.89
## 4 4 7.06 4.92
## 5 5 7.31 5.01
## 6 6 7.36 5.44
# Resumen estadístico de los datos antes y después del efluente
summary(datos)
## Dia OD_Antes OD_Desp
## Min. : 1.00 Min. : 6.420 Min. :3.850
## 1st Qu.: 8.25 1st Qu.: 7.615 1st Qu.:5.763
## Median :15.50 Median : 7.960 Median :6.010
## Mean :15.50 Mean : 8.197 Mean :6.163
## 3rd Qu.:22.75 3rd Qu.: 8.838 3rd Qu.:6.885
## Max. :30.00 Max. :10.600 Max. :8.210
# Histograma de los datos antes y después del efluente
library(ggplot2)
ggplot(datos, aes(x = OD_Antes)) +
geom_histogram(binwidth = 0.2, fill = "blue", alpha = 0.5) +
labs(title = "Histograma de mediciones antes del efluente", x = "Mediciones", y = "Frecuencia")
ggplot(datos, aes(x = OD_Desp)) +
geom_histogram(binwidth = 0.2, fill = "red", alpha = 0.5) +
labs(title = "Histograma de mediciones después del efluente", x = "Mediciones", y = "Frecuencia")
# Prueba de normalidad (Shapiro-Wilk)
shapiro.test(datos$OD_Antes)
##
## Shapiro-Wilk normality test
##
## data: datos$OD_Antes
## W = 0.9733, p-value = 0.6327
shapiro.test(datos$OD_Desp)
##
## Shapiro-Wilk normality test
##
## data: datos$OD_Desp
## W = 0.98171, p-value = 0.8689
# Q-Q plots para verificar la normalidad
par(mfrow = c(1, 2))
qqnorm(datos$OD_Antes, main = "Q-Q Plot Antes")
qqline(datos$OD_Antes, col = "blue")
qqnorm(datos$OD_Desp, main = "Q-Q Plot Después")
qqline(datos$OD_Desp, col = "red")
par(mfrow = c(1, 1))
La inspección visual de los histogramas y los Q-Q plots junto con los resultados de las pruebas de normalidad (Shapiro-Wilk) nos ayudará a determinar si los datos se ajustan a una distribución normal. Si los datos se ajustan bien a la distribución normal, podemos proceder con este modelo.
# Basado en los resultados de las pruebas de normalidad y los gráficos,
# decidimos si la distribución normal es adecuada.
# Aquí asumimos que la distribución normal es adecuada para este ejemplo.
# Cálculo del promedio y desviación estándar para los datos antes y después del efluente
promedio_antes <- mean(datos$OD_Antes)
desviacion_antes <- sd(datos$OD_Antes)
promedio_despues <- mean(datos$OD_Desp)
desviacion_despues <- sd(datos$OD_Desp)
# Mostrar los resultados
promedio_antes
## [1] 8.197333
desviacion_antes
## [1] 0.9731993
promedio_despues
## [1] 6.163
desviacion_despues
## [1] 0.987973
En este análisis, se ha evaluado el comportamiento de las mediciones de oxígeno disuelto antes y después del efluente. Se ha comprobado que los datos se ajustan a una distribución normal. El promedio y la desviación típica de las mediciones antes del efluente son r promedio_antes y r desviacion_antes respectivamente, mientras que para las mediciones después del efluente son r promedio_despues y r desviacion_despues respectivamente.
# 1. Tiempo de vida de un ordenador (distribución exponencial)
tiempo_vida <- rexp(1000, rate = 0.1) # Supongamos una tasa de fallos de 0.1
# Imprimir los primeros 10 valores de cada variable aleatoria
cat("Tiempo de vida de un ordenador:\n", head(tiempo_vida, 10), "\n\n")
## Tiempo de vida de un ordenador:
## 4.55817 2.074475 18.66411 15.2843 10.90478 8.811378 1.052635 29.40049 10.67645 13.02601
El tiempo de vida de un ordenador: Se modela con una distribución exponencial, donde se espera que un ordenador falle cada 10 unidades de tiempo en promedio.
# 2. Número de accidentes laborales diarios en Cali (distribución de Poisson)
accidentes_diarios <- rpois(1000, lambda = 2) # Supongamos una tasa promedio de 2 accidentes por día
# Imprimir los primeros 10 valores de cada variable aleatoria
cat("Número de accidentes laborales diarios en Cali:\n", head(accidentes_diarios, 10), "\n\n")
## Número de accidentes laborales diarios en Cali:
## 2 3 1 3 3 4 0 1 1 3
Número de accidentes laborales diarios en Cali: Se modela con una distribución de Poisson, asumiendo que ocurren en promedio 2 accidentes por día en Cali.
# 3. Cotización diaria en bolsa de valores (distribución normal)
cotizacion_diaria <- rnorm(1000, mean = 100, sd = 10) # Supongamos una media de 100 y una desviación estándar de 10
# Imprimir los primeros 10 valores de cada variable aleatoria
cat("Cotización diaria en bolsa de valores:\n", head(cotizacion_diaria, 10), "\n\n")
## Cotización diaria en bolsa de valores:
## 96.69583 105.3648 94.87415 78.99227 84.45105 93.50212 96.77796 101.3005 97.98959 112.9889
Cotización diaria en bolsa de valores: Se modela con una distribución normal con media 100 y desviación estándar 10, representando la volatilidad de los precios.
# 4. Número de mensajes diarios recibidos en un teléfono móvil (distribución de Poisson)
mensajes_diarios <- rpois(1000, lambda = 20) # Supongamos una tasa promedio de 20 mensajes por día
# Imprimir los primeros 10 valores de cada variable aleatoria
cat("Número de mensajes diarios recibidos en un teléfono móvil:\n", head(mensajes_diarios, 10), "\n\n")
## Número de mensajes diarios recibidos en un teléfono móvil:
## 22 17 18 25 29 22 25 26 18 21
Número de mensajes diarios recibidos en un teléfono móvil: Se modela con una distribución de Poisson, con una tasa promedio de 20 mensajes por día.
X = resultado de lanzar un dado. La funci´on de probabilidad es:
# Definir los posibles resultados del lanzamiento del dado
resultados <- 1:6
# Calcular la probabilidad para cada posible resultado
probabilidad <- rep(1/6, 6)
# Crear un data frame con los resultados y sus probabilidades
datos_dado <- data.frame(Resultado = resultados, Probabilidad = probabilidad)
# Mostrar el data frame
print(datos_dado)
## Resultado Probabilidad
## 1 1 0.1666667
## 2 2 0.1666667
## 3 3 0.1666667
## 4 4 0.1666667
## 5 5 0.1666667
## 6 6 0.1666667
Se establece que todos los resultados tienen la misma probabilidad de ocurrir, que es 1/6. Se representa esta distribución de probabilidad en un data frame que muestra los posibles resultados del dado y sus probabilidades asociadas.
Un juego consiste en ensartar 3 aros, uno a uno. Participar cuesta 3 pesos. Los premios son 4 pesos por un acierto, 6 pesos por dos aciertos y 30 pesos por tres aciertos. Suponemos que la probabilidad de ensartar un aro es de 0.1 en cada tiro, y que los tiros son independientes. Definimos la v.a. X como la ganancia en el juego. El espacio muestral est´a dado por: S = (f , f , f ),(a, f , f ),(f , a, f ),(f , f , a),(a, a, f ),(a, f , a),(f , a, a),(a, a, a) Donde a denota acierto y f denota fallo. Por lo tanto, X solo admite cuatro posibles resultados con las siguientes probabilidades:
# Definir las probabilidades de acierto y fallo
prob_acierto <- 0.1
prob_fallo <- 1 - prob_acierto
# Definir las ganancias por acierto
ganancia_un_acierto <- 4
ganancia_dos_aciertos <- 6
ganancia_tres_aciertos <- 30
# Definir el espacio muestral
espacio_muestral <- c("fff", "aff", "faf", "ffa", "aaf", "afa", "faa", "aaa")
# Calcular las probabilidades de cada resultado
probabilidades <- rep(prob_fallo, length(espacio_muestral))
probabilidades[espacio_muestral == "aaa"] <- prob_acierto^3
probabilidades[espacio_muestral %in% c("aaf", "afa", "faa")] <- prob_acierto^2 * prob_fallo
probabilidades[espacio_muestral %in% c("aff", "faf", "ffa")] <- prob_acierto * prob_fallo^2
# Calcular la ganancia esperada
ganancia_esperada <- sum(probabilidades * c(0, ganancia_un_acierto, ganancia_dos_aciertos, ganancia_tres_aciertos))
# Imprimir las probabilidades y la ganancia esperada
print("Probabilidades de cada resultado:")
## [1] "Probabilidades de cada resultado:"
print(probabilidades)
## [1] 0.900 0.081 0.081 0.081 0.009 0.009 0.009 0.001
print("Ganancia esperada:")
## [1] "Ganancia esperada:"
print(ganancia_esperada)
## [1] 3.36
-Cuando se ingresa al juego, y se fallan las tres veces en el lanzamiento se obtendra una perdida de -3, por tanto la probabilidad sera.
# Definir las probabilidades de acierto y fallo
p_acierto <- 0.1
p_fallo <- 1 - p_acierto
# Calcular las probabilidades de cada resultado
probabilidad_perdida <- p_fallo^3
# Imprimir resultados
cat("Probabilidad de obtener una pérdida de -3 pesos:", probabilidad_perdida, "\n")
## Probabilidad de obtener una pérdida de -3 pesos: 0.729
-Cuando se ingresa al juego, y se falla solo una vez en el lanzamiento se obtendra una ganancia de 1 peso, por tanto la probabilidad sera.
# Definir las probabilidades de acierto y fallo
p_acierto <- 0.1
p_fallo <- 1 - p_acierto
# Calcular las probabilidades de cada resultado
probabilidad_perdida <- p_fallo^3
probabilidad_ganancia_1 <- choose(3, 2) * p_acierto * p_fallo^2
# Imprimir resultados
cat("Probabilidad de obtener una ganancia de 1 peso:", probabilidad_ganancia_1, "\n")
## Probabilidad de obtener una ganancia de 1 peso: 0.243
-Cuando se ingresa al juego, y se fallan dos veces en el lanzamiento se obtendra una ganancia de 3 pesos, por tanto la probabilidad sera.
# Definir las probabilidades de acierto y fallo
p_acierto <- 0.1
p_fallo <- 1 - p_acierto
# Calcular las probabilidades de cada resultado
probabilidad_ganancia_3 <- choose(3, 1) * p_acierto^2 * p_fallo
# Calcular la probabilidad de ganar 3 o más pesos
probabilidad_ganar_3_o_mas <- probabilidad_ganancia_3
# Imprimir resultados
cat("Probabilidad de obtener una ganancia de 3 pesos:", probabilidad_ganancia_3, "\n")
## Probabilidad de obtener una ganancia de 3 pesos: 0.027
-Cuando se ingresa al juego, y se aciertan las tres veces de los lanzamientos se obtendr´a una ganancia de 27 pesos, por tanto la probabilidad sera.
# Definir las probabilidades de acierto y fallo
p_acierto <- 0.1
p_fallo <- 1 - p_acierto
# Calcular las probabilidades de cada resultado
probabilidad_ganancia_27 <- p_acierto^3
# Calcular la probabilidad de ganar 3 o más pesos
probabilidad_ganar_3_o_mas <- probabilidad_ganancia_27
# Imprimir resultados
cat("Probabilidad de obtener una ganancia de 27 pesos:", probabilidad_ganancia_27, "\n")
## Probabilidad de obtener una ganancia de 27 pesos: 0.001
-¿Cual es la probabilidad de ganar 3 o mas pesos, descontando los 3 pesos por participar?
# Definir las probabilidades de acierto y fallo
p_acierto <- 0.1
p_fallo <- 1 - p_acierto
# Calcular la probabilidad de ganar 3 o más pesos
probabilidad_ganar_3_o_mas <- probabilidad_ganancia_3 + probabilidad_ganancia_27
# Imprimir resultados
cat("Probabilidad de ganar 3 o más pesos (descontando los 3 pesos por participar):", probabilidad_ganar_3_o_mas, "\n")
## Probabilidad de ganar 3 o más pesos (descontando los 3 pesos por participar): 0.028
-¿Cual es la probabilidad de no perder dinero?
# Definir las probabilidades de acierto y fallo
p_acierto <- 0.1
p_fallo <- 1 - p_acierto
# Calcular la probabilidad de no perder dinero
probabilidad_no_perder <- probabilidad_ganancia_1 + probabilidad_ganancia_3 + probabilidad_ganancia_27
# Imprimir resultados
cat("Probabilidad de no perder dinero:", probabilidad_no_perder, "\n")
## Probabilidad de no perder dinero: 0.271
Ahora calcularemos el valor esperado, la varianza y la desviacion tipica.
# Calcular el valor esperado
valor_esperado <- (-3 * probabilidad_perdida) + (1 * probabilidad_ganancia_1) + (3 * probabilidad_ganancia_3) + (27 * probabilidad_ganancia_27)
# Calcular la varianza
varianza <- ((-3 - valor_esperado)^2 * probabilidad_perdida) + ((1 - valor_esperado)^2 * probabilidad_ganancia_1) + ((3 - valor_esperado)^2 * probabilidad_ganancia_3) + ((27 - valor_esperado)^2 * probabilidad_ganancia_27)
# Calcular la desviación típica
desviacion_tipica <- sqrt(varianza)
# Imprimir resultados
cat("Valor esperado:", valor_esperado, "\n")
## Valor esperado: -1.836
cat("Varianza:", varianza, "\n")
## Varianza: 4.405104
cat("Desviación típica:", desviacion_tipica, "\n")
## Desviación típica: 2.098834
Consideramos la v.a. discreta X = numero de caras al tirar una moneda dos veces. La funcion de probabilidad de X es:
# Definir los posibles valores de la variable aleatoria X
valores <- c(0, 1, 2)
# Definir las probabilidades correspondientes
probabilidades <- c(1/4, 1/2, 1/4) # Para dos lanzamientos de una moneda justa
# Calcular la esperanza (valor esperado)
esperanza <- sum(valores * probabilidades)
# Calcular la varianza
varianza <- sum((valores - esperanza)^2 * probabilidades)
# Calcular la desviación típica
desviacion_tipica <- sqrt(varianza)
# Mostrar los resultados
cat("Esperanza (Valor esperado):", esperanza, "\n")
## Esperanza (Valor esperado): 1
cat("Varianza:", varianza, "\n")
## Varianza: 0.5
cat("Desviación típica:", desviacion_tipica, "\n")
## Desviación típica: 0.7071068
Se calcularon estadísticas para la variable aleatoria discreta X, que representa el número de caras al tirar una moneda dos veces. Se determinó su esperanza, varianza y desviación típica, proporcionando una comprensión de la distribución y variabilidad de X en el experimento mencionado.
Consideremos la siguiente funcion de densidad: \[ \left\{ \begin{array}{ll} & 12x^2 (1 − x) 0 < x < 1\\ & 0-Otro-caso \end{array} \right. \] Entonces hallaremos P[X ≤ 0.5], P[0.2 ≤ X ≤ 0.5] y su funcion de distribucion.
# Definir la función de densidad
f <- function(x) {ifelse(x >= 0 & x <= 1, 12 * x^2 * (1 - x), 0)}
# Calcular las probabilidades P[X <= 0.5] y P[0.2 <= X <= 0.5]
prob_1 <- integrate(f, lower = 0, upper = 0.5)$value
prob_2 <- integrate(f, lower = 0.2, upper = 0.5)$value
# Calcular la función de distribución acumulativa (CDF) F(x)
x <- seq(0, 1, by = 0.01)
cdf <- sapply(x, function(x_val) integrate(f, lower = 0, upper = x_val)$value)
print(paste("P[X <= 0.5] =", prob_1))
## [1] "P[X <= 0.5] = 0.3125"
print(paste("P[0.2 <= X <= 0.5] =", prob_2))
## [1] "P[0.2 <= X <= 0.5] = 0.2853"
\[ \left\{ \begin{array}{ll} & 12x^2 (1 − x) 0 < x < 1\\ & 0-Otro-caso \end{array} \right. \] Entonces hallaremos P[X ≤ 0.5], P[0.2 ≤ X ≤ 0.5] y su funcion de distribucion, Calcularemos la varianza.
# Calcular la esperanza (media)
media <- integrate(function(x) x * f(x), lower = 0, upper = 1)$value
# Calcular la varianza
varianza <- integrate(function(x) (x - media)^2 * f(x), lower = 0, upper = 1)$value
# Imprimir el resultado
print(paste("Varianza:", varianza))
## [1] "Varianza: 0.04"