library(tibble)
library(dplyr)
library(knitr)
library(kableExtra)
Algunos casos de historias clĆnicas indican que diferentes enfermedades producen sĆntomas idĆ©nticos. Suponga que un conjunto particular de sĆntomas, denotado como H, se presenta sólo con cualquiera de tres enfermedades, I1, I2 o I3. Suponga que la presentación simultĆ”nea de mĆ”s de una de estas enfermedades es imposible y que
P(I1) = 0.01, P(I2) = 0.005, P(I3) = 0.02.
Las probabilidades de desarrollar el conjunto de sĆntomas H, dada cada una de estas enfermedades, se sabe que son:
P(H | I1) = 0.90, P(H | I2) = 0.95, P(H | I3) = 0.75
Elabore un dataframe que resuma la información.
Suponiendo que una persona enferma presenta los sĆntomas, H, ĀæCuĆ”l es la probabilidad de que la persona tenga la enfermedad I1?
Solución
a Dataframe:
library(ggplot2)
datos <- tibble(
Enfermedad = c("I1", "I2", "I3"),
Probabilidad = c(0.01, 0.005, 0.02),
Prob_sintomas_dada_enfermedad = c(0.90, 0.95, 0.75)
)
prob_sintomas <- sum(datos$Probabilidad * datos$Prob_sintomas_dada_enfermedad)
prob_I1_dado_sintomas <- (datos$Prob_sintomas_dada_enfermedad[1] * datos$Probabilidad[1]) / prob_sintomas
kable(datos,
digits = 4,
caption = "Resumen de probabilidades de enfermedades y sĆntomas",
col.names = c("Enfermedad", "Probabilidad", "Prob. sĆntomas dada enfermedad")
) %>%
kable_styling(full_width = FALSE,
bootstrap_options = c("striped", "hover", "condensed", "responsive")) %>%
row_spec(0, bold = TRUE, color = "white", background = "#0073C2FF") %>%
row_spec(1:3, background = "#F7FBFF") %>%
column_spec(2:3, width = "5cm", color = "#333333")
| Enfermedad | Probabilidad | Prob. sĆntomas dada enfermedad |
|---|---|---|
| I1 | 0.010 | 0.90 |
| I2 | 0.005 | 0.95 |
| I3 | 0.020 | 0.75 |
# b.la probabilidad de que la persona tenga la enfermedad I1 es:
prob_I1_dado_sintomas
## [1] 0.3130435
Sea X una variable aleatoria con f(x) dada en la siguiente tabla.
Dibuje la función de probabilidad.
Obtenga la función de distribución, F(x), y, con base en ella, encuentre F(2.5)
| x | 1 | 2 | 3 | 4 |
|---|---|---|---|---|
| f(x) | 0.4 | 0.3 | 0.2 | 0.1 |
solucion
tabla <- tibble(
x = c(1, 2, 3, 4),
fx = c(0.4, 0.3, 0.2, 0.1)
)
ggplot(tabla, aes(x = x, y = fx)) +
geom_segment(aes(xend = x, yend = 0), linetype = "dashed", size = 0.8) + # lineas punteadas
geom_point(size = 4, color = "steelblue") + # puntos de probabilidad
geom_text(aes(label = fx), vjust = -1, color = "black") + # etiquetas de f(x)
labs(
title = "Funcion de probabilidad de X",
x = "x",
y = "f(x)"
) +
theme_minimal(base_size = 14)
# b.
# función de distribución acumulada F
tabla <- tibble(
x = c(1, 2, 3, 4),
fx = c(0.4, 0.3, 0.2, 0.1)
)
tabla <- tabla %>%
mutate(Fx = cumsum(fx))
tabla
## # A tibble: 4 Ć 3
## x fx Fx
## <dbl> <dbl> <dbl>
## 1 1 0.4 0.4
## 2 2 0.3 0.7
## 3 3 0.2 0.9
## 4 4 0.1 1
# Para 2.5
F_2_5 <- tabla$Fx[tabla$x == 2]
F_2_5
## [1] 0.7
Suponga que X tiene la función de densidad dada abajo
Dibuje la función de densidad (debe encontrar el valor de k)
Dibuje F(x)
Encuentre P( 0.4 < X < 0.8) redondeado a 3 decimales.
\[ f(x) = \begin{cases} kx(1 - x), & 0 \le x \le 1 \\ 0, & \text{en otro caso} \end{cases} \]
# a. Funcion de densidad
f_temp <- function(x, k) k * x * (1 - x)
integrate(f_temp, lower = 0, upper = 1, k = 1)
## 0.1666667 with absolute error < 1.9e-15
k <- 6
f_x <- function(x) ifelse(x >= 0 & x <= 1, k * x * (1 - x), 0)
x_vals <- seq(0, 1, by = 0.01)
tabla_a <- tibble(x = x_vals, f = f_x(x_vals))
ggplot(tabla_a, aes(x = x, y = f)) +
geom_area(fill = "#8ecae6", alpha = 0.5) + # color de fondo
geom_line(color = "#023047", size = 1.3) + # linea principal
labs(
title = "a. Funcion de densidad f(x) = 6x(1-x)",
x = "x",
y = "f(x)"
) +
theme_minimal(base_size = 14)
# b.
# b. Funcion de distribucion
F_x <- function(x) {
ifelse(x < 0, 0,
ifelse(x > 1, 1, 3 * x^2 - 2 * x^3))
}
tabla_b <- tibble(x = x_vals, F = F_x(x_vals))
ggplot(tabla_b, aes(x = x, y = F)) +
geom_step(color = "#219ebc", linewidth = 1.2) +
geom_point(color = "#ffb703", size = 2) +
labs(
title = "b. Funcion de distribucion acumulada F(x) = 3x^2 - 2x^3",
x = "x",
y = "F(x)"
) +
theme_minimal(base_size = 14)
# c
# c. Calculo de P(0.4 < X < 0.8)
P_0.4_0.8 <- F_x(0.8) - F_x(0.4)
P_0.4_0.8
## [1] 0.544
paste("P(0.4 < X < 0.8) =", round(P_0.4_0.8, 3))
## [1] "P(0.4 < X < 0.8) = 0.544"
Suponga que un distribuidor de joyerĆa antigua estĆ” interesado en comprar un collar de oro para el que tiene 0.22 de probabilidades de venderlo con $250 de utilidad; 0.36 de venderlo con $150 de utilidad; 0.28 de venderlo al costo y 0.14 de venderlo con una pĆ©rdida de $150. ĀæCuĆ”l es la desviación estĆ”ndar de la utilidad?
Solucion
utilidad <- c(250, 150, 0, -150)
probabilidad <- c(0.22, 0.36, 0.28, 0.14)
media <- sum(utilidad * probabilidad)
varianza <- sum(probabilidad * (utilidad - media)^2)
desv_estandar <- sqrt(varianza)
desv_estandar
## [1] 131.3621
Calcule la proporción X de personas que se podrĆa esperar que respondieran a cierta encuesta que se envĆa por correo, si X tiene la función de densidad mostrada. Dibuje la función de densidad
\[ f(x) = \begin{cases} \dfrac{2(x + 2)}{5}, & 0 < x < 1, \\ 0, & \text{en otro caso.} \end{cases} \]
f <- function(x) (2*(x + 2))/5
# Grafica función de densidad
curve(f(x),
from = 0, to = 1,
main = "Funcion de densidad f(x) = 2(x+2)/5",
xlab = "x",
ylab = "f(x)",
col = "blue",
lwd = 2)
# valor esperado
f_mean <- function(x) x * f(x)
resultado <- integrate(f_mean, 0, 1)
cat("valor esperado (E[X]) =", round(resultado$value, 4))
## valor esperado (E[X]) = 0.5333
El tiempo de falla (en cientos de horas) para un transistor es una variable aleatoria Y con función de distribución dada abajo.
\[ F(y) = \begin{cases} 0, & y < 0, \\ 1 - e^{-y^2}, & y \ge 0. \end{cases} \]
Dibuje F(y)
Dibuje f(y)
Encuentre la probabilidad de que el transistor opere durante al menos 200 horas.
solucion
F_y <- function(y) ifelse(y < 0, 0, 1 - exp(-y^2))
f_y <- function(y) ifelse(y < 0, 0, 2*y*exp(-y^2))
ys <- seq(0, 4, length.out = 401) # de 0 a 4 (0..400 horas)
df <- tibble(y = ys, F = F_y(ys), f = f_y(ys))
# a) Grafico de F(y)
pF <- ggplot(df, aes(x = y, y = F)) +
geom_step(direction = "hv", color = "#2a9d8f", size = 1) +
geom_line(color = "#2a9d8f", size = 0.7) +
labs(title = "Funcion de distribucion F(y) = 1 - exp(-y^2)", x = "y (centenas de horas)", y = "F(y)") +
theme_minimal(base_size = 13)
print(pF)
# b) Grafico de f(y)
pf <- ggplot(df, aes(x = y, y = f)) +
geom_line(color = "#e76f51", size = 1.2) +
geom_area(aes(y = f), fill = "#f4a261", alpha = 0.25) +
labs(title = "Funcion de densidad f(y) = 2*y*exp(-y^2)", x = "y (centenas de horas)", y = "f(y)") +
theme_minimal(base_size = 13)
print(pf)
# c) Probabilidad P(Y >= 2) (200 horas = y = 2)
prob_ge_2 <- exp(-4) # = e^{-4}
prob_ge_2
## [1] 0.01831564
round(prob_ge_2, 4)
## [1] 0.0183