5 votos

Encontrar los valores iniciales de los parámetros para el modelo Gompertz con intercepción

Tengo los siguientes datos:

y x
1275 230
1350 235
1650 250
2000 277
3750 522
4222 545
5018 625
6125 713
6200 735
8150 820
9975 992
12200 1322
12750 1900
13014 2022
13275 2155

Me gustaría encontrar valores iniciales razonables para el modelo

$$y=\alpha+\beta_1\text{exp}(-\beta_2 e^{-\beta_3 x})+\epsilon$$

Lo que sé:

Para el modelo Gompertz, el punto de inflexión satisface

$$x=\frac{\text{log}(\beta_2)}{\beta_3}$$

Para el modelo Gompertz tenemos

$$\lim_{x\rightarrow\infty} \beta_1\text{exp}(-\beta_2 e^{-\beta_3 x})=\beta_1$$

así que presumiblemente con una intercepción tenemos

$$\lim_{x\rightarrow\infty} \alpha+\beta_1\text{exp}(-\beta_2 e^{-\beta_3 x})=\alpha+\beta_1$$

por lo que podemos establecer $\alpha+\beta_1=13275$ el valor máximo de $y$ en el conjunto de datos.

Sin embargo, no consigo combinar lo que sé para encontrar los valores iniciales.

Me gustaría encontrar valores iniciales razonables y no depender de la especificación de una parrilla exhaustiva de valores.

Se agradecerá cualquier idea o sugerencia.

Actualización:

Sigo leyendo wikipedia que el punto medio se encuentra

$${\displaystyle x_{\text{hwp}}=-{\frac {\ln\left(\frac{ln(2)}{\beta_2}\right)}{\beta_3}}}$$

Dejo que $x_{\text{hwp}}=713$ la mediana del $x$ 's.

Como ya he dicho, tengo $$x=\frac{\text{log}(\beta_2)}{\beta_3}$$

Dejo que $x=1000$ ya que un gráfico de los datos muestra que un posible punto de inflexión está alrededor de ahí.

Por software, este sistema de ecuaciones da como resultado $\beta_2=0.279$ y $\beta_3=-0.0013$ .

Decidí (al azar) dejar que $\alpha=13275$ y $\beta_1=-13275$ , donde $13275$ es el valor máximo de $y$ .

El modelo converge después de 15 iteraciones a

$$\hat{y}=12934.4-14349.2\cdot\text{exp}(-0.1214e^{0.00257x})$$

que están razonablemente cerca de mis estimaciones iniciales. No estoy seguro de por qué tendría sentido tener $\hat{\alpha}=13275$ y $\hat{\beta_1}=-13275$ sin embargo.

1voto

Marius Puntos 27452

Una situación típica en la modelización estadística no lineal es que al menos algunos de los parámetros de interés para el modelizador no son buenos parámetros para utilizar en la parametrización del modelo. He descubierto que es realmente difícil convencer a mucha gente de que debe parametrizar su modelo en términos de parámetros en los que no tienen interés. Pues bien. Sin embargo, a menudo resulta ser una buena idea, porque estos nuevos parámetros conducen a un esquema de estimación más fácil y estable. Una vez estimados estos parámetros sin interés, se pueden calcular los parámetros de interés a partir de ellos. Así es como funciona.

paso1: reescalar el problema para que $x(15)=1$ y $y(15)=1$ este es un buen consejo estándar para cualquier modelo cuando es posible.

paso2: sustituir las variables independientes $\alpha$ y $\beta_1$ con nuevas variables independientes $y_1$ y $y_n$ . Nótese que se trata de parámetros y no de observaciones. Son las predicciones observadas $y$ valores para $x(1)$ y $x(15)$ . Sin embargo, tenemos muy buenas estimaciones iniciales para ellos, es decir, los valores observados $y(1)$ y $y(n)$ para los valores $x(1)$ y $x(n)$ . Ahora bien, como ha reescalado el $y$ es un buen valor inicial para $y_n$ es 1,0 para $y_1$ es 0,096045. Se puede utilizar casi cualquier valor inicial razonable para $\beta_2$ y $\beta_3$ pero ambos deberían ser $>0$ , digamos que $\beta_2=0.1$ , $\beta_3=0.1$ No es en absoluto sensible a estos valores iniciales. Los valores iniciales $\beta_2=10$ , $\beta_3=10$ convergen a la misma solución.

Paso 3: Resolver el sistema lineal

\begin{align} y_1&=\alpha+\beta_1\text{exp}(-\beta_2 e^{-\beta_3 x(1)}) \\ y_n&=\alpha+\beta_1\text{exp}(-\beta_2 e^{-\beta_3 }) \\ \end{align}

para $\alpha$ y $\beta_1$ en términos de $y_1,y_n,\beta_2,$ y $\beta_3$ Esto es sólo un poco de álgebra matricial. En cualquier sistema que soporte el álgebra matricial. Se forma la matriz $M$ $$ M= \begin{bmatrix} 1&\exp(-\beta_2 e^{-\beta_3 x(1)}) \\ 1&\exp(-\beta_2 e^{-\beta_3})\ \ \\ \end{bmatrix} $$ Entonces $$ \begin{bmatrix} \alpha \\ \beta_1 \\ \end{bmatrix} = M^{-1} \begin{bmatrix} y_1 \\ y_n \\ \end{bmatrix} $$

Ahora la minimización se realiza en dos fases. En la primera fase $\beta_2$ y $\beta_3$ se estiman para los valores fijos de $y_1$ y $y_n$ . En la segunda fase se estiman los cuatro parámetros. Este es el gráfico de los datos ajustados. gompertz model fit

Las estimaciones de los parámetros originales son 1403.9062 11799.399 9.8326183 0.0034059501 Obsérvese que en ningún momento se ha tenido que mirar ningún aspecto de los datos. La única suposición que se hace es que se debe utilizar una curva de Gompertz. Todo lo demás es automático. Este mismo procedimiento funciona para muchos tipos de curvas de crecimiento. Utilicé el AD Model Builder para ajustar el modelo, pero se puede hacer fácilmente en R (así que debe ser sencillo).

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