[R-es] Interpretación de coeficientes en un cox proportional hazards con variable strata

Francisco Viciana franciscoj.viciana en juntadeandalucia.es
Jue Feb 5 13:33:17 CET 2015


Me corrijo a mi mismo: "Si" puede tener sentido sentido estratificar por
la variable País, si no tenemos interés en estimar el efecto de
especifico asociado al país, si no en su iteración con otra variable de
exposición. Para aclararme las ideas he construido unos datos ficticios
sobre los que poder aplicar los modelos de cox alternativos que estamos
hablando:

# --------------------------------------------------------
set.seed(100)
n <- 1000
ss <- data.frame(ID=1:n,
                 tiempo =rnorm(100,m=90,sd=15),
                 caso   = sample(0:1,n,replace=T,c(.85,.15)),
                 expuesto =sample(0:1,n,replace=T,c(.3,.7)),
                 zona.     =sample(letters[1:4],n,replace=T),
                 sexo     =sample(c('H','M'),n,replace=T)
                 )
# --------------------------------------------------------

Y sobre estos datos he probado las dos alternativas de modelos
comentadas anteriormente:
 
# --------------------------------------------------------
require(survival)
coxph(Surv(tiempo,caso)~ expuesto*zona.+strata(sexo)
      ,data=ss) -> m00
coxph(Surv(tiempo,caso)~ expuesto*strata(zona.)+strata(sexo)
      ,data=ss) -> m01
# ---------------------------------------------------------------
Los coeficientes resultantes en cada modelo  y la estimación del Hazar
Ratio (RR o sobreriesgo) del grupo de expuestos, con respecto a los no
expuesto en cada zona serian estos:

### m00:
----------------------------------------------------------------------------------------------

                exp(coef)
expuesto           1.4071
zona.b               1.0564
zona.c                 0.9652
zona.d                  1.1918
expuesto:zona.b    0.8475
expuesto:zona.c    1.0117
expuesto:zona.d    0.6759


## HR de los expuestos estimada en cada zona
## (Solo dos curvas basales una para cada sexo)
## a:   1.4071                  = 1.4071
## b:   1.4071 *  0.8475  = 1.1925 
## c:   1.4071 *  1.0117  = 1.4236
## d:   1.4071 *  0.6759  = 0.9511

## m01
----------------------------------------------------------------------------------------------
 coxph(formula = Surv(tiempo, caso) ~ expuesto * strata(zona.) +
strata(sexo),
      data = ss)

                              exp(coef)
expuesto                         1.3883
expuesto:strata(zona.)zona.=b    0.8909
expuesto:strata(zona.)zona.=c    1.0136
expuesto:strata(zona.)zona.=d    0.6706


## HR de los expuestos estimada en cada zona
## (8 curvas basales 2 sexo x 4 zonas)
## a:   1.3883          = 1.3883
## b:   1.3883 * 0.8909 = 1.2368
## c:   1.3883 * 1.0136 = 1.4072
## d:   1.3883 * 0.6706 = 0.9310

#
----------------------------------------------------------------------------------------------

Ambos resultado son congruentes y las pequeñas diferencias en la
estimación del efecto se explican por las distintas hipótesis sobre las
"hazar rate" basales tomadas en cada modelo.

!! He aprendido que puedo hacer regresion de cox combinando interaccion
y estratificación en la misma variable !!


