Ejercicio:

El objetivo de está práctica será:

de cada uno de los archivos que se nos proporcionaron.

Si \(T\),es una variable aleatoria discretaque toma valores \(0<t_1<t_2,...\) Entonces la función de Probabilidad de \(T\) es

\[ f(t)=\left \{ \begin{matrix} \mathbb{P}(T=t_j) & {si }& t=t_j,j=1,2,...\\ 0 & \mbox{en otro caso}\end{matrix}\right. \] .

Por lo que su función de supervivencia está dada por:

\[ S(t)=\mathbb{P}(T>t)=\sum_{t< t_j}f(t_j) \] .

Función de Riesgo

\[ h(u_k)=\frac{S{(u_k-1)}-S(u_k)}{S{(u_k-1)}}=1-\frac{S(u_k)}{S{(u_k-1)}} \] .

Riesgo acumulado caso discreto

\[ H(t)=\sum_{k:u_k\le t}h(u_k) \] .

Alternativa de Riesgo acumulado

\[ H(t)=-\sum_{k:u_k\le t}log(1-h(u_k)) \] .

Archivos:

Las librerías que ocuparemos seran:

Muestras Corrosivas

Los datos corresponden al tiempo de vida en segundos de un disco magnético que es expuesto a una cierta mezcla corrosiva.

#install.packages("readr")
library("readr")
#install.packages("dplyr")
library("dplyr")
#install.packages("tibble")
library("tibble")

#Leemos los datos para el experimento de mezclas
mixture<- read_tsv("corrosive_mixture.csv",skip = 0,col_names = FALSE)
#Leemos nuestros datos
mixture2<- data.frame(tiempo=seq(0,2.3, by=.1), supervivencia=mixture$X1)
#Acomodamos, con intervalos de t=.1
newmix<- data.frame(tiempo=seq(0,2.3, by=.1),
         supervivencia=1-mixture2$supervivencia) #Y ordenamos en un data frame
summary(newmix) #Analizamos un poco nuestros datos.
##      tiempo      supervivencia    
##  Min.   :0.000   Min.   :0.00000  
##  1st Qu.:0.575   1st Qu.:0.05271  
##  Median :1.150   Median :0.88265  
##  Mean   :1.150   Mean   :0.60942  
##  3rd Qu.:1.725   3rd Qu.:0.99947  
##  Max.   :2.300   Max.   :1.00000
mezcla<- tibble(tiempo=seq(0,2.3, by=.1),surv=c(newmix$supervivencia))
library(ggplot2)
ggplot(data = mezcla, aes(x = tiempo, y = surv)) +
  geom_step(color = "navyblue") +
  ggtitle("Gráfica de Supervivencia de Mezcla Corrosiva")

#Vamos a calcular la función de riesgo
riesgo1 <- mezcla %>%
  mutate(Surv_aux = lead(surv)) %>%
  mutate(quotien = Surv_aux/surv) %>% # Hacemos el cociente
  mutate(Risk_rate = 1-quotien) %>% #Obtenemos la tasa de fallo
  head(-1) 
library(ggplot2)
ggplot(data = riesgo1, aes(x = tiempo, y = quotien)) +
  geom_step(color = "darkorange1") +
  ggtitle("Gráfica de Riesgo Mezclas")

#Ahora calculemos la función de riesgo acumulado
riesgo1$Risk_rate %>% 
  cumsum() %>% 
  as_tibble() %>% 
  mutate(Time = row_number()) %>% 
  select(Time, value) %>% 
  rename("t" = Time, "H(t)" = value)
## # A tibble: 23 x 2
##        t   `H(t)`
##    <int>    <dbl>
##  1     1 3.90e-10
##  2     2 9.99e- 8
##  3     3 2.56e- 6
##  4     4 2.56e- 5
##  5     5 1.52e- 4
##  6     6 6.55e- 4
##  7     7 2.25e- 3
##  8     8 6.54e- 3
##  9     9 1.67e- 2
## 10    10 3.87e- 2
## # … with 13 more rows
library(ggplot2)
ggplot(data = riesgo1, aes(x = tiempo, y = cumsum(Risk_rate))) +
  geom_step(color = "deeppink1") +
  ggtitle("Gráfica de Riesgo Acumulado de Mezclas")

Videojuegos

Los datos corresponden al tiempo que dedicaron un grupo de niños a jugar videojuegos en su primer fin de semana de vacaciones.

#Leemos los datos para el experimento de videojuegos 
videogames<- read_tsv("videogames.csv",skip = 0,col_names = FALSE) #Leemos nuestros datos
videogames2<- data.frame(tiempo=seq(0,15, by= 1), supervivencia=videogames$X1) #Acomodamos, con intervalos de t=.1
newgames<- data.frame(tiempo=seq(0,15, by= 1), supervivencia=1-videogames2$supervivencia) #Y ordenamos en un data frame
summary(newgames) #Analizamos nuestros datos.
##      tiempo      supervivencia     
##  Min.   : 0.00   Min.   :0.001638  
##  1st Qu.: 3.75   1st Qu.:0.005166  
##  Median : 7.50   Median :0.020352  
##  Mean   : 7.50   Mean   :0.138642  
##  3rd Qu.:11.25   3rd Qu.:0.110990  
##  Max.   :15.00   Max.   :1.000000
videojuego<- tibble(tiempo=seq(0,15, by= 1),surv=c(newgames$supervivencia))
library(ggplot2)
ggplot(data = videojuego, aes(x = tiempo, y = surv)) +
  geom_step(color = "green1") +
   ggtitle("Gráfica de Supervivencia de Videojuegos")

#Vamos a calcular la función de riesgo
riesgo3 <- videojuego %>%
  mutate(Surv_aux = lead(surv)) %>%
  mutate(quotien = Surv_aux/surv) %>% # Hacemos el cociente
  mutate(Risk_rate = 1-quotien) %>% #Obtenemos la tasa de fallo
  head(-1) 
library(ggplot2)
ggplot(data = riesgo3, aes(x = tiempo, y = quotien)) +
  geom_step(color = "olivedrab") +
  ggtitle("Grafica de Riesgo Videojuegos")

#Ahora calculemos la función de riesgo acumulado
riesgo3$Risk_rate %>% 
  cumsum() %>% 
  as_tibble() %>% 
  mutate(Time = row_number()) %>% 
  select(Time, value) %>% 
  rename("t" = Time, "H(t)" = value)
## # A tibble: 15 x 2
##        t `H(t)`
##    <int>  <dbl>
##  1     1  0.487
##  2     2  0.943
##  3     3  1.37 
##  4     4  1.78 
##  5     5  2.16 
##  6     6  2.52 
##  7     7  2.87 
##  8     8  3.20 
##  9     9  3.51 
## 10    10  3.82 
## 11    11  4.10 
## 12    12  4.38 
## 13    13  4.65 
## 14    14  4.91 
## 15    15  5.16

Mail

Los datos corresponden al tiempo que un empleado de correos pasa con su cliente.

#Ahora leemos el archivo de mail
mail<- read_tsv("mail.csv",skip = 0,col_names = FALSE) #Leemos nuestros datos
mail2<- data.frame(tiempo=c(1:30), supervivencia=mail$X1) #Acomodamos, con intervalos de t=.1
#mixture2 <- arrange(mixture2, -supervivencia) #Reordenamos los datos para trabajar con ellos.
newmail<- data.frame(tiempo=c(0:30), supervivencia=c(1, 1-mail2$supervivencia)) #Y ordenamos en un data frame
summary(newmail) #Analizamos un poco nuestros datos.
##      tiempo     supervivencia    
##  Min.   : 0.0   Min.   :0.01376  
##  1st Qu.: 7.5   1st Qu.:0.04029  
##  Median :15.0   Median :0.11732  
##  Mean   :15.0   Mean   :0.23943  
##  3rd Qu.:22.5   3rd Qu.:0.34339  
##  Max.   :30.0   Max.   :1.00000
correo<- tibble(tiempo=c(0:30),surv=c(newmail$supervivencia))
library(ggplot2)
ggplot(data = correo, aes(x = tiempo, y = surv)) +
  geom_step(color = "darkgoldenrod4") +
    ggtitle("Gráfica de Supervivencia de Clientes")

#Vamos a calcular la función de riesgo
riesgo2 <- correo %>%
  mutate(Surv_aux = lead(surv)) %>%
  mutate(quotien = Surv_aux/surv) %>% # Hacemos el cociente
  mutate(Risk_rate = 1-quotien) %>% #Obtenemos la tasa de fallo
  head(-1) 
library(ggplot2)
ggplot(data = riesgo2, aes(x = tiempo, y = quotien)) +
  geom_step(color = "tan4") +
  ggtitle("Grafica de Riesgo de Clientes")

#Ahora calculemos la función de riesgo acumulado
riesgo2$Risk_rate %>% 
  cumsum() %>% 
  as_tibble() %>% 
  mutate(Time = row_number()) %>% 
  select(Time, value) %>% 
  rename("t" = Time, "H(t)" = value)
## # A tibble: 30 x 2
##        t `H(t)`
##    <int>  <dbl>
##  1     1  0.133
##  2     2  0.266
##  3     3  0.399
##  4     4  0.532
##  5     5  0.666
##  6     6  0.799
##  7     7  0.932
##  8     8  1.06 
##  9     9  1.20 
## 10    10  1.33 
## # … with 20 more rows
library(ggplot2)
ggplot(data = riesgo2, aes(x = tiempo, y = cumsum(Risk_rate))) +
  geom_step(color = "orchid4") +
  ggtitle("Grafica de Riesgo Acumulado de Clientes")

Autos

Los datos corresponden al tiempo en segundos que tardar en pasar 100 automóviles por un cierto punto en una carretera.

#Leemos los datos para el experimento del tiempo en automoviles
auto<- read_tsv("auto.csv",skip = 0,col_names = FALSE) #Leemos nuestros datos
auto2<- data.frame(tiempo=seq(0,80, by= 1), supervivencia=auto$X1) #Acomodamos, con intervalos de t=.1
newauto<- data.frame(tiempo=seq(0,80, by= 1), supervivencia=1-auto2$supervivencia) #Y ordenamos en un data frame
summary(newauto) #Analizamos un poco nuestros datos.
##      tiempo   supervivencia      
##  Min.   : 0   Min.   :0.0000001  
##  1st Qu.:20   1st Qu.:0.0278637  
##  Median :40   Median :0.9828917  
##  Mean   :40   Mean   :0.6234568  
##  3rd Qu.:60   3rd Qu.:1.0000000  
##  Max.   :80   Max.   :1.0000000
carro<- tibble(tiempo=seq(0,80, by= 1),surv=c(newauto$supervivencia))
library(ggplot2)
ggplot(data = carro, aes(x = tiempo, y = surv)) +
  geom_step(color = "blueviolet") 

#Vamos a calcular la función de riesgo
riesgo4 <- carro %>%
  mutate(Surv_aux = lead(surv)) %>%
  mutate(quotien = Surv_aux/surv) %>% # Hacemos el cociente
  mutate(Risk_rate = 1-quotien) %>% #Obtenemos la tasa de fallo
  head(-1) 
library(ggplot2)
ggplot(data = riesgo4, aes(x = tiempo, y = quotien)) +
  geom_step(color = "turquoise1") +
  ggtitle("Grafica de Riesgo de Autos")

#Ahora calculemos la función de riesgo acumulado
riesgo4$Risk_rate %>% 
  cumsum() %>% 
  as_tibble() %>% 
  mutate(Time = row_number()) %>% 
  select(Time, value) %>% 
  rename("t" = Time, "H(t)" = value)
## # A tibble: 80 x 2
##        t `H(t)`
##    <int>  <dbl>
##  1     1      0
##  2     2      0
##  3     3      0
##  4     4      0
##  5     5      0
##  6     6      0
##  7     7      0
##  8     8      0
##  9     9      0
## 10    10      0
## # … with 70 more rows
library(ggplot2)
ggplot(data = riesgo4, aes(x = tiempo, y = cumsum(Risk_rate))) +
  geom_step(color = "darksalmon") +
  ggtitle("Grafica de Riesgo Acumulado de Autos")

Gráficas de los 4 archivos

library(ggplot2)
library(plotly)
plot_CS <- mezcla %>% ggplot(aes(x = tiempo, y = surv, color = "Mezcla corrosiva")) +
  geom_step(data = videojuego, aes(color = "Videojuegos")) + 
  geom_step(data = correo, aes(color = "Clientes")) +
  geom_step(data = carro, aes(color = "Autos")) + 
  geom_step() +
  labs(y = "S(t)") +
  ggtitle("Gráfica conjunto de Supervivencia") +
  scale_color_manual(values = c("black", "purple","blue","red")) 
ggplotly(plot_CS) %>%
  layout(legend = list(orientation = 'h', y = -0.2, title=list(text='Escenario: ')))
library(ggplot2)
library(plotly)
plot_CS <- riesgo1 %>% ggplot(aes(x = tiempo, y = quotien, color = "Mezcla corrosiva")) +
  geom_step(data = riesgo3, aes(color = "Videojuegos")) + 
  geom_step(data = riesgo2, aes(color = "Clientes")) +
  geom_step(data = riesgo4, aes(color = "Autos")) + 
  geom_step() +
  labs(y = "S(t)") +
  ggtitle("Gráfica conjunto de Riesgo") +
  scale_color_manual(values = c("cyan1", "azure4","lawngreen","maroon4")) 
ggplotly(plot_CS) %>%
  layout(legend = list(orientation = 'h', y = -0.2, title=list(text='Escenario: ')))
library(ggplot2)
library(plotly)
plot_CS <- riesgo1 %>% ggplot(aes(x = tiempo, y = cumsum(Risk_rate), color = "Mezcla corrosiva")) +
  geom_step(data = riesgo3, aes(color = "Videojuegos")) + 
  geom_step(data = riesgo2, aes(color = "Clientes")) +
  geom_step(data = riesgo4, aes(color = "Autos")) + 
  geom_step() +
  labs(y = "S(t)") +
  ggtitle("Gráfica conjunto de Riesgo Acumulado") +
  scale_color_manual(values = c("violet", "gold","deepskyblue","forestgreen")) 
ggplotly(plot_CS) %>%
  layout(legend = list(orientation = 'h', y = -0.2, title=list(text='Escenario: ')))
.

Integrantes: