La ecuación de una función exponencial es $ y = ae ^ {bx} $

Los datos se trazan como se muestra a continuación: Gráfica exponencial sin transformar

Transformando esto para regresión lineal: $ ln (y) = ln (a) + bx $

Esta transformación se muestra en la siguiente gráfica: Transformación

Entonces, la ecuación de regresión lineal es: $ ln (y) = -369.9778 + 0.187693x $

¿Cómo puedo transformarla nuevamente en la forma $ y = ae ^ { bx} $ ??

Mi problema está en $ ln (a) = -369.9778 $. De cómo obtener el valor $ a $.

Incluso Excel no puede obtener la ecuación correctamente, pero ¿hay una línea de tendencia? No entiendo cómo se deriva. La línea de tendencia no representa el escenario real basado en los datos en absoluto: Comportamiento incorrecto

Pero es algo exacto cuando utilizo los puntos de datos más recientes: Es más exacto cuando obtengo los datos más recientes

Los datos son los siguientes:

Year Asymptomatic AIDS Total 1984 0 2 2 1985 6 4 10 1986 18 11 29 1987 25 13 38 1988 21 11 32 1989 29 10 39 1990 48 18 66 1991 68 17 85 1992 51 21 72 1993 64 38 102 1994 61 57 118 1995 65 51 116 1996 104 50 154 1997 94 23 117 1998 144 45 189 1999 80 78 158 2000 83 40 123 2001 117 57 174 2002 140 44 184 2003 139 54 193 2004 160 39 199 2005 171 39 210 2006 273 36 309 2007 311 31 342 2008 505 23 528 2009 804 31 835 2010 1562 29 1591 2011 2239 110 2349 2012 3151 187 3338 2013 4477 337 4814 2014 5468 543 6011 2015 7328 503 7831 2016 8151 1113 9264 

Comentarios

  • No ‘ no uso Excel de forma rutinaria y ‘ no sé cuál es la línea agregada en su primer gráfico. Ciertamente, ‘ no es exponencial, ya que no es monótono. Aconsejo a los estudiantes y colegas que nunca den una curva si pueden ‘ No explique cómo se produjo. Es ‘ probablemente un polinomio o una spline.
  • Acabo de presionar exponencial en Excel. Usted ‘ tengo razón, simplemente hice clic al azar en lo que Sentí que era. Estoy tratando de averiguar cómo ajustar correctamente cualquier tipo de línea. Solo estoy familiarizado con la regresión lineal.
  • Gracias por proporcionar un archivo de Excel en otro sitio. ‘ he tomado los datos y los he incluido en su pregunta. Esa ‘ es una mejor manera de dar ejemplos, eliminando uno o dos programas más, sin usar Excel, algo que muchas personas ‘ no hacen o no ‘ no tener, y simplemente darles a las personas algo que puedan copiar y pegar en su software favorito.

Responder

Estas dos regresiones no darán valores de parámetros que se puedan transformar entre sí exactamente:

$ ln (y) ~ vs. ~ A + B ~ x $

$ y ~ vs ~ a ~ exp (b ~ x) $

porque minimizan diferentes sumas de cuadrados, es decir, los siguientes respectivamente:

$ \ Sigma_i (ln (y_i) – (A + B ~ x_i)) ^ 2 $

$ \ Sigma_i (y_i – a ~ exp (b ~ x_i)) ^ 2 $

y esos no son problemas de minimización equivalentes.

La primera regresión se puede resolver para $ A $ y $ B $ usando la regresión lineal .

Para resolver la segunda regresión, comience resolviendo la primera. Luego use $ a = exp (A) $ y $ b = B $ como valores iniciales para resolver el segundo problema de regresión usando un solucionador de regresión no lineal (es decir, en Excel que sería Solver). Además, si el modelo de regresión no lineal está lo suficientemente lejos del modelo de regresión lineal, es posible que estos valores iniciales no sean adecuados, en cuyo caso deberá probar otros valores iniciales.

Agregado

Los datos se han agregado a la pregunta, por lo que ahora podemos llevar a cabo la acción sugerida discutida en el párrafo anterior. A continuación mostramos el código R para hacer esto. Si instala R en su máquina, simplemente copie y pegue ese código en la consola R.