El 05/02/15 a las 10:46, Francisco Viciana escribió:
> Lo que me resulta estraño del modelo que planteas es la combinación de
> la "interacion" con la "estratificación":
>
> S1.nuevo ~ mobilityPDurG2 * strata(Countryb) +  strata(Q6),
>
> Esta claro que "coxph" se lo ha tragado, pero ni idea de los que puede
> significar.
>
> En principio, yo creo que la  estratificación se usan con varaibles
> "confusores", con efecto causal conocido, pero que no tiene interés
> directo en el análisis (por ejemplo el sexo en el análisis de las
> desigualdades sociales en supervivencia) , ya que para cada estrato se
> estima una función empírica basal  de "hazars rates", sobre las que hay
> que aplicar las "hazard ratios" derivadas de los coeficientes del
> modelo. Por lo tanto si estas interesado en disciriminal el efecto de la
> movilidad en cada uno de los paises, creo que o debes de estratificar
> por "Countryb".  Para eso el modelo que yo plantearia, seria este:
>
> S1.nuevo ~ mobilityPDurG2 * Countryb +  strata(Q6)   # puede que con -1,
> para facilitar la interpretación del efecto país
>
> A partir de este modelo, para cada país tendremos dos coeficientes, una
> el efecto del "Countryb" y otro la interacción con "mobility". En
> principio, y obviando la cuestión de la categoría país de referencia, 
> exponenciando el coeficiente de interacción
> "exp(mobilityPDurG2:Countryb(pais.uno))" se obtendría la "hazar ratio"
> (Riesgo Relativo) de los individuos con mobilityPDurG2=1 en el "país.uno"
>
>
> El 04/02/15 a las 13:54, José Luis Cañadas Reche escribió:
>> Buenas.
>>
>> Abajo pongo la  salida de un modelo de cox , dónde he estratificado
>> por una variable de país (Countryb)  y por otra (Q6). Además hay
>> interacción entre la variable mobilityPDurG2 (es una variable 0,1, y 0
>> es la categoría de referencia)  país.
>>  La categoría de referencia para país es "united kingdom".
>>
>> Mi duda surge si quiero calcular el hazard ratio para los que tienen
>> un 1 en mobilityPDurG2 en los diferentes países respecto a los que
>> tienen 0.
>>
>> En principio sería con los exp(coef), de forma que por ejemplo para el
>> Reino unido sería 0.78592 y para  Bélgica 0.65489, pero no estoy
>> seguro y no he encontrado por ahí como se interpreta cuando tengo
>> interacción entre la variable de estrato y una covariable.
>>
>> Gracias..
>>
>> summary(mod.cph.strat3)
>> Call:
>> coxph(formula = S1.nuevo ~ mobilityPDurG2 * strata(Countryb) +
>>     strata(Q6), data = datos[filtro, ], method = "breslow")
>>
>>   n= 5885, number of events= 4397
>>
>> coef exp(coef) se(coef)      z Pr(>|z|)
>> mobilityPDurG2 -0.24090   0.78592  0.06930 -3.476 0.000509 ***
>> mobilityPDurG2:strata(Countryb)Countryb=belgium -0.42328   0.65489 
>> 0.21738 -1.947 0.051514 .
>> mobilityPDurG2:strata(Countryb)Countryb=france -0.13352   0.87501 
>> 0.13945 -0.957 0.338326
>> mobilityPDurG2:strata(Countryb)Countryb=germany -0.01344   0.98665 
>> 0.13199 -0.102 0.918871
>> mobilityPDurG2:strata(Countryb)Countryb=italy 0.19129   1.21081 
>> 0.11428  1.674 0.094149 .
>> mobilityPDurG2:strata(Countryb)Countryb=netherlands -0.10238  
>> 0.90269  0.13224 -0.774 0.438819
>> mobilityPDurG2:strata(Countryb)Countryb=poland 0.17324   1.18916 
>> 0.25840  0.670 0.502579
>> mobilityPDurG2:strata(Countryb)Countryb=spain -0.49122   0.61188 
>> 0.14938 -3.288 0.001008 **
>> mobilityPDurG2:strata(Countryb)Countryb=sweden -0.28491   0.75208 
>> 0.12522 -2.275 0.022884 *
>> mobilityPDurG2:strata(Countryb)Countryb=switzerland -0.14876  
>> 0.86178  0.16448 -0.904 0.365771
>> ---
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>

-- 
+--------------------------------------------------------------
| Francisco J. Viciana Fernández
| Coordinador del Registro de Población
| Servicio de Estadísticas Demográficas y Sociales
| Instituto de Estadística y Cartografía de Andalucía
| Leonardo Da Vinci, nº 21. Isla de La Cartuja.
| 41071 SEVILLA.
| franciscoj.viciana en juntadeandalucia.es
| Tlf.: +(34) 95 503 38 21
+--------------------------------------------------------------



Más información sobre la lista de distribución R-help-es