Introducción

La insuficiencia cardíaca es una condición clínica compleja y progresiva que afecta a millones de personas en todo el mundo. Comprender los factores que influyen en la supervivencia de los pacientes con insuficiencia cardíaca es crucial para mejorar los resultados clínicos y desarrollar estrategias de intervención más efectivas.

El presente estudio se centra en el análisis del conjunto de datos “heart_failure_clinical_records_dataset”, que contiene información detallada sobre pacientes diagnosticados con insuficiencia cardíaca. Este conjunto de datos incluye una variedad de variables clínicas, tales como la edad, la presencia de anemia, los niveles de creatina fosfoquinasa, diabetes, fracción de eyección, hipertensión arterial, recuento de plaquetas, niveles de creatinina sérica y sodio sérico, sexo, tabaquismo, tiempo de seguimiento y el evento de muerte.

El objetivo principal de este análisis es explorar la relación entre estas variables y el tiempo de supervivencia de los pacientes con insuficiencia cardíaca. Específicamente, buscamos identificar los factores que están asociados con un mayor riesgo de mortalidad y determinar si existen diferencias significativas en la supervivencia entre subgrupos de pacientes, como aquellos definidos por el sexo.

Exploración de los datos:

Descripción de las variables

Variables Continuas

  • Edad: Edad de los pacientes (años).
  • Creatinina Fosfoquinasa (CPK): Enzima presente en el cuerpo, predominante en el corazón, cerebro y músculo esquelético. Se mide la cantidad en sangre (U/L).
  • Fracción de Eyección: Porcentaje de sangre expulsado por el corazón en cada contracción (%).
  • Plaquetas: Recuento de plaquetas en la sangre (por microlitro).
  • Creatinina Sérica: Desecho metabólico en la sangre proveniente de los músculos (mg/dL).
  • Sodio Sérico: Concentración de sodio en la sangre (mEq/L).

Variables Dicotómicas

  • Anemia: Diagnóstico de anemia ( / No).
  • Diabetes: Diagnóstico de diabetes ( / No).
  • Hipertensión Arterial: Diagnóstico de hipertensión ( / No).
  • Sexo: Género biológico (Femenino / Masculino).
  • Tabaquismo: Antecedentes de consumo de tabaco ( / No).
  • Evento de Muerte: Indica si el paciente falleció ( / No).

Variable Discreta

  • Tiempo: Tiempo de seguimiento del paciente (días).

Instalar librerias

Conocer los datos

## # A tibble: 6 × 13
##     age anaemia creatinine_phosphokinase diabetes ejection_fraction
##   <dbl>   <dbl>                    <dbl>    <dbl>             <dbl>
## 1    75       0                      582        0                20
## 2    55       0                     7861        0                38
## 3    65       0                      146        0                20
## 4    50       1                      111        0                20
## 5    65       1                      160        1                20
## 6    90       1                       47        0                40
## # ℹ 8 more variables: high_blood_pressure <dbl>, platelets <dbl>,
## #   serum_creatinine <dbl>, serum_sodium <dbl>, sex <dbl>, smoking <dbl>,
## #   time <dbl>, DEATH_EVENT <dbl>
## # A tibble: 6 × 13
##     age anaemia creatinine_phosphokinase diabetes ejection_fraction
##   <dbl>   <dbl>                    <dbl>    <dbl>             <dbl>
## 1    63       1                      103        1                35
## 2    62       0                       61        1                38
## 3    55       0                     1820        0                38
## 4    45       0                     2060        1                60
## 5    45       0                     2413        0                38
## 6    50       0                      196        0                45
## # ℹ 8 more variables: high_blood_pressure <dbl>, platelets <dbl>,
## #   serum_creatinine <dbl>, serum_sodium <dbl>, sex <dbl>, smoking <dbl>,
## #   time <dbl>, DEATH_EVENT <dbl>
## [1] 299  13
##                      age                  anaemia creatinine_phosphokinase 
##                        0                        0                        0 
##                 diabetes        ejection_fraction      high_blood_pressure 
##                        0                        0                        0 
##                platelets         serum_creatinine             serum_sodium 
##                        0                        0                        0 
##                      sex                  smoking                     time 
##                        0                        0                        0 
##              DEATH_EVENT 
##                        0

Análisis descriptivo

Escritura de los datos, en formato de censura

##  [1]  4+  6+  7+  7+  8+  8+ 10+ 10+ 10+ 10+ 10+ 10+ 11+ 11+ 12  13+ 14+ 14+

Estimador de Kaplan - Meier para el tiempo de supervivencia

## Call: survfit(formula = km ~ 1, data = df, type = "kaplan-meier")
## 
##        n events median 0.95LCL 0.95UCL
## [1,] 299    203    186     148     196

El estimador de Kaplan - Meier, es un estimador no paramétrico de la función de supervivencia, con el cual podemos observar el total de individuos en el estudio, el evento, la media y los intervalos de confianza.

Gráfica de los tiempos de supervivencia

Como se observa en la gráfica a medida que aumenta el tiempo, la probabilidad de supervivencia disminuye, la cual esta desde 0 hasta 1 y el tiempo inicia en 0 hasta 300. Se observa que en el tiempo 0, la probabilidad de supervivencia es 1 y a medida que el tiempo aumenta, empieza a disminuir la probabilidad de supervivencia.

Función survfit

Utilizando la función survfit se va a estimar el comportamiento del tiempo de supervivencia dependiendo del sexo del paciente.

