Чи існують якісь задокументовані алгоритми для розділення розділів даного набору даних на різні криві, що найкраще підходять?
Наприклад, більшість людей, які дивляться на цю діаграму даних, легко поділяють її на 3 частини: синусоїдальний сегмент, лінійний сегмент і зворотний експоненціальний сегмент. Насправді я зробив саме це з синусоїдою, лінією та простою експоненціальною формулою.
Чи існують алгоритми пошуку таких деталей, які потім можуть бути окремо пристосовані до різних кривих / ліній, щоб зробити своєрідну складову серію найкращих підмножин даних?
Зауважте, що хоча приклад має кінці сегментів в значній мірі вирівняні, це не обов'язково буде так; також може бути різкий поштовх значень при відсічці сегмента. Можливо, ці випадки буде легше виявити.
Оновлення: Ось зображення невеликого фрагмента реальних даних:
Оновлення 2: ось незвичайно невеликий набір реальних даних (лише 509 точок даних):
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
Ось це, накреслено, з орієнтовним положенням деяких відомих реальних елементів елементів реального світу, позначених пунктирними лініями, розкоші у нас зазвичай не буде:
Однак у нас є одна розкіш - це задні уявлення: дані в моєму випадку - це не часовий ряд, а досить просторовий; має сенс аналізувати цілий набір даних (зазвичай 5000 - 15000 точок даних) одразу, а не постійно.