¿Hay algún algoritmo documentado para separar secciones de un conjunto de datos dado en diferentes curvas de mejor ajuste?
Por ejemplo, la mayoría de los humanos que miran este cuadro de datos lo dividirían fácilmente en 3 partes: un segmento sinusoidal, un segmento lineal y el segmento exponencial inverso. De hecho, hice este en particular con una onda sinusoidal, una línea y una fórmula exponencial simple.
¿Existen algoritmos existentes para encontrar partes como esa, que luego pueden ajustarse por separado a varias curvas / líneas para hacer una especie de serie compuesta de los mejores ajustes de subconjuntos de datos?
Tenga en cuenta que aunque el ejemplo tiene los extremos de los segmentos bastante alineados, este no será necesariamente el caso; También puede haber una sacudida repentina en los valores en un corte de segmento. Quizás esos casos serán más fáciles de detectar.
Actualización: Aquí hay una imagen de un poco de datos del mundo real:
Actualización 2: aquí hay un conjunto inusualmente pequeño de datos del mundo real (solo 509 puntos de datos):
4,53,53,53,53,58,56,52,49,52,56,51,44,39,39,39,37,33,27,21,18,12,19,30,45,66,92,118,135,148,153,160,168,174,181,187,191,190,191,192,194,194,194,193,193,201,200,199,199,199,197,193,190,187,176,162,157,154,144,126,110,87,74,57,46,44,51,60,65,66,90,106,99,87,84,85,83,91,95,99,101,102,102,103,105,110,107,108,135,171,171,141,120,78,42,44,52,54,103,128,82,103,46,27,73,123,125,77,24,30,27,36,42,49,32,55,20,16,21,31,78,140,116,99,58,139,70,22,44,7,48,32,18,16,25,16,17,35,29,11,13,8,8,18,14,0,10,18,2,1,4,0,61,87,91,2,0,2,9,40,21,2,14,5,9,49,116,100,114,115,62,41,119,191,190,164,156,109,37,15,0,5,1,0,0,2,4,2,0,48,129,168,112,98,95,119,125,191,241,209,229,230,231,246,249,240,99,32,0,0,2,13,28,39,15,15,19,31,47,61,92,91,99,108,114,118,121,125,129,129,125,125,131,135,138,142,147,141,149,153,152,153,159,161,158,158,162,167,171,173,174,176,178,184,190,190,185,190,200,199,189,196,197,197,196,199,200,195,187,191,192,190,186,184,184,179,173,171,170,164,156,155,156,151,141,141,139,143,143,140,146,145,130,126,127,127,125,122,122,127,131,134,140,150,160,166,175,192,208,243,251,255,255,255,249,221,190,181,181,181,181,179,173,165,159,153,162,169,165,154,144,142,145,136,134,131,130,128,124,119,115,103,78,54,40,25,8,2,7,12,25,13,22,15,33,34,57,71,48,16,1,2,0,2,21,112,174,191,190,152,153,161,159,153,71,16,28,3,4,0,14,26,30,26,15,12,19,21,18,53,89,125,139,140,142,141,135,136,140,159,170,173,176,184,180,170,167,168,170,167,161,163,170,164,161,160,163,163,160,160,163,169,166,161,156,155,156,158,160,150,149,149,151,154,156,156,156,151,149,150,153,154,151,146,144,149,150,151,152,151,150,148,147,144,141,137,133,130,128,128,128,136,143,159,180,196,205,212,218,222,225,227,227,225,223,222,222,221,220,220,220,220,221,222,223,221,223,225,226,227,228,232,235,234,236,238,240,241,240,239,237,238,240,240,237,236,239,238,235
Aquí está, trazado, con el appoximate posición de algunos conocidos elemento del mundo real bordes marcados con líneas de puntos, un lujo que normalmente no tendremos:
Sin embargo, un lujo que tenemos es la retrospectiva: los datos en mi caso no son una serie temporal, sino que están relacionados espacialmente; solo tiene sentido analizar un conjunto de datos completo (generalmente 5000 - 15000 puntos de datos) a la vez, no de manera continua.