n events median 0.95LCL 0.95UCL
sex0 105 71 187 147 210
sex1 194 132 186 186 200

Al utilizar la función surv_fit encontramos los siguientes casos, para el primer caso el sexo 0 se tienen 105 individuos, de los cuales 71 presentaron el evento y una mediana de supervivencia de 187, con un límite de confianza inferior de 147 y el límite de confianza superior de 210. El segundo caso es el sexo 1, en el cual se observa que hay 194 individuos en el estudio, 132 presentaron el evento, con una mediana de 186 y el límite de confianza inferior de 186 y el superior de 200.

##   time n.risk n.event n.censor      surv     std.err upper     lower strata sex
## 1    8    105       0        1 1.0000000 0.000000000     1 1.0000000  sex=0   0
## 2   10    104       0        1 1.0000000 0.000000000     1 1.0000000  sex=0   0
## 3   12    103       1        0 0.9902913 0.009756214     1 0.9715350  sex=0   0
## 4   15    102       0        2 0.9902913 0.009756214     1 0.9715350  sex=0   0
## 5   16    100       1        0 0.9803883 0.014006920     1 0.9538398  sex=0   0
## 6   20     99       0        1 0.9803883 0.014006920     1 0.9538398  sex=0   0

La función surv_summary nos crea un marco de datos, en el que nos permite visualizar los tiempos en que se estiman las probabilidades de supervivencia, los números de individuos que están en riesgo, los eventos que se han presentado, los números de observaciones censuradas, la estimación de la probabilidad de supervivencia, el error estandar de la probabilidad de supervivencia, los límites de intervalo de confianza y el sexo

Resumen de la información del tiempo de supervivencia

##       records n.max n.start events    rmean se(rmean) median 0.95LCL 0.95UCL
## sex=0     105   105     105     71 168.4327  7.595082    187     147     210
## sex=1     194   194     194    132 165.6090  5.481873    186     146     200

Con la función summary(km2)$table observamos el número total de observaciones para el análisis, los individuos en riesgo al inicio del estudio, el tiempo de supervivencia promedio hasta un tiempo específico, el error estándar del tiempo de supervivencia medio restringido, el cual mide la variabilidad o incertidumbre en el tiempo medio restringido estimado, también tenemos el tiempo de supervivencia mediano, en el que se espera que el 50% de los individuos hayan experimentado el evento, finalmente tenemos los límites de confianza. La tabla que obtuvimos es complementaria a la que creamos en km2, en esta taba se adiciona el número total de las observaciones el cual corresponde a 105 para el sexo 0 y 194 para sexo 1. Se tiene que el tiempo de supervivencia promedio para el sexo 0 es 168.4327 y sexo 1 de 165.6090, con un error estándar medio de 7.595082 para sexo 0 y para sexo 1 de 5.481873.

Gráfica de kaplan - Meier de la variable sexo

Prueba de Long - Rank

Se utiliza la función survdiff para revisar el número de observaciones, lo observado, lo esperado, Chi-cuadrado por esperado, Chi-cuadrado por varianza, el Chi-cuadrado, los grados de libertad,

## Call:
## survdiff(formula = Surv(df$time, df$DEATH_EVENT) ~ sex, data = df)
## 
##         N Observed Expected (O-E)^2/E (O-E)^2/V
## sex=0 105       71     72.1   0.01593     0.026
## sex=1 194      132    130.9   0.00877     0.026
## 
##  Chisq= 0  on 1 degrees of freedom, p= 0.9
## [1] 3.841459

Se evidencia que el resultado del p=0.9, un valor considerado muy alto, lo cual nos indica que no hay evidencia estadística suficiente para rechazar la hipótesis nula

Gráfica de funciones de análisis de supervivencia

Eventos acumulados

En la gráfica anterior se presenta la probabilidad acumuda del evento, respecto al sexo 0 y sexo 1. A medida que avanza el tiempo se evidencia que la supervivencia de los grupos en el tiempo 0 a 100 ha tenido un aumento no tan significativo como el que tuvo posteriormente.

Función de riesgo acumulado

Podemos observar el aumento del riesgo total acumulado para un grupo de pacientes.

Análisis Exploratorio

Observar el comportamiento de la variable censura - event

## DEATH_EVENT
##   1   2 
##  96 203
## DEATH_EVENT
##        1        2 
## 32.10702 67.89298
## spc_tbl_ [299 × 13] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ age                     : num [1:299] 75 55 65 50 65 90 75 60 65 80 ...
##  $ anaemia                 : num [1:299] 0 0 0 1 1 1 1 1 0 1 ...
##  $ creatinine_phosphokinase: num [1:299] 582 7861 146 111 160 ...
##  $ diabetes                : num [1:299] 0 0 0 0 1 0 0 1 0 0 ...
##  $ ejection_fraction       : num [1:299] 20 38 20 20 20 40 15 60 65 35 ...
##  $ high_blood_pressure     : num [1:299] 1 0 0 0 0 1 0 0 0 1 ...
##  $ platelets               : num [1:299] 265000 263358 162000 210000 327000 ...
##  $ serum_creatinine        : num [1:299] 1.9 1.1 1.3 1.9 2.7 2.1 1.2 1.1 1.5 9.4 ...
##  $ serum_sodium            : num [1:299] 130 136 129 137 116 132 137 131 138 133 ...
##  $ sex                     : num [1:299] 1 1 1 1 0 1 1 1 0 1 ...
##  $ smoking                 : num [1:299] 0 0 1 0 0 1 0 1 0 1 ...
##  $ time                    : num [1:299] 4 6 7 7 8 8 10 10 10 10 ...
##  $ DEATH_EVENT             : num [1:299] 1 1 1 1 1 1 1 1 1 1 ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   age = col_double(),
##   ..   anaemia = col_double(),
##   ..   creatinine_phosphokinase = col_double(),
##   ..   diabetes = col_double(),
##   ..   ejection_fraction = col_double(),
##   ..   high_blood_pressure = col_double(),
##   ..   platelets = col_double(),
##   ..   serum_creatinine = col_double(),
##   ..   serum_sodium = col_double(),
##   ..   sex = col_double(),
##   ..   smoking = col_double(),
##   ..   time = col_double(),
##   ..   DEATH_EVENT = col_double()
##   .. )
##  - attr(*, "problems")=<externalptr>