Primero leemos los datos en DF y luego ejecutamos un modelo lineal, es decir, regresión, de log(Total) frente a Year. Tenga en cuenta que log en R es log base e. Vemos que los coeficientes de regresión que se producen son A = -369.977814 y B = 0.187693 para el intercepto y la pendiente. Luego, extraemos la pendiente en la variable b para usarla como valor inicial en la regresión no lineal. No necesitamos la intersección como valor inicial ya que el algoritmo de regresión no lineal, plinear, solo requiere valores iniciales para los parámetros no lineales. Luego, ejecutamos la regresión no lineal de Total vs. a * exp(b * Year). Los coeficientes que produce son b = 2.838264e-01 y a = 3.117445e-245. Luego trazamos el resultado y vemos que parece razonablemente cercano a los datos.

En general, cuando se realiza una optimización no lineal, las consideraciones numéricas implican que queremos que los parámetros sean aproximadamente de la misma magnitud, lo cual no es el caso. Esto sugiere volver a parametrizar el modelo para que sea:

$ y ~ vs ~ exp (a ~ + ~ b ~ x_i) $ [modelo no lineal re-parametrizado]

y al final del código de abajo hacemos eso. Vemos que ahora los parámetros son a = -562.9959733 yb = 0.2838263 donde ahora a es como se define en la definición del modelo no lineal re-paramaterizado. Estos parámetros son valores mucho más comparables, por lo que nuestro modelo no lineal re-parametrizado parece preferible.

El gráfico sería similar al que se muestra para el primer modelo de regresión no lineal.

Lines <- "Year Asymptomatic AIDS Total 1984 0 2 2 1985 6 4 10 1986 18 11 29 1987 25 13 38 1988 21 11 32 1989 29 10 39 1990 48 18 66 1991 68 17 85 1992 51 21 72 1993 64 38 102 1994 61 57 118 1995 65 51 116 1996 104 50 154 1997 94 23 117 1998 144 45 189 1999 80 78 158 2000 83 40 123 2001 117 57 174 2002 140 44 184 2003 139 54 193 2004 160 39 199 2005 171 39 210 2006 273 36 309 2007 311 31 342 2008 505 23 528 2009 804 31 835 2010 1562 29 1591 2011 2239 110 2349 2012 3151 187 3338 2013 4477 337 4814 2014 5468 543 6011 2015 7328 503 7831 2016 8151 1113 9264" DF <- read.table(text = Lines, header = TRUE) 

Ahora ejecute esto:

# run linear regression model fit.lm <- lm(log(Total) ~ Year, DF) coef(fit.lm) ## (Intercept) Year ## -369.977814 0.187693 b <- coef(fm.lm)[[2]] b ## [1] 0.187693 # run nonlinear regresion model fit.nls <- nls(Total ~ exp(b * Year), DF, start = list(b = b), alg = "plinear") coef(fit.nls) ## b .lin ## 2.838264e-01 3.117445e-245 plot(Total ~ Year, DF) lines(fitted(fit.nls) ~ Year, DF, col = "red") a <- coef(fit.lm)[[1]] a ## [1] -369.9778 # run reparameterized nonlinear regression model fit2.nls <- nls(Total ~ exp(a + b * Year), DF, start = list(a = a, b = b)) coef(fit2.nls) ## a b ## -562.9959733 0.2838263 

captura de pantalla

Comentarios

  • Eso ‘ es correcto. En la práctica, la linealización primero no solo es más fácil de implementar porque ‘ es solo una cuestión de regresión a partir de entonces; para datos como estos, parece razonable en vista de la estructura de error implícita en el gráfico de log $ y $ en función del año, en particular, que la dispersión aparece aproximadamente uniforme en escala logarítmica. No ‘ no tenemos los datos sin procesar para verificar, pero en ejemplos como este, la primera linealización parece poco probable que sea problemática o inferior.
  • La regresión lineal no pudo dar el respuesta deseada. Ese es el punto principal de la pregunta.
  • Yo ‘ no leo la pregunta de esa manera en absoluto. El OP no ‘ no comprendió todo lo que Excel estaba haciendo (a) en general (b). (Es desconcertante que el OP haya revisado el hilo pero no esté respondiendo a ninguna de las respuestas más largas hasta ahora.)
  • La discusión en la pregunta justo al final y los gráficos adjuntos señalan que lo que fue obtenido de la regresión lineal no era lo que se quería.
  • Hay ‘ mucho que es confuso e incluso contradictorio en la pregunta. Si los datos fueran exactamente exponenciales, ‘ no importaría cómo se ajustara el modelo. Es posible que ‘ sea una elección entre un ajuste medio que está por debajo de los valores altos; un ajuste medio que les presta más atención; y pensando en un modelo bastante diferente. El OP es la autoridad sobre lo que les molesta, pero (como se dijo) ‘ t todavía no ha aclarado ningún detalle importante. Independientemente de eso, las respuestas plantean varios puntos que podrían ser de utilidad o interés para otros en este territorio.

