Gibt es dokumentierte Algorithmen, um Abschnitte eines bestimmten Datensatzes in verschiedene Kurven mit der besten Anpassung zu unterteilen?
Zum Beispiel würden die meisten Menschen, die diese Datentabelle betrachten, sie leicht in drei Teile aufteilen: ein sinusförmiges Segment, ein lineares Segment und das inverse exponentielle Segment. Tatsächlich habe ich dieses mit einer Sinuswelle, einer Linie und einer einfachen Exponentialformel gemacht.
Gibt es Algorithmen zum Auffinden solcher Teile, die dann separat an verschiedene Kurven / Linien angepasst werden können, um eine Art zusammengesetzte Serie von Best-Fits von Teilmengen der Daten zu erstellen?
Beachten Sie, dass im Beispiel zwar die Enden der Segmente so gut wie in einer Reihe stehen, dies jedoch nicht unbedingt der Fall sein muss. Es kann auch zu einem plötzlichen Ruck in den Werten bei einer Segmentabschaltung kommen. Vielleicht sind diese Fälle leichter zu erkennen.
Update: Hier ist ein Bild eines kleinen Teils der realen Daten:
Update 2: Hier ist ein ungewöhnlich kleiner realer Datensatz (nur 509 Datenpunkte):
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
Hier ist die ungefähre Position einiger bekannter realer Elementkanten, die mit gepunkteten Linien markiert sind, ein Luxus, den wir normalerweise nicht haben werden:
Ein Luxus, den wir jedoch haben, ist im Nachhinein: Die Daten in meinem Fall sind keine Zeitreihen, sondern eher räumlich verwandt; Es ist nur sinnvoll, einen gesamten Datensatz (normalerweise 5000 - 15000 Datenpunkte) auf einmal zu analysieren, und nicht fortlaufend.