Análisis NO parámetrico

## Call: survfit(formula = Surv(time, DEATH_EVENT) ~ 1)
## 
##        n events median 0.95LCL 0.95UCL
## [1,] 299     96     NA      NA      NA

Como observamos tenemos 96 eventos de los 299.

# Supervivencia por anemia

Según la gráfica, tenemos que las personas que no presentan anemia su probabilidad de supervivencia es mayor al tiempo de vida de las personas que si la presentan, para los que si presentan se tiene una media en un valor apróximado al tiempo 150, en comparación a los que no la presentan, quienes tienen una media apróximada al tiempo 200.

Supervivencia por diabetes

Según la gráfica, tenemos que las personas que no presentan diabetes su probabilidad de supervivencia es un poco mayor al tiempo de vida de las personas que si la presentan, aunque en un tiempo la probabilidad de los que estaban diágnosticados era superior, al final quienes sobrevivieron más tiempo fueron los que no tenían diabetes, adicionalmente, vemos que en el tiempo de supervivencia su media es muy cercana.

Supervivencia por Hypertension

Según la gráfica, tenemos que las personas que no presentan hipertensión su probabilidad de supervivencia es mayor al tiempo de vida de las personas que si la presentan, con una media para los que la presentan de un valor próximo a 150 y los que no presentan hipertensión su media es muy cercana al tiempo 200.

Supervivencia por sexo

De acuerdo a la gráfica, tenemos que la probabilidad de supervivencia del sexo 1 es muy cercana al sexo 0, pero es mayor al tiempo de vida del sexo 0, vemos que en el tiempo de supervivencia su media es muy cercana y es próxima al tiempo 200.

Supervivencia por smoking

De acuerdo a la gráfica, tenemos que las personas que fuman su probabilidad de supervivencia es mayor al tiempo de vida de las personas que no fuman, con una media para los que fuman de un valor próximo a 150 y los que no, su media es muy cercana al tiempo 200.

Comparación de curvas de supervivencia - test de long - rank

## Call:
## survdiff(formula = Surv(time, DEATH_EVENT) ~ anaemia, data = df, 
##     rho = 1)
## 
##             N Observed Expected (O-E)^2/E (O-E)^2/V
## anaemia=0 170     61.5     68.7     0.768      2.95
## anaemia=1 129     48.7     41.4     1.274      2.95
## 
##  Chisq= 3  on 1 degrees of freedom, p= 0.09

Para pacientes sin anemia tenemos 170 individuos, el número de eventos observados en este grupo es de 61.5, el número de eventos que se esperarían, bajo la hipótesis nula de que no hay diferencia en la supervivencia entre los grupos de anemia es de 68.7.Con la diferencia al cuadrado entre el número de eventos observados y esperados, dividida por el número de eventos esperados contribuyentes al estadístico chi-cuadrado general de 0.768 y un componente utilizado en el cálculo del estadístico de prueba de 2.95

Para pacientes con anemia tenemos 129 individuos, el número de eventos observados en este grupo es de 48.7, el número de eventos que se esperarían es de 41.4.

El valor p de 0.09 indica que no hay suficiente evidencia estadística para rechazar la hipótesis nula a un nivel de significancia típico de 0.05.

## Call:
## survdiff(formula = Surv(time, DEATH_EVENT) ~ diabetes, data = df, 
##     rho = 1)
## 
##              N Observed Expected (O-E)^2/E (O-E)^2/V
## diabetes=0 174     65.9     62.6     0.180     0.613
## diabetes=1 125     44.2     47.6     0.236     0.613
## 
##  Chisq= 0.6  on 1 degrees of freedom, p= 0.4

Para pacientes sin diabetes tenemos 174 individuos, el número de eventos observados en este grupo es de 65.9, el número de eventos que se esperarían es de 62.6.

Para pacientes con diabetes tenemos 125 individuos, el número de eventos observados en este grupo es de 44.2, el número de eventos que se esperarían es de 47.6.

El valor p de 0.4 es mucho mayor que 0,05, por lo que no se puede rechazar la hipótesis nula. Esto significa que no existe una diferencia estadísticamente significativa en la supervivencia entre pacientes diabéticos y no diabéticos.

## Call:
## survdiff(formula = Surv(time, DEATH_EVENT) ~ high_blood_pressure, 
##     data = df, rho = 1)
## 
##                         N Observed Expected (O-E)^2/E (O-E)^2/V
## high_blood_pressure=0 194     69.0     80.3      1.61      8.41
## high_blood_pressure=1 105     41.2     29.8      4.34      8.41
## 
##  Chisq= 8.4  on 1 degrees of freedom, p= 0.004

Para pacientes sin hipertensión tenemos 194 individuos, el número de eventos observados en este grupo es de 69.0, el número de eventos que se esperarían es de 80.3.

Para pacientes con hipertensión tenemos 105 individuos, el número de eventos observados en este grupo es de 41.2, el número de eventos que se esperarían es de 29.8,por lo que al comparar ambos casos tenemos que los pacientes con hipertensión tienen una peor supervivencia respecto a los pacientes sin hipertensión.

El p-valor (0.004) es menor que 0.05, lo que indica una diferencia estadísticamente significativa en la supervivencia entre pacientes con y sin hipertensión.

## Call:
## survdiff(formula = Surv(time, DEATH_EVENT) ~ sex, data = df, 
##     rho = 1)
## 
##         N Observed Expected (O-E)^2/E (O-E)^2/V
## sex=0 105     38.0     39.2    0.0382    0.0867
## sex=1 194     72.2     71.0    0.0211    0.0867
## 
##  Chisq= 0.1  on 1 degrees of freedom, p= 0.8

Los pacientes de sexo 0 tenemos 105 individuos, el número de eventos observados en este grupo es de 38.0, el número de eventos que se esperarían es de 39.2.

Los pacientes de sexo 1 tenemos 194 individuos, el número de eventos observados en este grupo es de 72.2, el número de eventos que se esperarían es de 71.0.

El valor p de 0.8 es mucho mayor que 0,05, por lo que no se puede rechazar la hipótesis nula. Esto significa que no existe una diferencia estadísticamente significativa en la supervivencia entre pacientes de sexo 0 y sexo 1.

## Call:
## survdiff(formula = Surv(time, DEATH_EVENT) ~ smoking, data = df, 
##     rho = 1)
## 
##             N Observed Expected (O-E)^2/E (O-E)^2/V
## smoking=0 203     74.1     76.0    0.0462     0.218
## smoking=1  96     36.1     34.2    0.1027     0.218
## 
##  Chisq= 0.2  on 1 degrees of freedom, p= 0.6

Los pacientes que no fuman tenemos 203 individuos, el número de eventos observados en este grupo es de 74.1, el número de eventos que se esperarían es de 76.0.

Para pacientes que fuman tenemos 96 individuos, el número de eventos observados en este grupo es de 36.1, el número de eventos que se esperarían es de 34.2.

El valor p de 0.6 es mucho mayor que 0,05, por lo que no se puede rechazar la hipótesis nula. Esto significa que no existe una diferencia estadísticamente significativa en la supervivencia entre pacientes que no consumen tabaco y los que consumen.

## Call:
## survdiff(formula = Surv(time, DEATH_EVENT) ~ anaemia + diabetes, 
##     data = df, rho = 1)
## 
##                        N Observed Expected (O-E)^2/E (O-E)^2/V
## anaemia=0, diabetes=0 98     37.1     39.8    0.1746     0.402
## anaemia=0, diabetes=1 72     24.3     29.0    0.7395     1.515
## anaemia=1, diabetes=0 76     28.8     22.8    1.5735     2.784
## anaemia=1, diabetes=1 53     19.9     18.6    0.0872     0.152
## 
##  Chisq= 3.7  on 3 degrees of freedom, p= 0.3

Los pacientes que no tienen anemia y no tienen diabetes son 98 individuos, el número de eventos observados en este grupo es de 37.1, el número de eventos que se esperarían es de 39.8.

Para pacientes que no tienen anemia y tienen diabetes son 72 individuos, el número de eventos observados en este grupo es de 24.3, el número de eventos que se esperarían es de 29.0.

Los pacientes que tienen anemia y no tienen diabetes son 76 individuos, el número de eventos observados en este grupo es de 28.8, el número de eventos que se esperarían es de 22.8.

Los pacientes que tienen anemia y tienen diabetes son 53 individuos, el número de eventos observados en este grupo es de 19.9, el número de eventos que se esperarían es de 18.6.

El valor p de 0.3 es mucho mayor que 0,05, por lo que no se puede rechazar la hipótesis nula. Esto significa que no existe una diferencia estadísticamente significativa en la supervivencia entre pacientes con anemia y diabetes.

Análisis parámetrico

Busca evaluar porque distribución de probabilidad se podrían modelar los datos

Evaluar por el método de Máxima Verosimilitud los paramétros de diferentes modelos: Estima la mayor probabilidad de encontrar parametros desconocidos poblacionales

Modelo Gompertz

El distributon Gompertz , llamado así por Benjamin Gompertz, es una distribución de probabilidad continua[0,∞) que tiene una tasa de fallas exponencialmente creciente.

## Call:
## flexsurvreg(formula = Surv(time, DEATH_EVENT) ~ 1, anc = list(), 
##     data = df, dist = "gompertz")
## 
## Estimates: 
##        est       L95%      U95%      se      
## shape  0.015420  0.013309  0.017530  0.001077
## rate   0.000783  0.000545  0.001123  0.000144
## 
## N = 299,  Events: 203,  Censored: 96
## Total time at risk: 38948
## Log-likelihood = -1159.421, df = 2
## AIC = 2322.842

rate = 0.000783 la probabilidad de que la probabilidad de muerte sea instantanea es de 1.54% y para el valor de 0.015420 se puede indicar que la presentación del evento disminuye a medida que aumenta el tiempo y tenemos 2 grados de libertad

