В настоящее время я пытаюсь анализировать большие наборы данных (более 40 000 точек данных) с помощью Matlab. Эти наборы данных имеют высокую степень высокочастотного шума, однако, к счастью, шум имеет относительно небольшую амплитуду по сравнению с общим сигналом.
По сути, я хочу найти точку, в которой набор данных «запускается». Под подъемом я имею в виду, что его градиент значительно изменяется в небольшом регионе. Однако эти сигналы, которые я анализирую, страдают от «дрейфа», когда, до точки «подъема», наклон сигналов может иметь отрицательный, нейтральный или положительный характер, однако форма графика до и после «удара» Верхняя точка, как правило, одинакова.
Например: точка «поднять» будет выглядеть примерно так:
[1,25 2,5 3,75 5 7,5 12 21 36 49 64]
Очевидно, что это чрезвычайно упрощенная версия, но данные будут следовать кривой, подобной прямой линии (сначала 5 точек данных на рисунке выше), а затем они будут следовать более кривой экспоненциального типа (точка 6 и далее).
Итак, я смотрел на реализацию алгоритма обучения машинного типа, с помощью которого я мог бы сказать Matlab, где находится точка «подъема», а также «форма» данных, где возникает точка подъема, так что в будущем может точно найти точки «поднять».
Я относительно новичок как в Matlab, так и в машинном обучении (если машинное обучение - даже лучший способ решить мою проблему), и я понятия не имею, с чего мне начать. Я надеялся, что кто-то может указать мне правильное направление, будь то примеры кода Matlab и / или какая-нибудь теория для начинающих с реализацией кода.