LINUX.ORG.RU

Поиск точки изгиба в одномерном массиве

 , , ,


3

1

Есть шумная кривая, описывающая синаптический ток:

http://i.stack.imgur.com/RyH5g.png

В ней три фазы: покой, нарастание и спад. Нужно найти точку начала фазы нарастания (помечена красным). Куда копать? Если бы не шум, это была бы тупо точка отклонения от прямой, а так я в растерянности...

★★★★★

Ответ на: комментарий от emulek

Хотя... Неплохо-бы узнать, ОТКУДА этот шум берётся, его физическую природу?

Шум от одиночных каналов, шум от неидеальной цепи (контакт электрода с мембраной может «подсвистывать»), шум усилителя, цифровой шум АЦП, иногда ЭМ-наводки. Может, ещё что по мелочи.

Axon ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Ты как всегда эпичен. Брать численно производную от функции с шумом — отличная идея!

я беру не просто производную, а её среднее значение по малому интервалу. К тому же этот шум уже уменьшен в 1000 раз усреднением результатов.

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

а что за картинка в первом посте? Это усреднённое из 1000?

Да.

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

Так это дифференциал, а не производная.

это численная производная. А dx/dy является «обычной» производной в данной точке. Т.е. моя численная стремится к обычной производной когда Δ стремится к нулю. Но это так только если шума нет.

Если шум есть, то численная производная стремится до некоторого значения Δ, а потом обращается в ☣(т.е. не имеет смысла). Нужное значение Δ выбирается эмпирически, и оно зависит от природы шума(не только его амплитуды-частоты, но и от статистических особенностей)

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

Шум от одиночных каналов, шум от неидеальной цепи (контакт электрода с мембраной может «подсвистывать»), шум усилителя, цифровой шум АЦП, иногда ЭМ-наводки. Может, ещё что по мелочи.

ты меня не понял: шум зависит от фазы синапса(или чего там у вас?)?

Похоже по картинке, что нет. Я угадал?

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

я беру не просто производную, а её среднее значение по малому интервалу

Сразу видно специалиста по численным методам.

К тому же этот шум уже уменьшен в 1000 раз усреднением результатов.

Невероятно. То есть ты всерьёз считаешь, что шум — это нечто, добавляющееся к всегда неизменной кривой? Невероятно.

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

я беру не просто производную, а её среднее значение по малому интервалу

Сразу видно специалиста по численным методам.

сразу видно балобола — всё обосрал, а по делу ни слова.

Невероятно. То есть ты всерьёз считаешь, что шум — это нечто, добавляющееся к всегда неизменной кривой? Невероятно.

демагог как он есть: придумал «всегда неизменную кривую о которой говорил emulek». Теперь будешь доказывать, что её нет?

Да иди ты. Я лучше займусь чем-то полезным. От тебя всё равно не дождёшься ничего умного.

emulek
()

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

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

Тогда ему надо снимать многаграфиков. Это было бы самое лучшее. А иначе - только гадать приближенно

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

Тебе нужно найти касательную в этой точке

Тут выше говорят, что численное дифференцирование шумных кривых не есть гуд.

Axon ★★★★★
() автор топика

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

WRG ★★★★
()

Если кривая одно «состояние» замеренно один раз, то бери маленькие отрезки и считай среднеквадратичное отклонение на нём. Больше какого-то числа - пошел рост. Но это всё фигня, надо намерить много раз

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

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

Вообще-то, не. Ещё и шум будет низкочастотный, и тогда его от сигнала вообще фиг отличишь.

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

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

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

Одиночные ионные каналы.

блин! Я вообще смутно помню, что такое «синапс». Биологию я знаю на уровне средней школы. Точнее знал 30 лет назад.

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

Кто все эти люди?

«Метод половинного деления» и «Метод золотого сечения»

Не биофака, наверное.

... ты же знаешь, как делать уколы? Там самый натуральный МПД

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

численное дифференцирование шумных кривых не есть гуд.

…а ты именно этого и желаешь.

выше говорят

говорят, что в моськве кур доят. А пришли — сисег не нашли.

«изгиб» это и есть изменение первой производной(aka касательной. Но «касательная» плохое слово, ибо для зашумлённой кривой она не имеет смысла. Имеет смысл только численная производная до определённого предела)

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

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

да, но и «изгиб» будет не в том месте.

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

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

Тебе обязательно искать именно точку перегиба? Почему нельзя сфитировать райз прямой и посмотреть где она пересекает ноль. Скажем взять интервал по вертикали 10-90% от максимума где оно точно выше шумов (у тебя ниже) и до того места где уже вершина начинается. Ну да, будет систематическая ошибка, но мне кажется ее можно скомпенсировать амплитудой. В качестве амплитуды можно тупо сумму сигнала взять или значение на вершине, что покатит.

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

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

«Метод половинного деления» и «Метод золотого сечения»

у нас первое называлось «дихотомия». А не МПД.