Modelo Logístico

La regresión logística es una técnica de análisis de datos que utiliza las matemáticas para encontrar las relaciones entre dos factores de datos.

## Call:
## flexsurvreg(formula = Surv(time, DEATH_EVENT) ~ 1, data = df, 
##     dist = "llogis")
## 
## Estimates: 
##        est      L95%     U95%     se     
## shape    3.337    2.991    3.723    0.186
## scale  157.562  147.102  168.764    5.522
## 
## N = 299,  Events: 203,  Censored: 96
## Total time at risk: 38948
## Log-likelihood = -1185.753, df = 2
## AIC = 2375.507

La función de riesgo sería creciente porque el valor de shape es mayor a 1, es 3.337, el cual se encuentra en los intervalos de confianza de 2.991 y 3.723, por otro lado, el tiempo mediano de supervivencia es aproximadamente 157.6 días, el cuañ esta en los intervalos de 147.102 y 168.764, con 299 individuos en el estudio, 203 eventos y 96 censurados con un tiempo de riesgo total de 38948 y un Log-likelihood de -1185.753, 2 grados de libertad y un AIC de 2375.507.

# Modelo Exponencial

El Modelo Exponencial es una representación matemática que describe un proceso de rápido crecimiento o decaimiento, ampliamente aplicable en campos que van desde la biología a las finanzas.

## Call:
## flexsurvreg(formula = Surv(time, DEATH_EVENT) ~ 1, data = df, 
##     dist = "exp")
## 
## Estimates: 
##       est       L95%      U95%      se      
## rate  0.005212  0.004542  0.005981  0.000366
## 
## N = 299,  Events: 203,  Censored: 96
## Total time at risk: 38948
## Log-likelihood = -1270.126, df = 1
## AIC = 2542.251

rate=0.005212 por cada unidad de tiempo, la tasa promedio para que se complete el evento de muerte es de 0.005212, es decir por cada mes existe una probabilidad instántanea de que se presente el evento de muerte.

Se puede estimar a través del resultado de lambda, la tasa de riesgo 1/0.005212=191.8649 lo que implica que en promedio el evento tarda alrededor de 191.8649 días con una tasa constante de riesgo de 191.8649, el df es 1 porque la exponencial solo revisa un parámetro y el Log-likelihood, es -1270.126, me dice que tanto el modelo se esta ajustando a los datos con un AIC de 2542.251.

# Modelo Gamma Esta distribución es adecuada para las variables con valores de escala positivos que se desvían hacia valores positivos más grandes. Si un valor de datos es menor o igual que 0 o es un valor perdido, el correspondiente caso no se utilizará en el análisis.

## Call:
## flexsurvreg(formula = Surv(time, DEATH_EVENT) ~ 1, data = df, 
##     dist = "gamma")
## 
## Estimates: 
##        est      L95%     U95%     se     
## shape  4.45301  3.72209  5.32746  0.40736
## rate   0.02649  0.02176  0.03226  0.00266
## 
## N = 299,  Events: 203,  Censored: 96
## Total time at risk: 38948
## Log-likelihood = -1175.023, df = 2
## AIC = 2354.046

Con respecto al parámetro de ratio entre más grande sea el número más se acelera el tiempo de ocurrencia del evento. rate = 0.02649 en los intervalos de confianzan estan 0.02176 y 0.03226. Además, se puede observar que para el modelo gamma se reduce el tiempo de ocurrencia del evento. shape= 4.45301 Dado que la función de riesgo es creciente en el tiempo, es decir que la probabilidad de ocurrencia del evento aumenta al aumentar el tiempo dado que ya ha sobrevivido un determinado tiempo.

# Modelo Weibull

El análisis de Weibull es la técnica mayormente escogida para estimar una probabilidad basada en datos medidos o asumidos. La distribución de Weibull es útil por su habilidad para simular un amplio rango de distribuciones como la Normal, la Exponencial, etc. Las técnicas discutidas en la distribución de Weibull son similares a las usadas con las distribuciones Normal y Log-Normal2.

## Call:
## flexsurvreg(formula = Surv(time, DEATH_EVENT) ~ 1, data = df, 
##     dist = "weibull")
## 
## Estimates: 
##        est      L95%     U95%     se     
## shape    2.669    2.392    2.978    0.149
## scale  187.376  177.808  197.457    5.010
## 
## N = 299,  Events: 203,  Censored: 96
## Total time at risk: 38948
## Log-likelihood = -1163.68, df = 2
## AIC = 2331.36

El modelo Weibull muestra que la tasa de riesgo aumenta con el tiempo en 2.669, lo que indica un incremento gradual en la probabilidad de eventos y un parámetro de escala de 187.376 sugiere que, en promedio, los eventos ocurren alrededor de este tiempo. Con 203 eventos y 147 censurados, el modelo proporciona un buen ajuste a los datos, como lo indica el log-likelihood de -1047.807 y un AIC de 2099.613.

## [1] 163.3337

# Modelo Lognormal

La distribución lognormal es una distribución flexible que se relaciona estrechamente con la distribución normal. Esta distribución puede resultar particularmente útil para modelar datos que sean aproximadamente simétricos o asimétricos a la derecha.

