Числовое сопоставление с образцом

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

http://tmp.stayhealthy.com/wave.png

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

Спасибо, Тим.


person Timothy Strimple    schedule 19.04.2010    source источник


Ответы (5)


БПФ полезно для общего анализа последовательности данных.

Если вам нужно коррелировать последовательности, то фазовая корреляция намного эффективнее линейной корреляции. Пример из википедии предназначен для анализа 2D-изображений, но его можно использовать и в 1D.

person Ernelli    schedule 19.04.2010

Проверьте (Дискретное) преобразование Фурье, которое может извлекать частоту временного ряда.

(И в Excel есть встроенная функция быстрого преобразования Фурье.)

person kennytm    schedule 19.04.2010
comment
Преобразование Фурье хорошо работает только тогда, когда период волн постоянен. - person Jay Elston; 19.04.2010

Вы смотрели вейвлеты?

person Jay Elston    schedule 19.04.2010

Вам следует начать читать о корреляции.

Начать проще всего с Linear Correlation, но получить хорошую статистическую книгу. Визуальная статистика кажется очень хорошее начало.


Я знаю, что существует пакет статистического анализа Visual Studio, но сейчас я не могу найти дополнительную информацию.


В зависимости от ваших конкретных требований вы можете изучить язык программирования R, который специально разработан для статистический анализ и / или SciPy Библиотека Python

Кажется, у вас есть простая двухпеременная линейная корреляция: если вместо отображения временной шкалы вы сделаете диаграмму рассеяния, где X будет Series1, а Y будет Series2, вы увидите упакованное облако точек с нисходящим наклоном. Это линейная корреляция.

person Esteban Küber    schedule 19.04.2010

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

person J D    schedule 02.07.2010