2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

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

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 Определение убываний на графике
Сообщение24.08.2011, 02:24 


22/08/11
3
Приветствую.
Дело такое: нужно на произвольном графике(значений по времени) идентифицировать периоды убывания определённой интенсивности... График с шумом.
Пробовал следующее:
аппроксимировал график след. способом: a[i] = (a[i-2] + a[i-1] + a[i] + a[i+1] + a[i+2]) / 5; это убирало шум и как я думал давало бы более менее ясное видение уверенных убываний.
затем искал более-менее резкие убывания(т.е. чтобы это были не какие-либо слабые колебания) по углу наклона графика...
и искал их выравнивание.
брал этот кусок за искомый, но увы, метод работает кривовато...
подскажите способы?
или как это делается правильно?

 Профиль  
                  
 
 Re: Определение убываний на графике
Сообщение24.08.2011, 03:32 
Аватара пользователя


21/01/09
3923
Дивногорск
TMonax в сообщении #477325 писал(а):
Пробовал следующее:
аппроксимировал график след. способом: a[i] = (a[i-2] + a[i-1] + a[i] + a[i+1] + a[i+2]) / 5; это убирало шум и как я думал давало бы более менее ясное видение уверенных убываний.

Это называется сглаживанием скользящим средним с окном =5. Можно сгладить скользящей медианой, если шум негауссовский. Все зависит от конкретной задачи.

 Профиль  
                  
 
 Re: Определение убываний на графике
Сообщение24.08.2011, 19:14 


19/08/11
92
Наука учит, что в таких случаях нужно строить модель случайного процесса. Так как все нужные параметры процесса Вам неизвестны, то, стало быть, их следует определить по имеющимся наблюдениям.

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

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

Вычисляем три вспомогательных ряда.
1. Ряд B: b[0]=a[0]; b[k]=b[k-1]+α*(a[k]-b[k-1]), 0<α<1.
2. Ряд С: с[0]=a[0]; с[k]=с[k-1]+β*(a[k]-b[k-1]), 0<α<β<1.
3. Ряд D: d[k]=c[k]-b[k].

Играем с параметрами α и β, и смотрим на результат (ряд D). Бывает так, что без всякой высокой науки очень быстро можно получить то, что нравится.
Или не получить. Тогда возможны два варианта.
1. Задача все же требует квалифицированного вмешательства.
2. Задача вообще не может быть решена. Имеется в виду, что особенности процесса таковы, что нельзя получить результат, который нравится. К сожалению, это можно будет узнать только после настоящей попытки реализации варианта №1. Поэтому будем надеяться, что Вам повезет, и Вы сможете удовлетвориться нулевым вариантом - то, что я предложил.
____________________________________________
P.S. Предложенный вариант опирается на экспоненциальное сглаживание. Нечто подобное можно сделать и на скользящем среднем: например, вычитаем из скользящего среднего с окном 5 скользящее среднее с окном 15.
Но... В общем, экспоненциальное и проще в вычислительном плане, и во многих случаях лучше.

 Профиль  
                  
 
 Re: Определение убываний на графике
Сообщение25.08.2011, 00:48 


22/08/11
3
Хотел бы пояснить визуально.

Вот 2 фрагмента графика:
Изображение

Изображение

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

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

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

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

 Профиль  
                  
 
 Re: Определение убываний на графике
Сообщение25.08.2011, 01:39 
Аватара пользователя


21/01/09
3923
Дивногорск
Я бы попробовал численное дифференцирование с нахождением интервалов где производная отрицательнее заданного порога.

 Профиль  
                  
 
 Re: Определение убываний на графике
Сообщение25.08.2011, 10:24 


19/08/11
92
TMonax в сообщении #477532 писал(а):

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

Простите, но я, честно говоря, не понял, что еще нужно пояснять, кроме того, что я уже написал.

И почему Вы пишите об алгоритме для графиков?
График - это изображение. В Вашем случае некоторой последовательности чисел. Она у Вас есть - вот те самые, которые a[0], a[1], a[2],...? Если есть (а как без нее Вы могли бы делать то, что написали в стартовом сообщении ветки?), то что Вам мешает проделать то, что написал я?

 Профиль  
                  
 
 Re: Определение убываний на графике
Сообщение25.08.2011, 13:21 


22/08/11
3
Sefko, т.е. ваш способ может подойти к данным графикам?
я просто думал что возможно ваши предположения изменятся, после того как я покажу точную картину...

 Профиль  
                  
 
 Re: Определение убываний на графике
Сообщение25.08.2011, 15:52 


19/08/11
92
TMonax в сообщении #477635 писал(а):
Sefko, т.е. ваш способ может подойти к данным графикам?

TMonax!
Предложения могут подойти, или не подойти - я же об этом писал.
Что касается вида графика, то никаких противопоказаний не видно. Разумеется, это не значит, что их нет.
Но, с другой стороны, попробовать применить - это же делов-то на полчаса. Или я чего-то не понимаю в Вашей задаче.

 Профиль  
                  
 
 Re: Определение убываний на графике
Сообщение25.08.2011, 16:57 


17/10/08

1313
Для подобных задач неплохо зарекомендовал себя метод наименьших квадратов. Для каждой точки (за исключением краев графика) выделить окрестность. Например, 7 точек (3 слева и 3 справа). Потом методом МНК для каждой точки и ее окрестности подобрать аппроксимирующую прямую $kt+b$. Коэффициент $k$ и будет наклоном. При подборе прямой подбираются 2 коэффициента, а точек в используется больше (в нашем случае 7). «Лишние точки» окрестности идут на подавление шума. Выбрав некоторый порог, получим участки времени с достаточно большим наклоном $k$.
В принципе можно пробовать не только прямые, но и параболы, и т.д. – полином до 4-ой степени. Только нужно учитывать, что часть точек окрестности должна пойти на борьбу с шумами, и чтобы окрестность не была больше длительности искомых подъема/спада.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group