15 votos

Cómo minimizar la suma de cuadrados residual de un ajuste exponencial?

Tengo los siguientes datos y desea un ajuste negativo en el crecimiento exponencial de la modelo:

Days <- c( 1,5,12,16,22,27,36,43)
Emissions <- c( 936.76, 1458.68, 1787.23, 1840.04, 1928.97, 1963.63, 1965.37, 1985.71)
plot(Days, Emissions)
fit <- nls(Emissions ~ a* (1-exp(-b*Days)), start = list(a = 2000, b = 0.55))
curve((y = 1882 * (1 - exp(-0.5108*x))), from = 0, to =45, add = T, col = "green", lwd = 4)

El código de trabajo y la conexión de una línea que se traza. Sin embargo, el ajuste es visualmente no es ideal, y la suma de cuadrados residual que parece ser bastante grande (147073).

¿Cómo podemos mejorar nuestra forma? ¿Los datos permiten un mejor ajuste en todos los?

No hemos podido encontrar una solución a este reto en la red. Cualquier ayuda directa o enlaces a otros sitios web/blogs es muy apreciado.

4voto

jldugger Puntos 7490

Un (negativo) exponencial ley toma la forma $y=-\exp(-x)$. Cuando se permiten cambios de unidades en el $x$ $y$ de los valores, sin embargo, dicen que a$y = \alpha y' + \beta$$x = \gamma x' + \delta$, entonces la ley se expresa como

$$\alpha y' + \beta = y = -\exp(-x) = -\exp(-\gamma x' - \delta),$$

which algebraically is equivalent to

$$y' = \frac{-1}{\alpha} \exp(-\gamma x' - \delta) - \beta = a\left(1 - u\exp(-b x')\right)$$

using three parameters $a = -\beta/\alpha$, $u = 1/(\beta\exp(\delta))$, and $b = \gamma$. We can recognize $$ as a scale parameter for $s$, $b$ as a scale parameter for $x$, and $u$ as deriving from a location parameter for $x$.

As a rule of thumb, these parameters can be identified at a glance from the plot:

  • The parameter $a$ is the value of the horizontal asymptote, a little less than $A$2000.

  • El parámetro $u$ es la relativa cantidad de la curva se eleva desde el origen a su asíntota horizontal. Aquí, el aumento es por lo tanto un poco menos de $2000 - 937$; relativamente, que trata de $0.55$ de la asíntota.

  • Debido a $\exp(-3) \approx 0.05$, cuando se $x$ es igual a tres veces el valor de $1/b$ la curva debería haber aumentado a cerca de $1-0.05$ o $95\%$ de su total. $95\%$ , el incremento de $937$ a $2000$ nos sitúa alrededor de $1950$; la exploración a través de la trama indica que esto se llevó a $20$ $25$días. Vamos a llamar a $24$ por motivos de simplicidad, de donde $b \approx 3/24 = 0.125$. (Esta $95\%$ método a ojo de una escala exponencial es estándar en algunos campos en los que el uso exponencial de las parcelas de un lote.)

Vamos a ver un ejemplo de esto sería:

plot(Days, Emissions)
curve((y = 2000 * (1 - 0.56 * exp(-0.125*x))), add = T)

Eyeball fit

No está mal para empezar! (Incluso a pesar de la tipificación 0.56 en lugar de 0.55, que fue una burda aproximación de todos modos.) Podemos pulir con nls:

fit <- nls(Emissions ~ a * (1- u * exp(-b*Days)), start=list(a=2000, b=1/8, u=0.55))
beta <- coefficients(fit)
plot(Days, Emissions)
curve((y = beta["a"] * (1 - beta["u"] * exp(-beta["b"]*x))), add = T, col="Green", lwd=2)

NLS fit

La salida de nls contiene amplia información sobre la incertidumbre de los parámetros. E. g., una simple summary proporciona los errores estándar de las estimaciones:

> summary(fit)

Parameters:
   Estimate Std. Error t value Pr(>|t|)    
a 1.969e+03  1.317e+01  149.51 2.54e-10 ***
b 1.603e-01  1.022e-02   15.69 1.91e-05 ***
u 6.091e-01  1.613e-02   37.75 2.46e-07 ***

Podemos leer y trabajar con la totalidad de la matriz de covarianza de las estimaciones, que es útil para la estimación simultánea de los intervalos de confianza (al menos para grandes conjuntos de datos):

> vcov(fit)
             a             b             u
a 173.38613624 -8.720531e-02 -2.602935e-02
b  -0.08720531  1.044004e-04  9.442374e-05
u  -0.02602935  9.442374e-05  2.603217e-04

nls admite perfil de parcelas para los parámetros, dando información más detallada acerca de su incertidumbre:

> plot(profile(fit))

Aquí está uno de los tres parcelas que muestran variación en $a$:

Profile plot

E. g., un t-valor de $2$ aproximadamente corresponde a un 95% a dos caras, intervalo de confianza; de esta parcela lugares de sus extremos, de alrededor de $1945$$1995$.

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