LINUX.ORG.RU

Определение «скачков» на функции

 , , ,


0

1

Привет. Я занимаюсь анализом статистики и хочу спросить, есть ли какой-то математический аппарат для определения точек изменения монотонных функций на сетке. Т.е. процесс идёт гладко, а потом наступает какой-то скачок, после чего какой-то период времени функция меняет своё поведение (например интенсивно возрастает, в случае монотонно возрастающей функции), после чего процесс заканчивается и она продолжает медленно возрастать, потом в общем случае может наступить ещё какой-то процесс, который опять даст ей резкий рост и т.д.. Понятно, что точно определить такие места в общем случае невозможно, но хоть приблизительно было бы очень полезно, т.к. не было бы нужды смотреть приблизительно по графику, когда начинается внешнее или скрытое воздействие на исследуемый процесс. linux тут при том, что вся разработка ведётся в нём и с питоном. Готовые библиотеки приветствуются.

PS

для физиков поясню: например, мы разогреваем что-то в термосе (чтоб тело не охлаждалось) и время от времени к стандартному слабенькому обогревателю врубаем что-то очень мощное, что на короткий период увеличивает скорость роста температуры. Только у меня статистика, что не даёт возможность повесить ещё каких-то датчиков, но суть процесса похожая.

PPS

Для философов тоже поясню - ищется способ определять точку перехода из количества в качество, но философы в треде не приветствуются.

PPPS

Я понимаю, что это неточно и всё равно придётся придумывать что-то вроде коэффициента чувствительности, по которому будет настраиваться чувствительность к определению изменений в скорости изменений роста функции.

★★★★★

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

Величину пика определять как длительность отсчётах в течении которого знак был, скажем, отрицательный (или просто поменялся).

Если функция может просто резко ускоряться, то триггером будет превышение значения дифференциала.

anonymous ()

вычесть предыдущее значение из текущего? Сам говоришь о каком либо К которое собрался подбирать

Morin ★★★★ ()
Ответ на: комментарий от anonymous

Ну и вот когда у тебя длительность дифференциала с определённым знаком или его значение по модулю превысит какое-то заданное значение, то срабатывает триггер и даёт тебе подсказку.

anonymous ()
Ответ на: комментарий от anonymous

Дифференциал же. Когда он поменяет знак, значит обнаружен пик в принимаемом сигнале

Слова «Монотонная функция» ничего не говорят? Пиков нет, есть скачки, которые так же продолжают свой рост, не меняя знака, а выходя почти на прямую линию по окончанию процесса, но всё равно продолжая не убывать.

peregrine ★★★★★ ()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от Morin

Ну пока это самое близко похожее на правду, однако, хочется посмотреть и на другие варианты, т.к. начало роста может быть довольно плавным, как, например, у сигмоиды, при этом флуктуациии никто не отменял.

peregrine ★★★★★ ()
Ответ на: комментарий от peregrine

Для определения точек перегиба есть вторая производная. Но функция должна быть дифференцируема.

А так - как определишь сам критерий скачка, там он и будет.

grem ★★★★★ ()
Последнее исправление: grem (всего исправлений: 2)
Ответ на: комментарий от peregrine

Пробовать натянуть анализ непрерывности функции через пределы, но что за молотилка понадобится?

Morin ★★★★ ()

Может на скользящее среднее смотреть? Если разница между текущим значением и средним растет — значит скачок.

cocucka ★★★★☆ ()
Ответ на: комментарий от cocucka

не в ту степь :) на скользяшке просто делать медианный, а вот для всего остального - только портить данные

Morin ★★★★ ()

Т.е. ты хочешь, чтобы тебе рассказали, как можно использовать первую и вторую производные? Про операторы Собеля и т.п. слышал? Про лапласианы? Градиент посчитать можешь через конечные разности?

anonymous ()
Ответ на: комментарий от peregrine

Если у тебя есть шум, то сначала Гауссом сделай размывание данных. В общем, вместо лапласиана используй лапласиан гауссианы.

anonymous ()
Ответ на: комментарий от peregrine

Что флуктуации?

Есть проблема, что если шаг опроса будет слишком крупным, то можно всё пики пропустить.

grem ★★★★★ ()
Ответ на: комментарий от peregrine

Дифференциал же.

Слова «Монотонная функция» ничего не говорят?

Ускорение - это скорость изменения скорости.

Есть производная, а еще есть вторая, третья, …

anonymous ()
Ответ на: комментарий от peregrine

