6 votos

Suma de los valores previstos a la potencia de 10

Cuando tomo los valores predichos de un modelo lineal a la potencia de 10, su suma es siempre mucho mayor que el original. ¿Está permitido sumar, y alguien tiene una referencia de cómo debe hacerse?

Por ejemplo, digamos que x es log(masa corporal) e y es log(tamaño de la población). Si a partir de los valores predichos necesito obtener el tamaño real de la población, necesitaría la suma (10^valores predichos), pero ésta es siempre menor que los datos originales.

Ejemplo sencillo en código R:

n = 10000
x = rnorm(n)
y = x + rnorm(n)
m = lm(y ~ x)
p = predict(m)

sum(10^y)/sum(10^p)

Da resultados (si se ejecuta varias veces) de 6 a 40 veces más individuos totales en los datos originales que los predichos.

7voto

icelava Puntos 548

Vamos a trabajar con logaritmos naturales, en lugar de base 10.

Usted se encuentra con un escollo común en la distribución lognormal la expectativa de la lognormal es no el exponencial de la expectativa $\mu$ en la escala logarítmica. Hay que tener en cuenta las colas pesadas incluyendo la varianza residual y calcular $e^{\mu+\sigma^2/2}$ .

En R:

sum(exp(y))/sum(exp(p))
sum(exp(y))/sum(exp(p+summary(m)$sigma^2/2))

La última expresión saldrá alrededor de la 1.

3voto

user164061 Puntos 281

Diferencias en los promedios

Se tiene una función f(x) tal que $f(\overline{x}) \neq \overline{f(x)}$ . Así que al igual que la media al cuadrado no es igual al cuadrado de las medias también tienes que la media de una potencia no es una potencia de la media.

Usted estima el modelo $y_i = \hat{y}_i +e_i$ . Luego se compara $\overline{10^{y_i}}$ con $\overline{10^{\hat{y}_i}}$ . O escrito de otra manera se compara $10^{y_i} = 10^{\hat{y}_i+e_i}$ con $10^{\hat{y}_i}$ .

Los términos residuales $e_i$ se obtienen de forma que promedian a cero para $y_i = \hat{y}_i +e_i$ pero no se obtiene $10^{y_i} = 10^{\hat{y}_i} +e_i$ con $e_i$ media a cero. Obtendrá que hay un escalado diferente para los valores negativos y positivos porque $10^{y+a}-10^y$ es una diferencia mayor que $10^{y-a}-10^y$ .

Así que la mayoría de las veces $\overline{10^{y_i}} > \overline{10^{\hat{y}_i}}$ (incluso mientras $\overline{y_i} = \overline{\hat{y}_i}$ ), porque los residuos no "cuentan" igual después de tomar la potencia.

Ejemplo sencillo $2^1+2^{-1} = 0.5+2 = 2.5 > 2 = 2^0 + 2^0$

Siempre obtendrá $\overline{10^{y_i}} > \overline{10^{\hat{y}_i}}$ cuando todo $\hat{y}_i$ son los mismos. Por ejemplo, cuando se acaba de modelar $\hat{y}_i = a$ en lugar de $\hat{y}_i = a + b x_i$ .

Ejemplo cuando no se consigue $\overline{10^{y_i}} > \overline{10^{\hat{y}_i}}$ es (nótese el punto de datos extra con x=100):

set.seed(1)
n = 10000
x = c(rnorm(n),100)
y = x + rnorm(n+1)
m = lm(y ~ x)
p = predict(m)

sum(10^y)/sum(10^p)

que da 0,76, lo que se debe a que el punto de datos en x=100 queda muy por debajo de la línea (los otros 10000 puntos tienen mucho más peso), pero contribuye mucho cuando se toma la potencia de 10 (entonces los otros 10000 puntos tienen mucho menos peso)

Qué modelo/promedio elegir

La elección de las dos medias diferentes o la elección del modelo ( $10^{\hat{y}_i} = 10^{a + b x_i + e_i}$ frente a $10^{\hat{y}_i} = 10^{a + b x_i} + e_i$ ) variará en función del peso que se quiera dar a los distintos puntos (valores altos frente a bajos).

Vea en la siguiente imagen otro ejemplo con los puntos de datos adicionales.

set.seed(1)
n = 200
x = c(rnorm(n),log(100*c(1:5)))
y = x + c(rnorm(n),rnorm(5,-1,0.1))
m = lm(y ~ x)
p = predict(m)

sum(10^y)/sum(10^p)

two different fits

  • Una de las líneas de ajuste responde a un modelo lineal:

    $$y_i = a x_i + b + e_i$$

  • La otra es según un modelo no lineal:

    $$(10^{y_i}) = 10^b (10^{x_i})^a +e_i $$

    o reescribiendo para simplificar $v_i = (10^{y_i})$ , $u_i = (10^{x_i})$ y $c=10^b$

    $$v_i = c u_i^a +e_i$$

Se ve cómo las líneas otorgan un peso diferente a las distintas regiones. En el primer gráfico de la izquierda se ve cómo los cinco puntos de la derecha tienen poco peso en el modelo lineal. En el segundo gráfico, el de la derecha, se ve cómo los cinco puntos tienen ahora un valor mucho mayor (mientras que los 200 puntos de la izquierda apenas se ven) y los términos residuales tienen más peso.

Depende mucho de tus objetivos la representación/modelo/promedio que quieras elegir, así como del modelo original que genera los datos (cómo se distribuyen los errores).

Digamos que se quiere tener una curva ajustada para hacer predicciones de $10^{Y}$ en la gama (completa) $10^{X}$ entonces el modelo no lineal podría ser mejor, ya que el modelo lineal pone más peso en los residuos de los valores más pequeños.


Lo que se quiere hacer con la media de todos los $y_i$ o $10^{y_i}$ no está claro. Para mí no tiene sentido porque dependen del $x_i$ que puede diferir de una prueba a otra (usted dice que está calculando un tamaño de población, pero qué población es que si hay muchos $x_i$ ?) . Los parámetros del modelo parecen ser más relevantes, pero de nuevo no sé lo que estás haciendo con la media.

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