Только к чему ты это всё сказал? Покажи, как тут дихотомию применять?

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

уважаемый, прочитай первый пост: в интересующем ТСа диапазоне его функция строго монотонна.

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

Тебе обязательно искать именно точку перегиба? Почему нельзя сфитировать райз прямой и посмотреть где она пересекает ноль. Скажем взять интервал по вертикали 10-90% от максимума где оно точно выше шумов (у тебя ниже) и до того места где уже вершина начинается.

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

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

Для этого надо знать где кончается горизонтальный участок. ☺

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

ищешь экстремум

А нафига мне экстремум?

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

а по делу ни слова.

Численная производная от экспериментальных данных — это азы. Человеку с минимальным опытом в области такое бы даже в голову не пришло — о недопустимости такого подхода говорят сразу, когда про обратную задачу рассказывают. Так что по делу тут и говорить не надо. Ты уже всё показал. Просто тебе-то кажется, что ты умные вещи пишешь, но выглядит это как бред. Я просто сказал тебе об этом прямым текстом.

придумал «всегда неизменную кривую о которой говорил emulek»

Я сложил два и два. Из «1000 раз» это следует напрямую.

Я лучше займусь чем-то полезным.

Давно пора. Я с нетерпением жду от тебя чего-то полезного. Дождусь ли?

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

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

А какой взамен предлагают?

Axon ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Численная производная от экспериментальных данных

ты читать умеешь? Это НЕ экспериментальные данные. А выборка тысячи экспериментов(независимых надо думать).

Человеку с минимальным опытом в области такое бы даже в голову не пришло — о недопустимости такого подхода говорят сразу, когда про обратную задачу рассказывают. Так что по делу тут и говорить не надо. Ты уже всё показал. Просто тебе-то кажется, что ты умные вещи пишешь, но выглядит это как бред. Я просто сказал тебе об этом прямым текстом.

ты перешёл на личности. И всё.

Мы вернёмся к задаче ТСа? да/нет?

Если нет, то пнх. Мне больше нечего тебе сказать.

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

А какой взамен предлагают?

Аппроксимацию функции чем-нибудь гладким и вычисление производных от неё. Ну и ещё регуляризацию какую-нибудь, чтобы не свалиться в оверфиттинг слишком сложными функциями. IMHO вот этот вариант у тебя просто идеальный получился: http://i.imgur.com/IR34F83.png

i-rinat ★★★★★
()
Ответ на: комментарий от emulek

Это НЕ экспериментальные данные.

Вау, какие новости.

А выборка тысячи экспериментов(независимых надо думать).

Не совсем. Это усреднённый набор индивидуальных событий из одной записи.

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

Для этого надо знать где кончается горизонтальный участок.

с аналитической т.з. — нигде. Миллион лет назад УЖЕ началось отклонение.

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

emulek
()
Ответ на: комментарий от i-rinat

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

Жостко.

IMHO вот этот вариант у тебя просто идеальный получился: http://i.imgur.com/IR34F83.png

А ничего, что там линейную область покорёжило? И положение локального максимума в области точки перегиба зависит от сглаживания?

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

с аналитической т.з. — нигде. Миллион лет назад УЖЕ началось отклонение.

Ага. Глутамат в синаптической щели был всегда, лол.

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

Это НЕ экспериментальные данные. А выборка тысячи экспериментов

Ты бы поучился читать то, что пишешь. Выборка из экспериментов — не экспериментальные данные? Что за бред.

ты перешёл на личности. И всё.

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

Мы вернёмся к задаче ТСа? да/нет?

ТС опубликовал свои данные. Сделай анализ, покажи класс. Да/нет?

пнх

Ай-яй-яй, как неприлично, Дмитрий.

i-rinat ★★★★★
()
Ответ на: комментарий от Axon

При чём здесь DTW?

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

и при этом спросить такое? я разочарован :(

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

А ничего, что там линейную область покорёжило?

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

И положение локального максимума в области точки перегиба зависит от сглаживания?

Вот смотрю я на синюю линию и вижу, что скачет она. То есть вроде кажется, что точку перегиба видно точно, но точность меньше, чем кажется. Проводим мысленно сверху и снизу линии «типа погрешности». И вуаля, положение максимума у зелёной линии не такое уж неточное.

И ещё. Может тебе и не надо максимально возможную точность? Может есть какая-то допустимая погрешность, после которой можно остановиться и считать задачу решённой?

i-rinat ★★★★★
()
Ответ на: комментарий от Axon

Не совсем. Это усреднённый набор индивидуальных событий из одной записи.

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

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

Вот что у вас за патологическая неспособность что-либо объяснять без попыток оскорбить собеседника?

Axon ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

И ещё. Может тебе и не надо максимально возможную точность? Может есть какая-то допустимая погрешность, после которой можно остановиться и считать задачу решённой?

Вообще, да, но это уже спорт. :-)

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