Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Временные ряды. Подобие векторов. 
:(
    Опции темы
andreybs
Дата 7.12.2012, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.12.2012

Репутация: нет
Всего: нет



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

Имеем временной ряд произвольной длины L и эталонный вектор размерности N (N<L). Необходимо найти участки временного ряда длиной M (N<M<L), похожие на эталонный вектор. 

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

Необходимо разработать алгоритм, на вход которому подается эталонный вектор и участок временного ряда с выделенными опорными точками, а на выходе примерно такой результат: подобный вектор L найден, его начало/конец = {L1,L2} , степень достоверности подобия Х%. 

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

Как подступиться к задаче? Пока все испробованные мною методы неустойчивы к искажениям. В этом проблема.

PM MAIL   Вверх
Pavia
Дата 8.12.2012, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



Бьешь эталон на куски. 
Пробуешь искать эти куски в сигнале. 
Я бы 2 метода использовал. Один в амплитудно-частотной области и другой в амплитудно-временной. 
Так вот во временной области. В качестве метрики сравнение я бы взял MSE. 
Для соблюдения подобия перебираешь начальное положение куска и масштаб. Масштабировать советую при помощи оператора линейной интерполяции(Ланцош ак SinC негодится). 

В частотной области всё по другому. В качестве метрике корреляция по Писанину. 
Перебираешь разные временные участки. Масштабирование делаешь через SinC. 


После метрики в обоих случаях отсекаешь по порогу лишнее.
Далее второй проход. Перебираем положение X0 и масштаб M0, но на этот раз уже берём эталон.
В качестве метрики используем НС. На вход которой подаем номер участка из эталона и его положение относительно X0 и масштаб относительно M0. И таких 2*k признаков попавших в участок X0+L*M0 где L - длина шаблона. 
Если на этом участке несколько признаков, то выбираем самые сильные.
2*k потому что у нас одни признаки во временной области другие в частотной. 

PM MAIL   Вверх
andreybs
Дата 9.12.2012, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.12.2012

Репутация: нет
Всего: нет



Цитата(Pavia @  8.12.2012,  11:12 Найти цитируемый пост)
В качестве метрики сравнение я бы взял MSE. 


MSE - расшифруйте, пожалуйста. 

Цитата(Pavia @  8.12.2012,  11:12 Найти цитируемый пост)
Для соблюдения подобия перебираешь начальное положение куска и масштаб. Масштабировать советую при помощи оператора линейной интерполяции(Ланцош ак SinC негодится). 


Допустим есть эталон {А;В}. Сравниваем его с {A1;X;B1}. Допустим A1=k*A, B1=k*B, X=(A1+B2)/2. Наблюдаем подобие с лин.коэф. k по амплитуде и лин.коэф. 3/2 по времени. 
Перебираем {0;A/A1}, {0;A/X}, {0;A/B1}, {1;B/X}, {1;B/B1}. A/A1 и B/B1 имеют одинаковый масштаб для точек 0 и 1, т.е. они "совпали". 

Цитата(Pavia @  8.12.2012,  11:12 Найти цитируемый пост)
В частотной области всё по другому. В качестве метрике корреляция по Писанину. 
Перебираешь разные временные участки. 


Для сравнения по амплитуде-частоте, считаем корреляцию по {А;В} и сравниваем ее с {A1;X}, {X;B1}, {A1;X;B1}.

Я правильно понял идею? 

Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0411 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.