4 votos

Calcular la desviación estándar de un intervalo de confianza de riesgo proporcionado

Frecuentemente me encuentro con las razones de peligro y sus intervalos de confianza en la literatura publicada sobre ensayos clínicos. Me gustaría calcular la desviación estándar a partir de estos intervalos de confianza para un análisis que realizaré (generando extracciones aleatorias para esta razón de peligro a partir de una distribución log-normal).

Después de haber leído sobre esto durante los últimos días, mi proceso de pensamiento es que para convertir los intervalos de confianza de una razón de peligro en la desviación estándar de esa razón de peligro, haría lo siguiente:

  1. Tomar el logaritmo natural del límite superior menos el logaritmo natural del límite inferior.
  2. Dividir entre 2 veces el error estándar.
  3. Para el intervalo de confianza del 95% esto sería 2 x 1.96 = 3.92, para el intervalo de confianza del 90% esto sería 2 x 1.645 = 3.29, y para los intervalos de confianza del 99% esto sería 2 x 2.575 = 5.15.
  4. Si el tamaño de la muestra en cualquiera de los grupos estudiados, por ejemplo grupo tratado y grupo de control, es menor a 100, entonces debo asumir que los autores que informan esta razón de peligro calcularon este intervalo de confianza usando una distribución t, por lo tanto debería reemplazar los números 3.92, 3.29 y 5.15 mencionados anteriormente con números específicos de la distribución t y el tamaño de la muestra. Hago esto consultando tablas de distribución t con grados de libertad iguales al tamaño de la muestra de ambos grupos sumados, menos 2.

Así es como calcularía una desviación estándar en el lenguaje de programación R para un estudio de ejemplo que informa HR, 0.69; IC del 95%, 0.54 a 0.89 en mCRC para cetuximab más FOLFOX-4 vs FOLFOX-4 solo encontrado aquí: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7044820/pdf/bmjopen-2019-030738.pdf:

(log(0.89) - log(0.54)) / 3.92 = 0.1274623

¿Es esta la forma correcta de calcular la desviación estándar a partir de los intervalos de confianza de una razón de peligro?

EDICIÓN

Para motivar esta pregunta de manera más clara, soy un economista de la salud que estima transiciones entre estados de salud. En mi análisis, hay una probabilidad inicial y bien establecida de transición del estado de enfermedad estable al estado de enfermedad progresiva bajo un tratamiento estándar.

La literatura indica que esta probabilidad de transición disminuye con una nueva intervención médica. La literatura describe la razón de peligro para la progresión con esta nueva intervención vs. el estándar de atención en función de un ensayo clínico con pacientes con cáncer. Por lo tanto, me gustaría actualizar las probabilidades de transición para pasar de una enfermedad estable a una enfermedad progresiva bajo atención estándar utilizando esta razón de peligro, para crear probabilidades de transición para esta nueva intervención como parte de un análisis de costo-eficacia de esta nueva intervención médica.

Inicialmente, esto se hará solo con la razón de peligro informada en el ensayo clínico. Después de esto, me gustaría realizar un análisis de sensibilidad probabilístico que refleje la incertidumbre en esta razón de peligro al crear probabilidades de transición. Para hacer esto, necesito obtener extracciones aleatorias de la distribución log-normal para la razón de peligro, ya que las razones de peligro suelen estar sesgadas a menos que se normalicen en escala logarítmica.

El siguiente código se usa en el lenguaje de programación R para hacer estas extracciones:

hr_draws <- rlnorm(nsims, meanlog = log(mean), sdlog = SD). 

Por eso estoy tratando de determinar cómo crear la desviación estándar de mi razón de peligro como se indica arriba, para crear una razón de peligro probabilística.

Mis fuentes están aquí:

https://handbook-5-1.cochrane.org/chapter_7/7_7_3_2_obtaining_standard_deviations_from_standard_errors_and.htm

https://handbook-5-1.cochrane.org/chapter_7/7_7_3_3_obtaining_standard_deviations_from_standard_errors.htm

https://cran.rstudio.com/web/packages/episensr/vignettes/b_probabilistic.html

1 votos

Estrictamente hablando, es un error estándar (no desviación) pero el proceso se ve bien para mí.

1 votos

