Este documento contiene las instrucciones y enunciados asociados a la Prueba Especial Programada 1 (PEP1) del curso de Estadística Computacional modalidad vespertina. Con respecto a ello:
Un investigador estudió los ritmos biológicos en ratones para analizar el efecto del fármaco Probenecid en la reducción de peso (Morgan 2018). Cada mañana, el investigador registró el momento en que los ratones despertaron y comenzaron sus actividades. Este evento ocurrió entre las 5:35 y las 6:10 de la mañana. Si asume que la distribución de este evento es uniforme en ese rango de tiempo:
La función de densidad describe la probabilidad relativa de una variable continua. Por lo tanto, debemos asumir que el tiempo de actividad de los ratoncitos es continuo. Para graficar esta función se puede usar la biblioteca ggplot2. Los valores extremos del rango (\(a,b\)) pueden estar definidos en horas, minutos u otra unidad que usted estime conveniente. Si utilizamos horas, el gráfico será el siguiente:
library("ggplot2")
library("plotly")
#Graficar
=5.6
a=6.2
b
= seq(a,b,by=0.01)
x= 1/(b-a)
y = data.frame(hours = x, f_x = y)
datos
=ggplot(datos, aes(x = x, y=y))
grafico = grafico + theme_bw()
grafico = grafico + ylab("Densidad")
grafico = grafico + xlab("Horas")
grafico = grafico + ggtitle("Densidad de probabilidad")
grafico = grafico + geom_density(fill="navajowhite",color="orange3", size = 0.1) +
grafico coord_cartesian(ylim=c(0, 2))
ggplotly(grafico)
La función de masa describe la probabilidad relativa de una variable discreta. Por lo tanto, debemos asumir que el tiempo de actividad es discreto. Para graficar esta función se puede usar nuevamente la biblioteca ggplot2.
library("extraDistr")
#Graficar
= seq(a,b,by=0.01)
x= 1/length(x)
y
= ggplot(data=datos,aes(x=x,y=y))
grafico = grafico + geom_bar(stat="identity",fill="navajowhite",color="orange3", size = 0.1)
grafico = grafico + theme_bw() + ggtitle("Masa de probabilidades")
grafico = grafico + xlab("Horas") + ylab("Masa") + coord_cartesian(ylim=c(0, 0.02))
grafico ggplotly(grafico)
Con relación a las medidas solicitadas, su cálculo depende si consideramos el tiempo de actividad de los ratoncitos una variable continua o discreta. En el caso de continua será:
= (a+b)/2
media = round(sqrt(((b-a+1)^2+1)/12),3)
desviacion
print(paste(media,"±",desviacion))
## [1] "5.9 ± 0.545"
En el caso de considerar el rango como un intervalo discreto será:
= (a+b)/2
media = round(sqrt(((b-a)^2)/12),3)
desviacion
print(paste(media,"±",desviacion))
## [1] "5.9 ± 0.173"
Un estudio ha señalado que en el Hospital de Medellín hubo 292 accidentes laborales entre los años 2015 y 2019 (Pérez-Correa 2022).
Para resolver este ejercicio se pueden asumir diferentes distribuciones. Sin embargo, dado que se está entregando una media en el tiempo utilizaré una distribución de Poisson. Para calcular la probabilidad de que no ocurran accidente en 1 días, se requiere la media (\(\lambda\)) para un día en estos 5 años (2015-2019). Asumiendo que los años 2015 y 2019 se incluyen en rango y que al ser un hospital se trabaja todos los días del año, esto se puede calcular como:
= 292/(5*365) lambda_dia
Por lo que la probabilidad de no tener accidentes en un día es:
= dpois(0,lambda_dia)
prob_diaprint(prob_dia)
## [1] 0.8521438
El mismo proceso se puede aplicar para la semana, considerando que un año tiene 52 de estas.
= 292/(5*52) lambda_semana
En este caso la probabilidad de tener como máximo 2 accidentes en una semana es:
= ppois(2,lambda_semana)
prob_semanaprint(prob_semana)
## [1] 0.8957254
Con relación a los gráficos, les podemos hacer considerando días o semanas. Estos son:
=seq(0,10)
accidentes= dpois(accidentes,lambda_dia)
distribucion =data.frame(accidentes,distribucion)
datos
= ggplot(data=datos,aes(x=accidentes,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="navajowhite",color="orange3", size = 0.1)
grafico = grafico + theme_bw() + ggtitle("Distribución de probabilidades - Poisson")
grafico = grafico + xlab("Número de accidentes x día") + ylab("Probabilidad")
grafico ggplotly(grafico)
=seq(0,10)
accidentes= dpois(accidentes,lambda_semana)
distribucion =data.frame(accidentes,distribucion)
datos
= ggplot(data=datos,aes(x=accidentes,y=distribucion))
grafico = grafico + geom_bar(stat="identity",fill="navajowhite",color="orange3", size = 0.1)
grafico = grafico + theme_bw() + ggtitle("Distribución de probabilidades - Poisson")
grafico = grafico + xlab("Número de accidentes x semana") + ylab("Probabilidad")
grafico ggplotly(grafico)
Un investigador está utilizando un Modelo de Regresión de Cox para explicar una variable fisiológica causante de una enfermedad (Rivas 2006). Este modelo requiere la estimación de cuatro parámetros en un rango de 0 a 100: una constante base (mantisa) y tres asociados a un exponente. Para llevar a cabo la estimación, el investigador ha dividido cada variable en 10 intervalos.
La cantidad de modelos diferentes que podemos evaluar depende de la combinación de los valores de las variables a estimar. En este caso tenemos 11 valores posibles de cada una, por lo que el número de evaluaciones será:
= 11
n = 11^4
combinaciones print(combinaciones)
## [1] 14641
Si cada modelo tarda 1 minuto en ser evaluado el número de horas que se necesitarán son:
= combinaciones/60
horas print(horas)
## [1] 244.0167
Al requerir de 244 horas o 10.2 días aproximadamente es un tiempo bastante alto a considerar.
Dado que las variables siguen una distribución normal de media 50 y desviación estándar 10. La probabilidad de que las variables tengan un valor entre 40 y 60 es:
= round(pnorm(60,50,10)-pnorm(40,50,10),2)
probabilidad print(probabilidad)
## [1] 0.68
Esto hace que la probabilidad de que los mejores parámetros estén entre 40 y 60 sea casi del 70%. Por lo tanto, le sugeriría al investigador acotar la búsqueda a este rango. Esto hace que el número de combinaciones sea \(3^4=81\) y tarde aproximadamente 1 hora 30 minutos.
Si tiene más tiempo, podría llevar el rango de 30 y 70, que tiene casi del 95% de probabilidad. Esto hace que el número de combinaciones sea \(3^4=625\) y tarde aproximadamente 10 horas.
= round(pnorm(70,50,10)-pnorm(30,50,10),2)
probabilidad print(probabilidad)
## [1] 0.95