Chris Maunder Ответов: 1

Как найти точку на графике, где наклон внезапно увеличивается?


Рассмотрим график на этом изображении: Graph.PNG (42,7 КБ)

Это ряд данных, значения которого (ось y) обычно увеличиваются с течением времени (ось x), но с довольно заметными локальными максимумами и минимумами на этом пути. Думайте об этом как о графике цен акций в плохой день волос.

В какой-то момент провалы вниз к локальным минимумам не так выражены, и весь график наклоняется вверх. Если вы проведете линию, соединяющую дно каждого провала, вы увидите четкую точку, где график внезапно становится круче.

Существует ли алгоритм, который может надежно идентифицировать эту точку?

Что я уже пробовал:

Я уже думал об этом.

1. сглаживание данных путем взятия скользящего среднего и вычисления второй производной. Когда это достигает порога, у нас есть точка. Это выглядит немного как попало

2. найти локальные минимумы, построить график из этих точек, а затем сделать вторую производную.

3. построение двух линий тренда, начинающихся с обоих концов графика. Когда наклон линии тренда отклоняется за пределы небольшого порога, просто продолжайте линию вперед и назад, используя текущий наклон. Там, где пересекаются эти две линии, и есть точка, которую я хочу.

Я предполагаю, что это решенная проблема, но пока ничего не смог найти.

Patrice T

Разве вы не должны пересекать пост в обсуждении алгоритма ?

1 Ответов

Рейтинг:
0

Peter_in_2780

Я бы подошел к этому как к ограниченной оптимизации. Возьмем две (пересекающиеся) прямые. Закрепите один якорь в начальной точке (вероятно, в середине первых "нескольких" точек или произвольного укола пера), другой аналогично в конце. Позвольте двум склонам изменяться (возможно, с дополнительным ограничением (0 < левый наклон < правый наклон) и минимизируйте разницу наименьших квадратов от ваших необработанных данных. Я не знаю, в какой пакет я бы бросил его; может быть, что-то в классе Maple.

Несколько очищая мысленный пузырь...
Пусть точка пересечения блуждает вокруг "Нижнего треугольника". (Облегчает решение о том, к какой линии подогнать точку); либо Монте-Карло, либо сделайте более целенаправленную оптимизацию. Или даже сделать поиск сетки грубой силы. Я предполагаю, что вычислительные усилия находятся в области Фемто-биткойнов.

Овации,
Питер


Chris Maunder

Интересный. Если взять суммарную разность наименьших квадратов двух линий, одна из которых закреплена с самого начала, другая-в конце, и обе заканчиваются на их пересечении, то это, безусловно, даст работоспособное решение. Это кажется немного грубой силой, но я попробую.

Peter_in_2780

Хотя я ценю математическую элегантность не меньше, чем кто-либо другой, мое инженерное мышление берет верх, когда есть конкретная проблема, которую нужно атаковать.