Entonces, ¿espera, no estoy generando una desviación estándar arriba? Pregunto porque necesito usar una desviación estándar para generar extracciones aleatorias de una distribución log-normal para este cociente de riesgos, es decir, si fuera a hacer esto usando R necesito una desviación estándar para incluir en mi código. Para el ejemplo anterior entonces haría lo siguiente: extracciones <- rlnorm(1000, meanlog = log(0.69), sdlog = 0.1274623). Pero tal vez lo que estoy incluyendo para la parte de desviación estándar está mal y todavía necesito calcular la desviación estándar?

1 votos

El error estándar es la desviación estándar de la distribución muestral de una estadística.

5voto

EdM Puntos 5716

En primer lugar, probablemente sea mejor abstenerse de usar la terminología "desviación estándar" en el contexto de los coeficientes de regresión, ya que existe la posibilidad de confusión en si se refiere a la desviación estándar de la distribución muestral de una estadística o la desviación estándar de algún valor entre los miembros de la población subyacente. La primera depende del tamaño de la muestra, la segunda no lo hace (aunque las estimaciones de esta sí).

El término "error estándar" es mejor aquí: tiene específicamente el primer significado, como tanto @mdewey como Wikipedia señalan. Al menos en R, la terminología "error estándar" se usa para informes de estimaciones de error en los coeficientes de regresión.

En segundo lugar, si está evaluando las razones de riesgo de los modelos de supervivencia, estas son las exponenciaciones de los coeficientes determinados por métodos de máxima verosimilitud (parcial) con normalidad asintótica asumida para las estimaciones de coeficientes en la escala original. Los estadísticos \emph{t} no intervienen en el establecimiento de sus intervalos de confianza (IC). Eso también es cierto para la mayoría de las razones de riesgo, razones de tasa y razones de respuesta que vería informadas en modelos de regresión logística o de Poisson. Es sensato verificar los métodos informados para detalles estadísticos; si la "significación" se basa en una prueba \emph{z} o una prueba de Wald, entonces se asumió normalidad.

En tercer lugar, en cuanto a su análisis de sensibilidad, probablemente será más fácil y seguro muestrear de las distribuciones normales asumidas de los coeficientes de regresión y solo pasar a la escala de razón de riesgo en la última etapa. Si va a realizar simulaciones como parte de su análisis de sensibilidad, es probable que el software asuma que está proporcionando los coeficientes de regresión que se utilizan en los valores del predictor lineal, no las razones de riesgo.

En cuarto lugar, su fórmula deseada para estimar el error estándar de la estimación del coeficiente (y por lo tanto la desviación estándar de la distribución normal correspondiente que podría usar para el análisis de sensibilidad) es esencialmente lo que ha escrito, excepto que su texto en el Paso 2 no coincide con lo que luego hace. Para una estadística distribuida normalmente, los IC simétricos del 95% (como generalmente se asume en la escala de coeficientes de regresión) están en los percentiles 2.5 y 97.5 de la distribución estimada. Retrocalculeando desde el CI superior e inferior del 95% (UCI, LCI) de una razón de riesgo proporciona una estimación del error estándar en la escala de coeficientes de regresión: $$\text{SE}=\frac{\ln \text{UCI} - \ln \text{LCI}}{2 * 1.96}$$

con el valor $1.96$ en el denominador cambiado como usted señala si el CI original fuera en cambio 90% CI o 99% CI.

0 votos

Utilizo el término SD porque el código utilizado en el lenguaje de programación R para realizar extracciones de una distribución logarítmica normal de HR solicita un SD como se muestra a continuación: hr_draws <- rlnorm(ndraws, meanlog= log(mean), sdlog = SD) Y mis propósitos aquí son realizar extracciones probabilísticas de la distribución logarítmica normal para un HR como se muestra arriba. ¿Puede mi código: (log(intervalo de confianza superior) - log(intervalo de confianza inferior)) / 2*error estándar crear la SD de la distribución de muestreo del log HR para incluir en la sección SD para hr_draws arriba para luego poder incluir el valor de HR para la media y crear estas extracciones aleatorias?

1 votos

@JamesMoore la función R rlnorm() espera valores de argumento meanlog y sdlog, que serían el log-hazard medio (no HR) y una SD en la escala de log-hazard. El sdlog debería ser el EE de la estimación del coeficiente log-hazard, al igual que en las fórmulas de ambas respuestas. Yo haría todo en la escala de log-hazard y solo exponentiaría a HR al final. El valor de "error estándar" en el denominador es incorrecto. Como indica la otra respuesta, eso debería ser el cuantil superior $\alpha/2$ de una distribución normal estándar, donde$1-\alpha$ es el percentil de intervalo de confianza. Ese valor es 1.96 para un IC del 95%.