Можно «зафильтровать» твою функцию, и если разность показаний «фильтра» и «текущего значения» больше некоторого порога (кто сказал 3 сигма???) в течение некоторого времени, - значит был скачок.

shkolnick-kun ★★★★★ ()
Ответ на: комментарий от shkolnick-kun

Нет. В виде точек получившихся в результате расчёта

peregrine ★★★★★ ()
Последнее исправление: peregrine (всего исправлений: 1)

Первая производная, вторая производная, локальные максимумы и/или пороги. В чём проблема?

slovazap ★★★★★ ()
Ответ на: комментарий от slovazap

Первая производная

Она лесом идёт, читай что такое монотонная функция

вторая производная

Получше уже, но реагирует на мелкие выбросы, что нежелательно

peregrine ★★★★★ ()
Ответ на: комментарий от peregrine

да не дело пишет

рассмотрим точки а в с

строим прямые ав и вс

приводим вс к а

находим угол, вуаля - ускорение в пределе квантования. точку разрыва точно найдёшь

anonymous ()
Ответ на: комментарий от anonymous

точку разрыва

Э, на монотонной функции точки разрыва? Держу в курсе и на первой производной у монотонных функций знак не меняется, т.к. там только либо постоянный рост, либо постоянное уменьшение. Вторая производная да, другое дело.

peregrine ★★★★★ ()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от peregrine

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

anonymous ()
Ответ на: комментарий от peregrine

Она лесом идёт, читай что такое монотонная функция

Не знаю что ты этим хотел сказать. Анализируя первую производную можно различить участки где она «интенсивно» или «медленно» возрастает, эти слова упоминались в вопросе.

Получше уже, но реагирует на мелкие выбросы, что нежелательно

Было упомянуто слово «гладко», а про выбросы ничего не было сказано. Если бы было, были бы в дополнение слова «окна», «фильтрация» и «сглаживание».

slovazap ★★★★★ ()
Ответ на: комментарий от peregrine

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

anonymous ()
Ответ на: комментарий от anonymous

я дико извиняюсь,

поскольку, очевидно, дискуссия выходит далеко за пределы моей компетентности… но то, что на рисунке - не называется монотонной. При этом факт наличия/отсутствия монотонности никак не влияет на дифференцируемость, а уж тем более на дискретно заданную функцию Ж:-)

И таки да, первая и вторая производная. Если мешают мелкие пики (а о них пока не говорили), то их обычно удаляют разными фильтрациями, хоть Фурье, хоть Шмурье… Если вычислительный аппарат сложнее кофемолки, то там такое должно быть

sshestov ()
Ответ на: я дико извиняюсь, от sshestov

Re: я дико извиняюсь,

дискуссия выходит далеко за пределы моей компетентности

Тут дискутируют 5-звездочные гуру, подписанные на тег «теория вероятностей» и «нейронные сети». Просто вот проблемка возникла у них со «скачками» у функции. А ты лезешь со своими банальностями с производными и Фурье. Тут нужен соответствующий «уровень».

anonymous ()

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

Uncle_Bobby ()
Ответ на: комментарий от anonymous

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

Ну и можешь сбегать на википедию, почитать определение там, если мне не веришь. На всякий случай процитирую:

Фу́нкция (отображе́ние, опера́тор, преобразова́ние) — в математике соответствие между элементами двух множеств, установленное по такому правилу, что каждому элементу первого множества соответствует один и только один элемент второго множества.

Что такое множества ты надеюсь сможешь найти, никто не говорит что они не дискретны.

PS

Не веришь википедии и мне, почитай Фихтенгольца (там несколько страниц, я тебе нужные открыл), может отпустит.

peregrine ★★★★★ ()
Ответ на: комментарий от peregrine

Держу в курсе и на первой производной у монотонных функций знак не меняется, т.к. там только либо постоянный рост, либо постоянное уменьшение.

т.е. тебя только это смущает? Ну так поверни немного свою функцию по часовой стрелке и твои переходы в рост/плато превратятся в минимумы и максимумы.

Это же аналогично тому, что ты отнимешь немножечко от значения первой производной(тангенс угла касательной). т.е. была у тебя производная условно [0.1, 0.1, 0.1, 0.5, 0.5, 0.5]. «повернув» немного функцию ты получишь [-0.1, -0.1, -0.1, 0.3, 0.3, 0.3].

Но по сути в тем же успехом без всяких умозрительных поворотов ищется резкий скачок и спад в значения производной.

swelf ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.