21 votos

Cálculo del error estándar tras una transformación logarítmica

Considere un conjunto aleatorio de números que se distribuyen normalmente:

x <- rnorm(n=1000, mean=10)

Nos gustaría conocer la media y el error estándar de la media, así que hacemos lo siguiente:

se <- function(x) { sd(x)/sqrt(length(x)) }
mean(x) # something near 10.0 units
se(x)   # something near 0.03 units

¡Genial!

Sin embargo, supongamos que no sabemos necesariamente que nuestra distribución original sigue una distribución normal. Transformamos los datos en logaritmos y realizamos el mismo cálculo del error estándar.

z <- log(x, base=10)
mean(z) # something near 1 log units
se(z)   # something near 0.001 log units

Genial, pero ahora tenemos que hacer una retrotransformación para obtener nuestra respuesta en unidades NO logarítmicas.

10^mean(z) # something near 10.0 units
10^se(z)   # something near 1.00 units

Mi pregunta: ¿Por qué, para una distribución normal, el error estándar difiere dependiendo de si se ha calculado a partir de la propia distribución o si se ha transformado, calculado y retrotransformado? Nota: las medias salieron iguales independientemente de la transformación.

¡EDIT #1: En última instancia, estoy interesado en calcular una media y los intervalos de confianza para los datos no distribuidos normalmente, así que si usted puede dar alguna orientación sobre cómo calcular el 95% de CI en los datos transformados incluyendo la forma de volver a transformar a sus unidades nativas, se lo agradecería!
FIN DE EDICIÓN #1

EDIT #2: He intentado utilizar la función cuantil para obtener los intervalos de confianza del 95%:

quantile(x, probs = c(0.05, 0.95))     # around [8.3, 11.6]
10^quantile(z, probs = c(0.05, 0.95))  # around [8.3, 11.6]

Por lo tanto, eso converge en la misma respuesta, lo cual es bueno. Sin embargo, el uso de este método no proporciona el mismo intervalo exacto utilizando datos no normales con tamaños de muestra "pequeños":

t <- rlnorm(10)
mean(t)                            # around 1.46 units
10^mean(log(t, base=10))           # around 0.92 units
quantile(t, probs = c(0.05, 0.95))                     # around [0.211, 4.79]
10^(quantile(log(t, base=10), probs = c(0.05, 0.95)))  # around [0.209, 4.28]

Qué método se consideraría "más correcto". Supongo que se elegiría la estimación más conservadora.

Como ejemplo, ¿informaría de este resultado para los datos no normales (t) como si tuviera una media de 0,92 unidades con un intervalo de confianza del 95% de [0,211, 4,79]?
FIN DE EDICIÓN #2

Gracias por su tiempo.

1 votos

El SE es la SD dividida por la raíz cuadrada de N. No sólo N.

3 votos

Gracias. He solucionado ese problema. Sin embargo, el problema que tengo sigue siendo el mismo.

17voto

AdamSane Puntos 1825

Su principal problema con el cálculo inicial es que no hay una buena razón para que $e^{\text{sd}(\log(Y))}$ debería ser como $\text{sd}(Y)$ . En general, es bastante diferente.

En algunas situaciones, se puede calcular una aproximación de $\text{sd}(Y)$ de $\text{sd}(\log(Y))$ a través de Ampliación de Taylor .

$$\text{Var}(g(X))\approx \left(g'(\mu_X)\right)^2\sigma^2_X\,.$$

Si consideramos $X$ para ser la variable aleatoria en la escala logarítmica, aquí, $g(X)=\exp(X)$

Si $\text{Var}(\exp(X))\approx \exp(\mu_X)^2\sigma_X^2$

entonces $\text{sd}(\exp(X))\approx \exp(\mu_X)\sigma_X$

Estas nociones se trasladan a las distribuciones de muestreo.

Esto suele funcionar razonablemente bien si la desviación estándar es realmente pequeña en comparación con la media, como en su ejemplo.

> mean(y)
[1] 10
> sd(y)
[1] 0.03
> lm=mean(log(y))
> ls=sd(log(y))
> exp(lm)*ls
[1] 0.0300104 

Si quiere transformar un CI para un parámetro que funciona transformando los puntos finales.

Si está tratando de transformar de nuevo para obtener una estimación puntual y un intervalo para la media en la escala original (sin registrar), también querrá desproporcionar la estimación de la media (véase el enlace anterior): $E(\exp(X))\approx \exp(\mu_X)\cdot (1+\sigma_X^2/2)$ , por lo que a ( muy ) el intervalo muestral aproximado para la media podría ser $(c.\exp(L),c.\exp(U))$ , donde $L,U$ son los límites superior e inferior de un intervalo de escala logarítmica, y $c$ es una estimación consistente de $1+\sigma_X^2/2$ .

Si sus datos son aproximadamente normales en la escala logarítmica, puede tratarlos como un problema de producción de un intervalo para una media lognormal.

2 votos

No tengo la reputación para comentar, pero por si acaso otra alma curiosa se encuentra con este post, mirando el enlace de la expansión de Taylor en Wikipedia, la estimación correcta para la media debería ser $$\begin{eqnarray*}\text{E}[f(X)] &\approx& f(\mu_X)+\frac{f^{\prime\prime}(\mu_X)}{2}\sigma_X^2\\ &=& \exp(\mu_X)\left(1 +\frac{\sigma_X^2}{2}\right) \end{eqnarray*}$$ Por lo demás, como si $\exp(\mu_x)\gg\sigma_X^2$ , podrías subestimar $\text{E}[\exp(X)]$

0 votos

Gracias @Dezmond. Sí, es correcto. Añadiré una corrección a mi respuesta, esa parte cerca del final está bastante manoseada.

1voto

Dragos Iordache Puntos 26

Parece que lo que quiere es el error estándar geométrico, similar a la media geométrica exp(mean(log(x))) .

Aunque podría parecer razonable calcular eso como:

exp(sd(log(x)/sqrt(n-1)))

Usted y otros ya han señalado que eso no es correcto por varias razones. En su lugar, utilice:

exp(mean(log(x))) * (sd(log(x))/sqrt(n-1))

Que es la media geométrica multiplicada por el error logarítmico estándar. Esto debería aproximarse bastante bien al error estándar "natural".

Fuente: https://www.jstor.org/stable/pdf/2235723.pdf

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