Responder

Estás usando el año calendario como $ x $, por lo que la consecuencia inevitable es que $ a $ en $ y = a \ exp (bx) $ es, o era, el valor de $ y $ en el año $ x = 0 PS Dejando de lado el pedante punto de que no hubo un año cero, que fue el año anterior a $ 1 $ AD (CE), y la proyección mental de su curva hacia atrás debería subrayar que el valor ajustado será (¡habría sido!) Muy pequeño en el año. $ 0 $ (pero aún positivo, ya que la función exponencial lo garantiza).

No nos proporciona los datos originales para que los verifiquemos, pero no veo ninguna razón para dudar de lo que muestra. Obtengo que $ \ exp (-369.9778) $ sea $ 2.09 \ times 10 ^ {- 161 } $, muy pequeño. Por lo tanto, Excel es correcto en los dos lugares decimales que muestra. Además, deberá mostrar su resultado en notación de potencia.

Si este fuera mi problema, encajaría en términos de digamos $ a \ exp [b (x – 2000)] $; entonces $ a $ tendrá la interpretación más fácil de $ y $ cuando $ x = 2000 $ y se puede comparar con datos más fácilmente. (La precisión numérica no se ve perjudicada cualquiera, y puede recibir ayuda).

JW Tukey argumentó que deberíamos ajustar «centercepts», no interceptos, y este ejemplo subraya el punto. Autoridad: Roger Koenker en esta página suya .

El trazado en escala logarítmica sugiere que la exponencial es solo un ajuste aproximado, pero eso no es «t la pregunta.

Discusión relacionada sobre la elección del origen en ¿Tiene sentido usar una variable de fecha en una regresión?

EDITAR Dados los datos, los leí en Stata.

Ajusté $ \ text {total} = a \ exp [b (\ text {año} – 2000)] $ regresando $ \ ln (\ text {total}) $ en $ \ text {año} – 2000 $.

Eso produce una ecuación lineal de $ 5.40827 + 0.187693 (\ text {año} – 2000) $.

El «concepto central» de $ 2000 $ se transforma de nuevo en $ 223 $ más o menos. El valor de los datos era $ 123 $. Un detalle importante aquí es que $ 0.187693 $ coincide con el resultado de Excel.

I luego ajustó la misma ecuación directamente usando mínimos cuadrados no lineales y obtuvo el concepto central de $ 105.2718 $ y el coeficiente de $ 0.2838264 $. Eso es muy diferente y no es sorprendente, ya que los mínimos cuadrados no lineales no descontan t Los valores altos como lo hace la linealización por logaritmos. Su propio gráfico en escala logarítmica muestra que los valores más altos en años posteriores están subestimados al ajustar en escala logarítmica. Por el contrario, los mínimos cuadrados no lineales se inclinan hacia el otro lado.

Incluso si un exponencial pareciera encajar muy bien, no trataría de extrapolarlo mucho en el futuro.Con estos datos, donde un exponencial es mejor una aproximación aproximada de cero, y con una extrapolación más modesta de la que solicitó, la incertidumbre es seria:

ingrese la descripción de la imagen aquí

Comentarios

  • Gracias por esas referencias i ‘ leeré sobre ellos. No soy tan bueno con los fundamentos relacionados con el origen de las ecuaciones y cómo funcionan, así que aplico las herramientas incorrectamente. Bueno, supongo que ‘ es la razón por la que la mayoría de las personas encuentran difíciles las matemáticas

Respuesta

Para empezar, le sugiero que busque videos de Khan Academy sobre funciones de registro y exponenciales.

Debería estar bien simplemente haciendo a = e^(-369.9778).

Comentarios

  • No ‘ no entiendo muy bien cómo llegó a ese valor. ¿Es ‘ t log(a) = -369.9778 lo mismo que 10^(-369.9778) = a?
  • Espera, lo siento ‘ tienes razón ‘ s e^(-369.9778). Aunque no explica el comportamiento de las líneas de tendencia y la ecuación de regresión. Quizás haya ‘ algo que ‘ me falta
  • Cuando escribiste la pregunta por primera vez, pensé que era un simple problema de matemáticas. Ahora entiendo su punto.
  • Perdón por la pregunta engañosa. Cuando hice la pregunta por primera vez, también pensé que era mi álgebra defectuosa la que causaba el problema. Yo ‘ simplemente no soy tan bueno con los fundamentos de las matemáticas, tengo muchos huecos que llenar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *