Cálculo de error estándar después de una transformación logarítmica

19

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

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

Nos gustaría saber la media y el error estándar en la media, por lo 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

¡Excelente!

Sin embargo, supongamos que no necesariamente sabemos que nuestra distribución original sigue una distribución normal. Transformamos los datos y realizamos el mismo cálculo de 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 necesitamos una transformación inversa para obtener nuestra respuesta en unidades, NO en unidades de registro.

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 calculó a partir de la distribución misma o si se transformó, calculó y transformó de nuevo? Nota: los medios salieron igual independientemente de la transformación.

EDITAR # 1: en última instancia, estoy interesado en calcular una media y los intervalos de confianza para los datos no distribuidos normalmente, por lo que si puede dar alguna orientación sobre cómo calcular el IC del 95% en los datos transformados, incluida la forma de volver a transformar a sus unidades nativas , ¡Lo apreciaría!
EDICIÓN FINAL # 1

EDITAR # 2: intenté usar 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]

Entonces, eso convergió en la misma respuesta, lo cual es bueno. Sin embargo, el uso de este método no proporciona el mismo intervalo exacto usando 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". ¿Asumo que uno elegiría la estimación más conservadora?

Como ejemplo, ¿informaría que este resultado para los datos no normales (t) tiene una media de 0.92 unidades con un intervalo de confianza del 95% de [0.211, 4.79]?
EDICIÓN FINAL # 2

¡Gracias por tu tiempo!

desconcertado
fuente
1
SE es SD dividido por la raíz cuadrada de N. No solo N.
Penguin_Knight
3
¡Gracias! Arreglé ese problema. Sin embargo, el problema que tengo sigue siendo.
desconcertado el

Respuestas:

12

esd(log(Y))sd(Y)

sd(Y)sd(log(Y))

Var(g(X))(g(μX))2σX2.

Xg(X)=exp(X)

Var(exp(X))exp(μX)2σX2

sd(exp(X))exp(μX)σX

Estas nociones se trasladan a las distribuciones de muestreo.

Esto tiende a 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 desea transformar un CI para un parámetro , eso funciona transformando los puntos finales.

E(exp(X))exp(μX)(1+σX2/2)(c.exp(L),c.exp(U))L,Uc1+σX2/2

Si sus datos son aproximadamente normales en la escala logarítmica, es posible que desee tratarlos como un problema de producir un intervalo para una media lognormal.

Glen_b -Reinstate a Monica
fuente
1
Gracias Glen_b. Nunca aprendí eso en la clase de estadística.
desconcertado el
2
E[f(X)]f(μX)+f(μX)2σX2=exp(μX)(1+σX22)
exp(μx)σX2E[exp(X)]
Gracias @Dezmond. Si eso es correcto. Agregaré una corrección a mi respuesta, esa parte cerca del final está bastante destrozada.
Glen_b
0

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

Si bien puede 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 algunas razones. En cambio, use:

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

Cuál es la media geométrica multiplicada por el error estándar de registro. Esto debería aproximarse bastante bien al error estándar "natural".

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

dmp
fuente