La pregunta anterior lo dice todo. Básicamente, mi pregunta es para una función de ajuste genérica (podría ser arbitrariamente complicada) que no será lineal en los parámetros que estoy tratando de estimar, ¿cómo se eligen los valores iniciales para inicializar el ajuste? Estoy tratando de hacer mínimos cuadrados no lineales. ¿Hay alguna estrategia o método? ¿Se ha estudiado esto? ¿Alguna referencia? ¿Algo más que adivinar ad hoc? Específicamente, en este momento una de las formas de ajuste con las que estoy trabajando es una forma Gaussiana plus lineal con cinco parámetros que estoy tratando de estimar, como
donde (datos de abscisa) e y = log 10 (datos de ordenadas), lo que significa que en el espacio log-log mis datos se ven como una línea recta más una protuberancia que estoy aproximando por un gaussiano. No tengo ninguna teoría, nada que me guíe sobre cómo inicializar el ajuste no lineal, excepto tal vez gráficas y globos oculares como la pendiente de la línea y cuál es el centro / ancho de la protuberancia. Pero tengo más de cien de estos ajustes para hacerlo, en lugar de graficar y adivinar, preferiría algún enfoque que pueda automatizarse.
No puedo encontrar ninguna referencia, en la biblioteca o en línea. Lo único que se me ocurre es elegir aleatoriamente los valores iniciales. MATLAB ofrece elegir valores al azar de [0,1] distribuidos uniformemente. Entonces, con cada conjunto de datos, ejecuto el ajuste inicializado aleatoriamente miles de veces y luego elijo el que tiene el más alto . ¿Alguna otra (mejor) idea?
Anexo # 1
Primero, aquí hay algunas representaciones visuales de los conjuntos de datos solo para mostrarles de qué tipo de datos estoy hablando. Estoy publicando los datos en su forma original sin ningún tipo de transformación y luego su representación visual en el espacio de registro-registro, ya que aclara algunas de las características de los datos mientras distorsiona otros. Estoy publicando una muestra de datos buenos y malos.
Cada uno de los seis paneles de cada figura muestra cuatro conjuntos de datos trazados juntos en rojo, verde, azul y cian, y cada conjunto de datos tiene exactamente 20 puntos de datos. Estoy tratando de ajustar cada uno de ellos con una línea recta más un gaussiano debido a los baches que se ven en los datos.
La primera figura es algunos de los buenos datos. La segunda figura es el gráfico log-log de los mismos buenos datos de la figura uno. La tercera cifra son algunos de los datos incorrectos. La cuarta figura es el gráfico log-log de la figura tres. Hay muchos más datos, estos son solo dos subconjuntos. La mayoría de los datos (aproximadamente 3/4) son buenos, similares a los buenos datos que mostré aquí.
Ahora, algunos comentarios, por favor tengan paciencia conmigo ya que esto podría ser largo, pero creo que todos estos detalles son necesarios. Trataré de ser lo más conciso posible.
Originalmente esperaba una ley de potencia simple (que significa línea recta en el espacio de registro-registro). Cuando tracé todo en el espacio log-log, vi el inesperado aumento de alrededor de 4.8 mHz. La protuberancia se investigó a fondo y se descubrió en otros trabajos, así que no es que nos equivoquemos. Está físicamente allí y otras obras publicadas mencionan esto también. Entonces, simplemente agregué un término gaussiano a mi forma lineal. Tenga en cuenta que este ajuste debía hacerse en el espacio de registro-registro (de ahí mis dos preguntas, incluida esta).
Ahora, después de leer la respuesta de Stumpy Joe Pete a otra pregunta mía (no relacionada con estos datos en absoluto) y leer esto y esto y las referencias allí (cosas de Clauset), me doy cuenta de que no debería encajar en el log-log espacio. Así que ahora quiero hacer todo en un espacio pretransformado.
Pregunta 1: Mirando los buenos datos, sigo pensando que un lineal más un gaussiano en el espacio pretransformado sigue siendo una buena forma. Me encantaría saber de otros que tienen más experiencia en datos de lo que piensan. ¿Gaussiano + lineal es razonable? ¿Debería hacer solo un gaussiano? ¿O una forma completamente diferente?
Preguntas 2: Cualquiera que sea la respuesta a la pregunta 1, aún necesitaría (muy probablemente) un ajuste de mínimos cuadrados no lineales, por lo que aún necesito ayuda con la inicialización.
Los datos donde vemos dos conjuntos, preferimos capturar el primer golpe a alrededor de 4-5 mHz. Por lo tanto, no quiero agregar más términos gaussianos y nuestro término gaussiano debería centrarse en la primera protuberancia, que casi siempre es la protuberancia más grande. Queremos "más precisión" entre 0.8mHz y alrededor de 5mHz. No nos importan demasiado las frecuencias más altas, pero tampoco queremos ignorarlas por completo. ¿Entonces quizás algún tipo de pesaje? ¿O B se puede inicializar alrededor de 4.8mHz siempre?
Preguntas 3: ¿Qué piensan ustedes extrapolando de esta manera en este caso? Cualquier pros / contras? ¿Alguna otra idea para la extrapolación? Una vez más, solo nos interesan las frecuencias más bajas, por lo que extrapolamos entre 0 y 1mHz ... a veces frecuencias muy pequeñas, cercanas a cero. Sé que esta publicación ya está llena. Hice esta pregunta aquí porque las respuestas podrían estar relacionadas, pero si ustedes lo prefieren, puedo separar esta pregunta y hacer otra más tarde.
Por último, aquí hay dos conjuntos de datos de muestra a pedido.
0.813010000000000 0.091178000000000 0.012728000000000
1.626000000000000 0.103120000000000 0.019204000000000
2.439000000000000 0.114060000000000 0.063494000000000
3.252000000000000 0.123130000000000 0.071107000000000
4.065000000000000 0.128540000000000 0.073293000000000
4.878000000000000 0.137040000000000 0.074329000000000
5.691100000000000 0.124660000000000 0.071992000000000
6.504099999999999 0.104480000000000 0.071463000000000
7.317100000000000 0.088040000000000 0.070336000000000
8.130099999999999 0.080532000000000 0.036453000000000
8.943100000000001 0.070902000000000 0.024649000000000
9.756100000000000 0.061444000000000 0.024397000000000
10.569000000000001 0.056583000000000 0.025222000000000
11.382000000000000 0.052836000000000 0.024576000000000
12.194999999999999 0.048727000000000 0.026598000000000
13.008000000000001 0.045870000000000 0.029321000000000
13.821000000000000 0.041454000000000 0.067300000000000
14.633999999999999 0.039596000000000 0.081800000000000
15.447000000000001 0.038365000000000 0.076443000000000
16.260000000000002 0.036425000000000 0.075912000000000
La primera columna son las frecuencias en mHz, idénticas en cada conjunto de datos. La segunda columna es un buen conjunto de datos (datos buenos, figuras uno y dos, panel 5, marcador rojo) y la tercera columna es un conjunto de datos incorrectos (datos malos, figuras tres y cuatro, panel 5, marcador rojo).
Espero que esto sea suficiente para estimular una discusión más iluminada. Gracias a todos.