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

José Luis Cañadas Reche canadasreche en gmail.com
Jue Feb 5 14:27:14 CET 2015


Gracias por  los comentarios Fran.

El tema era porque si no estratificaba por país sino que consideraba la 
interacción con movilidad no se me cumplían las hipótesis de hazard 
proportionals al estratificar por Q6 pero no por país.

Me sale que hay diferentes hazards basales por país y por Q6, pero que 
el efecto de movilidad cambia por país. Mi interés es en movilidad más 
que en país o en q6, pero probaré con algo como

S1.nuevo ~ mobilityPDurG2 * Countryb + strata(Countryb) +  strata(Q6),

Saludos.

El 05/02/15 a las 13:33, Francisco Viciana escribió:
> 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
>>>



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