0 votos

¿Puedes aclarar su valor de "error estándar" en el denominador está equivocado? ¿Quieres decir que porque usé 3.92 en lugar de 1.96*2? Cuando aplico (log(0.96) - log(0.86))/(2 * qnorm(1 - 0.05/2)) [1] 0.02806197 esto proporciona los mismos resultados que (log(0.96) - log(0.86)) / (2*1.96) [1] 0.02806145, ¿está bien si sigo el enfoque de (log(intervalo de confianza superior) - log(intervalo de confianza inferior)) / 2*error estándar, actualizando esto para el CI del 90%/99%? ¿O qué debería seguir después de la barra invertida en lugar de ` 2*error estándar`?

4voto

user45453 Puntos 22

Se asume que la razón de peligro de log estimada sigue una distribución normal. La razón de peligro estimada no puede seguir una distribución normal porque no puede tener valores menores a 0. Los intervalos de confianza para la razón de peligro se calculan construyendo un intervalo de confianza para el log de la razón de peligro y luego haciendo la exponencial. Como mencionaste, necesitas trabajar en la escala logarítmica para obtener tus errores estándar y hacer tu análisis, luego hacer la exponencial una vez que termines.

Los intervalos de confianza para el log HR se construyen con una distribución normal, no con una distribución $t_{df}$. Además, el tamaño de la muestra en el análisis de supervivencia se refiere al número de eventos (muertes, enfermedad progresiva, etc.), no al número total de pacientes. A menos que no haya censura, estos números no son iguales.

El error estándar de la razón de peligro de log se puede calcular a partir del intervalo de confianza con:

$$ SE = \frac{log(Upper CI) - log(Lower CI)}{2 * z_{\alpha/2}},$$

donde $z_{\alpha/2}$ es el cuantil superior de $\alpha/2$ de una distribución normal. Puedes calcular el error estándar en R con

(log(upper_ci) - log(lower_ci)) / (2 * qnorm(1 - alpha/2),

sustituyendo alpha con la tasa de error correcta (probablemente 0.05).

Si deseas calcular el error estándar de la razón de peligro (no log), puedes utilizar el método Delta. El error estándar es $$SE(\text{log HR}) * exp(\text{log HR})$$

EDICIÓN: Parece que el OP está un poco confundido acerca de la diferencia entre "error estándar" y "desviación estándar" y cómo se relaciona esto con su simulación. La desviación estándar es la raíz cuadrada de la varianza. La desviación estándar es una medida de la variabilidad en una población general (usualmente teórica). "Error estándar" se refiere a la desviación estándar de una estadística de prueba. Estos términos a veces se utilizan indistintamente, pero tienen significados diferentes. En la pregunta del OP, están calculando el error estándar de la razón de peligro de log (estimada). Luego están introduciendo esto correctamente en rlnorm() para obtener extracciones aleatorias de la distribución muestral de la razón de peligro. En términos menos precisos, el OP está usando el log HR reportado y el error estándar para simular una distribución de cuál podría ser la verdadera razón de peligro.

0 votos

Gracias. Siento que el propósito de mi pregunta debería ser aclarado. Deseo hacer extracciones aleatorias de una distribución log-normal de HR para usar en mi análisis de sensibilidad probabilístico. La función rlnorm en R pide una desviación estándar para hacerlo: hr_draws <- rlnorm(ndraws, meanlog= log(mean), sdlog = SD). Por eso uso este código: (log(intervalo de confianza superior) - log(intervalo de confianza inferior)) / 2*error estándar para crear una desviación estándar, de modo que pueda insertar esta desviación estándar en el código rlnorm con un valor de HR insertado para log(mean). ¿Este enfoque me permitirá hacer extracciones aleatorias de la distribución log-normal de un HR?

1 votos

Sí, eso dibujará correctamente muestras aleatorias de la distribución de muestreo del log HR.

0 votos

Gracias por aclarar eso, una pregunta final, para el futuro, ¿se pueden aplicar los códigos que compartí al odds ratio, risk ratio, rate ratio y response ratio así como al hazard ratio? Pensé que dado que son razones y no pueden tomar valores < 0 como dijiste, necesitaría usar (log(upper confidence interval) - log(lower confidence interval)) / 2*standard error y hr_draws <- rlnorm(ndraws, meanlog= log(mean), sdlog = SD) también en estos casos. Además, asumo que está bien colocar directamente un HR reportado en la literatura en meanlog= log(HR) ya que será modificado dentro de rlnorm?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X