library("ggplot2")

Problema campo de la genética

En el campo de la genética, se busca identificar los genes asociados a una enfermedad específica. En un estudio reciente se encontró que un conjunto de 22 genes está fuertemente relacionado con la aparición de diabetes tipo 2. El equipo de investigación ahora se pregunta ¿cuántos conjuntos de 22 genes se tendrían que evaluar para identificar todos los genes relacionados con la diabetes tipo 2? Suponga que el genoma humano consta de 25,000 genes.

Además, si se propusiera un algoritmo de búsqueda basado en fuerza bruta que evalúa cada combinación de 22 genes para determinar su relación con la diabetes tipo 2 en 1 nanosegundo,

  • ¿Cuánto tiempo se necesitaría para evaluar todas las combinaciones?

El número de combinaciones posibles de 22 genes seleccionados de un conjunto de 25000, para realizar este cálculo se utiliza la función choose(n, k), donde n es el número total de elementos y k representa el número de elementos que se seleccionan para formar cada combinación.El tiempo que se necesitaría es demasiado.

choose(25000,22)
## [1] 5.010713e+75
  • ¿Qué sugerencia haría desde el punto de vista computacional

Desde el punto de vista computacional, una forma de disminuir el tiempo en la búsqueda de genes asociados con la aparición de la diabetes tipo 2 es mediante el uso de algoritmos de minería de datos y aprendizaje automático. Estos algoritmos pueden ayudar a identificar patrones y relaciones entre los datos que no son evidentes a simple vista. Además, el uso de técnicas de preprocesamiento de datos puede ayudar a reducir el tiempo necesario para analizar los datos. Los algoritmos de minería de datos y aprendizaje automático son técnicas que se utilizan para analizar grandes conjuntos de datos y encontrar patrones y relaciones entre los datos. Estos algoritmos se pueden utilizar para identificar genes asociados con la aparición de la diabetes tipo 2.

  • Contextualice su respuesta para el problema.
Referencias: 
- Algoritmos de minería de datos: https://learn.microsoft.com/es-es/analysis-services/data-mining/data-mining-algorithms-analysis-services-data-mining?view=asallproducts-allversions
- Aprendizaje automático: https://www.sas.com/es_es/insights/analytics/machine-learning.html
- Diabetes: https://www.who.int/es/news-room/fact-sheets/detail/diabetes

Problema campo de la ingeniería

En el campo de la ingeniería aeroespacial, se sabe que los materiales utilizados en las alas de los aviones pueden sufrir de fatiga y eventualmente fallar. Se ha determinado que la vida útil de los materiales de las alas es de 20,000 horas de vuelo. Bajo este contexto

  • ¿Cuál es la probabilidad de que las alas de un avión fallen antes de las 5,000 horas de vuelo?

La probabilidad de que las alas fallen antes de las 5000 horas de vuelo, es de 22.11992%

lambda = 1/20000
p1 = pexp(5000, rate = lambda)
print(p1)
## [1] 0.2211992
  • ¿Cuál es la probabilidad de que las alas de un avión fallen antes de las 20,000 horas de vuelo?

La probabilidad de que las alas fallen antes de las 20000 horas de vuelo, es de 63.21206%

lambda = 1/ 20000
p2 = pexp(20000, rate = lambda)
print(p2)
## [1] 0.6321206
  • ¿Cuál es la probabilidad de que las alas de un avión fallen después de las 30,000 horas de vuelo?

La probabilidad de que las alas fallen despued de las 30000 horas de vuelo es de 22.31302%

lambda = 1 / 20000
p3 = 1 - pexp(30000, rate=lambda)
print(p3)
## [1] 0.2231302
  • Indique y grafique la distribución asociada
lambda = 1/20000

x = seq(0, 50000, by=100)


df = data.frame(x = x, p1 = dexp(x, rate=lambda), p2 = pexp(20000, rate=lambda) - pexp(x, rate=lambda), p3 = 1 - pexp(x, rate=lambda))

df_long = tidyr::pivot_longer(df, cols = c("p1", "p2", "p3"), names_to = "probabilidad", values_to = "valor")

ggplot(df_long, aes(x = x, y = valor, fill = probabilidad)) +
  geom_col(position = "dodge") +
  xlab("Horas de vuelo") +
  ylab("Probabilidad") +
  ggtitle("Distribución exponencial de la falla en las alas de los aviones") +
  scale_fill_manual(values=c("yellow", "blue", "green")) +
  theme_minimal()

Referencias: 
- 
- 

Problema Soporte técnico

Se sabe que el tiempo que tarda un empleado en resolver un problema de soporte técnico en una empresa sigue una distribución normal de media 15 minutos y desviación estándar de 5 minutos. Con base en esta información:

  • ¿Cuál es la probabilidad de que un empleado resuelva un problema en exactamente 10 minutos? Argumente su respuesta.

Para calcular la probabilidad de que un empleado resuelva un problema en un intervalo de tiempo específico, se puede utilizar la función pnorm(), m es el valor para el cual se desea calcular la probabilidad, mean es la media de la distribución normal, sd es la desviación estándar de la distribución normal, divido por la raíz del n_empleados. El resultado dará 0.1587 o 15.87%, esto quiere decir que esa es la probabilidad que un empleado resuelva un problema en 10 minutos.

m = 15 
desviacion_estandar = 5
prob1 = pnorm(10, mean = m, sd = desviacion_estandar)
print(prob1)
## [1] 0.1586553
  • Si seleccionamos aleatoriamente a 50 empleados, ¿cuál es la probabilidad de que el tiempo promedio que tardan en resolver un problema de soporte técnico sea menor a 12 minutos?

Siguiendo la misma logica de la pregunta anterior, la probabilidad que tardaria los 50 empleados en resolver un problema es de 0.001104525%.

m = 15
desviacion_estandar = 5
n_empleados = 50 
prob2 = pnorm(12, mean = m, sd = desviacion_estandar / sqrt(n_empleados))
print(prob2)
## [1] 1.104525e-05
  • Indique y grafique las distribuciones asociadas.
df = data.frame(x = seq(5, 25, length.out = 100)) 

df$scenario1 = pnorm(df$x, mean = m, sd = desviacion_estandar)
df$scenario2 = pnorm(df$x, mean = m, sd = desviacion_estandar / sqrt(n_empleados))

ggplot(df, aes(x)) + 
  geom_line(aes(y = scenario1), color = "red") +
  geom_line(aes(y = scenario2), color = "blue") +
  ggtitle("Probabilidades para dos escenarios") +
  xlab("Valores de x") +
  ylab("Probabilidad")

Referencias: 
- Distribución normal en R: https://r-coder.com/distribucion-normal-r/
- Distribución normal en Rstudio (resolución de un ejercicio): https://www.youtube.com/watch?v=YMPVV73HeL0