## Call:
## flexsurvreg(formula = Surv(time, DEATH_EVENT) ~ 1, data = df, 
##     dist = "Lognormal")
## 
## Estimates: 
##          est     L95%    U95%    se    
## meanlog  5.0152  4.9437  5.0868  0.0365
## sdlog    0.5453  0.4955  0.5999  0.0266
## 
## N = 299,  Events: 203,  Censored: 96
## Total time at risk: 38948
## Log-likelihood = -1192.102, df = 2
## AIC = 2388.204

La media del logaritmo del tiempo es 5.0152 en los intervalos de confianza 4.9437 y 5.0868, con una desviación estándar del logaritmo del tiempo de 0.5453 en los intervalos de confianza 0.4955 y 0.599, con 299 individuos, 203 eventos y 96 censurados, con un AIC de 2388.204

##              Modelo      AIC
## Gompertz   Gompertz 2322.842
## llogis       llogis 2375.507
## Exp             Exp 2542.251
## Lognormal Lognormal 2388.204
## Weibull     Weibull 2331.360
## Gamma         Gamma 2354.046

Analizando los valores de AIC la distribución gompertz es la que presenta un mejor desempeño.

Visualización que compara no-parámetrico - parámetrico

##     time n.risk n.event n.censor        surv     std.err      upper
## 1      4    299       0        1 1.000000000 0.000000000 1.00000000
## 2      6    298       0        1 1.000000000 0.000000000 1.00000000
## 3      7    297       0        2 1.000000000 0.000000000 1.00000000
## 4      8    295       0        2 1.000000000 0.000000000 1.00000000
## 5     10    293       0        6 1.000000000 0.000000000 1.00000000
## 6     11    287       0        2 1.000000000 0.000000000 1.00000000
## 7     12    285       1        0 0.996491228 0.003514944 1.00000000
## 8     13    284       0        1 0.996491228 0.003514944 1.00000000
## 9     14    283       0        2 0.996491228 0.003514944 1.00000000
## 10    15    281       0        2 0.996491228 0.003514944 1.00000000
## 11    16    279       1        0 0.992919575 0.005024713 1.00000000
## 12    20    278       0        2 0.992919575 0.005024713 1.00000000
## 13    22    276       1        0 0.989322040 0.006198627 1.00000000
## 14    23    275       0        2 0.989322040 0.006198627 1.00000000
## 15    24    273       0        1 0.989322040 0.006198627 1.00000000
## 16    26    272       0        3 0.989322040 0.006198627 1.00000000
## 17    27    269       0        1 0.989322040 0.006198627 1.00000000
## 18    28    268       0        2 0.989322040 0.006198627 1.00000000
## 19    29    266       1        1 0.985602784 0.007253233 0.99971425
## 20    30    264       1        4 0.981869441 0.008186084 0.99775003
## 21    31    259       0        1 0.981869441 0.008186084 0.99775003
## 22    32    258       0        1 0.981869441 0.008186084 0.99775003
## 23    33    257       1        2 0.978048937 0.009067049 0.99558529
## 24    35    254       0        1 0.978048937 0.009067049 0.99558529
## 25    38    253       0        1 0.978048937 0.009067049 0.99558529
## 26    40    252       0        1 0.978048937 0.009067049 0.99558529
## 27    41    251       0        1 0.978048937 0.009067049 0.99558529
## 28    42    250       0        1 0.978048937 0.009067049 0.99558529
## 29    43    249       0        3 0.978048937 0.009067049 0.99558529
## 30    44    246       0        1 0.978048937 0.009067049 0.99558529
## 31    45    245       0        1 0.978048937 0.009067049 0.99558529
## 32    50    244       0        1 0.978048937 0.009067049 0.99558529
## 33    54    243       2        0 0.969999151 0.010787151 0.99072562
## 34    55    241       0        1 0.969999151 0.010787151 0.99072562
## 35    59    240       0        1 0.969999151 0.010787151 0.99072562
## 36    60    239       1        2 0.965940578 0.011573370 0.98810178
## 37    61    236       0        1 0.965940578 0.011573370 0.98810178
## 38    63    235       1        0 0.961830192 0.012334019 0.98536502
## 39    64    234       0        1 0.961830192 0.012334019 0.98536502
## 40    65    233       0        2 0.961830192 0.012334019 0.98536502
## 41    66    231       0        1 0.961830192 0.012334019 0.98536502
## 42    67    230       0        1 0.961830192 0.012334019 0.98536502
## 43    68    229       1        0 0.957630060 0.013087425 0.98251187
## 44    71    228       1        0 0.953429928 0.013805873 0.97958102
## 45    72    227       1        1 0.949229797 0.014494639 0.97658314
## 46    73    225       0        2 0.949229797 0.014494639 0.97658314
## 47    74    223       4        0 0.932203253 0.017087998 0.96395319
## 48    75    219       1        0 0.927946617 0.017690268 0.96068493
## 49    76    218       1        0 0.923689981 0.018277980 0.95738028
## 50    77    217       0        1 0.923689981 0.018277980 0.95738028
## 51    78    216       1        1 0.919413639 0.018857829 0.95403159
## 52    79    214       5        0 0.897932012 0.021619656 0.93679840
## 53    80    209       2        0 0.889339361 0.022663592 0.92973418
## 54    82    207       1        1 0.885043036 0.023175190 0.92617093
## 55    83    205       3        0 0.872091186 0.024688777 0.91532858
## 56    85    202       2        0 0.863456620 0.025671787 0.90801367
## 57    86    200       1        0 0.859139337 0.026156573 0.90433246
## 58    87    199       5        0 0.837552921 0.028525074 0.88571264
## 59    88    194       4        1 0.820283789 0.030367722 0.87058901
## 60    90    189       2        2 0.811603537 0.031285569 0.86292739
## 61    91    185       2        0 0.802829445 0.032215871 0.85515628
## 62    94    183       3        0 0.789668307 0.033599658 0.84342173
## 63    95    180       4        1 0.772120122 0.035428797 0.82764085
## 64    96    175       0        1 0.772120122 0.035428797 0.82764085
## 65    97    174       1        0 0.767682650 0.035894568 0.82363584
## 66   100    173       0        1 0.767682650 0.035894568 0.82363584
## 67   104    172       2        0 0.758756108 0.036835030 0.81556060
## 68   105    170       1        0 0.754292836 0.037304508 0.81150955
## 69   106    169       1        0 0.749829565 0.037773635 0.80744981
## 70   107    168       6        0 0.723049938 0.040587018 0.78291754
## 71   108    162       3        0 0.709660124 0.041997318 0.77054603
## 72   109    159       2        1 0.700733582 0.042940578 0.76226156
## 73   110    156       1        0 0.696241700 0.043419463 0.75808647
## 74   111    155       0        1 0.696241700 0.043419463 0.75808647
## 75   112    154       2        0 0.687199600 0.044392462 0.74966948
## 76   113    152       1        1 0.682678550 0.044880506 0.74545016
## 77   115    150       1        1 0.678127359 0.045376233 0.74120030
## 78   117    148       1        0 0.673545418 0.045879918 0.73691932
## 79   118    147       1        0 0.668963476 0.046384921 0.73263105
## 80   119    146       1        0 0.664381535 0.046891337 0.72833559
## 81   120    145       4        0 0.646053768 0.048933060 0.71108343
## 82   121    141       4        0 0.627726002 0.051005057 0.69372237
## 83   123    137       1        0 0.623144060 0.051528506 0.68936559
## 84   126    136       0        1 0.623144060 0.051528506 0.68936559
## 85   129    135       0        1 0.623144060 0.051528506 0.68936559
## 86   130    134       0        1 0.623144060 0.051528506 0.68936559
## 87   134    133       1        0 0.618458766 0.052078283 0.68492003
## 88   135    132       0        1 0.618458766 0.052078283 0.68492003
## 89   140    131       1        0 0.613737707 0.052639030 0.68043905
## 90   145    130       2        0 0.604295589 0.053768576 0.67145563
## 91   146    128       5        0 0.580690292 0.056644868 0.64887459
## 92   147    123       4        0 0.561806055 0.059007806 0.63068710
## 93   148    119       1        0 0.557084996 0.059608188 0.62612356
## 94   150    118       0        1 0.557084996 0.059608188 0.62612356
## 95   154    117       0        1 0.557084996 0.059608188 0.62612356
## 96   162    116       0        1 0.557084996 0.059608188 0.62612356
## 97   170    115       0        1 0.557084996 0.059608188 0.62612356
## 98   171    114       0        1 0.557084996 0.059608188 0.62612356
## 99   172    113       1        2 0.552155040 0.060267321 0.62138487
## 100  174    110       3        0 0.537096266 0.062346093 0.60690571
## 101  175    107       1        0 0.532076675 0.063049212 0.60206282
## 102  180    106       1        2 0.527057084 0.063757748 0.59721176
## 103  185    103       1        0 0.521940025 0.064499877 0.59227445
## 104  186    102       6        0 0.491237670 0.069086751 0.56246877
## 105  187     96       7        0 0.455418257 0.074781465 0.52730821
## 106  188     89       1        0 0.450301198 0.075630344 0.52225159
## 107  192     88       2        0 0.440067080 0.077357737 0.51211312
## 108  193     86       0        1 0.440067080 0.077357737 0.51211312
## 109  194     85       1        0 0.434889820 0.078257751 0.50698179
## 110  195     84       1        0 0.429712560 0.079168847 0.50184164
## 111  196     83       1        1 0.424535300 0.080091420 0.49669267
## 112  197     81       2        0 0.414052947 0.082019415 0.48626267
## 113  198     79       0        1 0.414052947 0.082019415 0.48626267
## 114  200     78       1        0 0.408744576 0.083028215 0.48097859
## 115  201     77       2        0 0.398127834 0.085088218 0.47038099
## 116  205     75       3        0 0.382202720 0.088292471 0.45441061
## 117  206     72       1        0 0.376894349 0.089393393 0.44906729
## 118  207     71       2        1 0.366277607 0.091648378 0.43835060
## 119  208     68       1        0 0.360891172 0.092838117 0.43291258
## 120  209     67       5        0 0.333958995 0.099108905 0.40555970
## 121  210     62       2        0 0.323186124 0.101785114 0.39454119
## 122  211     60       1        0 0.317799688 0.103163440 0.38901500
## 123  212     59       3        0 0.301640382 0.107474116 0.37236737
## 124  213     56       3        0 0.285481076 0.112077952 0.35561351
## 125  214     53       4        1 0.263935335 0.118750605 0.33310276
## 126  215     48       4        0 0.241940723 0.126473893 0.31000147
## 127  216     44       1        0 0.236442071 0.128546438 0.30418912
## 128  220     43       1        0 0.230943418 0.130682426 0.29836142
## 129  230     42       2        0 0.219946112 0.135160544 0.28665872
## 130  231     40       1        0 0.214447459 0.137511448 0.28078303
## 131  233     39       2        0 0.203450154 0.142461924 0.26898114
## 132  235     37       0        1 0.203450154 0.142461924 0.26898114
## 133  237     36       2        0 0.192147367 0.148085741 0.25685336
## 134  240     34       1        0 0.186495974 0.151065060 0.25075885
## 135  241     33       0        1 0.186495974 0.151065060 0.25075885
## 136  244     32       5        0 0.157355978 0.169138078 0.21920671
## 137  245     27       5        0 0.128215982 0.192419328 0.18695186
## 138  246     22       3        0 0.110731985 0.210243267 0.16719854
## 139  247     19       1        0 0.104903985 0.217085716 0.16053720
## 140  250     18       7        0 0.064107991 0.287192868 0.11255666
## 141  256     11       2        0 0.052451993 0.320439953 0.09829263
## 142  257      9       1        0 0.046623994 0.341424446 0.09103963
## 143  258      8       2        0 0.034967995 0.397790547 0.07625541
## 144  270      6       2        0 0.023311997 0.491498375 0.06108628
## 145  271      4       1        0 0.017483998 0.570003496 0.05343534
## 146  278      3       1        0 0.011655998 0.701120997 0.04606221
## 147  280      2       1        0 0.005827999 0.995776407 0.04103230
## 148  285      1       1        0 0.000000000         Inf         NA
##            lower
## 1   1.0000000000
## 2   1.0000000000
## 3   1.0000000000
## 4   1.0000000000
## 5   1.0000000000
## 6   1.0000000000
## 7   0.9896498299
## 8   0.9896498299
## 9   0.9896498299
## 10  0.9896498299
## 11  0.9831890410
## 12  0.9831890410
## 13  0.9773753999
## 14  0.9773753999
## 15  0.9773753999
## 16  0.9773753999
## 17  0.9773753999
## 18  0.9773753999
## 19  0.9716905051
## 20  0.9662416112
## 21  0.9662416112
## 22  0.9662416112
## 23  0.9608214703
## 24  0.9608214703
## 25  0.9608214703
## 26  0.9608214703
## 27  0.9608214703
## 28  0.9608214703
## 29  0.9608214703
## 30  0.9608214703
## 31  0.9608214703
## 32  0.9608214703
## 33  0.9497062900
## 34  0.9497062900
## 35  0.9497062900
## 36  0.9442764099
## 37  0.9442764099
## 38  0.9388574784
## 39  0.9388574784
## 40  0.9388574784
## 41  0.9388574784
## 42  0.9388574784
## 43  0.9333783728
## 44  0.9279769737
## 45  0.9226426017
## 46  0.9226426017
## 47  0.9014990726
## 48  0.8963239677
## 49  0.8911852473
## 50  0.8911852473
## 51  0.8860518343
## 52  0.8606781358
## 53  0.8506996025
## 54  0.8457414798
## 55  0.8308961990
## 56  0.8210860216
## 57  0.8162046964
## 58  0.7920118344
## 59  0.7728853526
## 60  0.7633322413
## 61  0.7537044749
## 62  0.7393407223
## 63  0.7203238994
## 64  0.7203238994
## 65  0.7155306042
## 66  0.7155306042
## 67  0.7059081000
## 68  0.7011102700
## 69  0.6963211462
## 70  0.6677602465
## 71  0.6535852179
## 72  0.6441720012
## 73  0.6394422335
## 74  0.6394422335
## 75  0.6299353295
## 76  0.6251927041
## 77  0.6204216533
## 78  0.6156215710
## 79  0.6108287796
## 80  0.6060431889
## 81  0.5869711657
## 82  0.5680081077
## 83  0.5632838704
## 84  0.5632838704
## 85  0.5632838704
## 86  0.5632838704
## 87  0.5584465792
## 88  0.5584465792
## 89  0.5535748908
## 90  0.5438530004
## 91  0.5196708619
## 92  0.5004479106
## 93  0.4956588673
## 94  0.4956588673
## 95  0.4956588673
## 96  0.4956588673
## 97  0.4956588673
## 98  0.4956588673
## 99  0.4906382518
## 100 0.4753166669
## 101 0.4702259952
## 102 0.4651435053
## 103 0.4599580320
## 104 0.4290272857
## 105 0.3933293349
## 106 0.3882633852
## 107 0.3781567492
## 108 0.3781567492
## 109 0.3730492090
## 110 0.3679505045
## 111 0.3628606444
## 112 0.3525663242
## 113 0.3525663242
## 114 0.3473587614
## 115 0.3369731658
## 116 0.3214689903
## 117 0.3163208599
## 118 0.3060547523
## 119 0.3008515890
## 120 0.2749992389
## 121 0.2647360346
## 122 0.2596214599
## 123 0.2443471899
## 124 0.2291798333
## 125 0.2091302408
## 126 0.1888226995
## 127 0.1837832077
## 128 0.1787592424
## 129 0.1687591874
## 130 0.1637838019
## 131 0.1538842643
## 132 0.1538842643
## 133 0.1437419814
## 134 0.1387019763
## 135 0.1387019763
## 136 0.1129568712
## 137 0.0879335355
## 138 0.0733354043
## 139 0.0685501315
## 140 0.0365134741
## 141 0.0279900072
## 142 0.0238774781
## 143 0.0160350680
## 144 0.0088964204
## 145 0.0057207489
## 146 0.0029495394
## 147 0.0008277765
## 148           NA