library(tibble)
library(dplyr)
library(knitr)
library(kableExtra)

Primera pregunta

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

  1. Elabore un dataframe que resuma la información.

  2. 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")
Resumen de probabilidades de enfermedades y sĆ­ntomas
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

Segunda pregunta

Sea X una variable aleatoria con f(x) dada en la siguiente tabla.

  1. Dibuje la función de probabilidad.

  2. 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

Tercera pregunta

Suponga que X tiene la función de densidad dada abajo

  1. Dibuje la función de densidad (debe encontrar el valor de k)

  2. Dibuje F(x)

  3. 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"

Cuarta pregunta

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

Quinta pregunta

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

Sexta pregunta

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} \]

  1. Dibuje F(y)

  2. Dibuje f(y)

  3. 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