José Luis Cañadas Reche
2015-Feb-04 12:54 UTC
[R-es] Interpretación de coeficientes en un cox proportional hazards con variable strata
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 ---
Francisco Viciana
2015-Feb-05 09:46 UTC
[R-es] Interpretación de coeficientes en un cox proportional hazards con variable strata
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 +--------------------------------------------------------------
Francisco Viciana
2015-Feb-05 12:33 UTC
[R-es] Interpretación de coeficientes en un cox proportional hazards con variable strata
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 +--------------------------------------------------------------