Лекция Фильтрация данных в системах анализа и прогноза icon

Лекция Фильтрация данных в системах анализа и прогноза


1 чел. помогло.
Смотрите также:
1. теоретические основы анализа и прогноза финансового состояния предприятия...
Доклад посвящен построению программно-аппаратной системы для параллельной работы заданного...
Лекция Введение в бд и субд. Модели данных 2 Лекция Инфологическая модель «Сущность-связь»...
Обучение современным технологиям обработки больших массивов данных на кластерных системах...
Программа дисциплины Анализ и разработка данных для направления 010500...
Понятия о базах данных и системах управления ими. Классификация баз данных...
Лекция Базы данных в информационных системах Краткая аннотация...
Лекция. Назначение, область применения и характеристика пакета...
Лекция 9 Анализ временных рядов. Заключение и литература 9...
Удк 007. 5: 519. 216...
Тема: Базы и банки информационных данных. Понятие баз данных. Система управления базами данных...
Лекция №07 Модели данных...



Загрузка...
скачать

Лекция 9. Фильтрация данных в системах анализа и прогноза


Нет ничего практичней хорошей теории
К.Левин


О чем собственно речь?

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

Области приложения данной теории становятся все более и более многочисленными. Даже живая природа не обходится без обработки сигналов. Например, летучая мышь при ловле бабочек для определения местонахождения своих жертв использует лучшие из известных в настоящее время методы пространственной и временной селекции радиолокационных сигналов, они излучают ультразвуковой сигнал и соответствующим образом, фильтруя отраженный сигнал, определяют направление и расстояние до цели. Другой пример, наши органы чувств постоянно посылают в мозг огромное количество информации, и мы бы утонули в ее потоке, если бы не воспринимали только нужную информацию, иначе говоря – не фильтровали ее. Логично предположить, что известные в настоящий момент методы обработки сигналов, широко применяемые при обработке результатов физических измерений (в радиолокации и радиотехнике), могут найти применение и при создании информационных систем анализа и прогнозирования. Поиск взаимосвязи и закономерностей в анализируемых данных, при таком подходе, должен начинаться с того, что на соответствующем жаргоне называется первичная обработка данных. Это снизит остроту проблемы недостоверности данных, тем более, что полностью достоверных данных просто не существует, в любых данных присутствует шумовая составляющая, которую, по возможности, следует отфильтровать.

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

Итак, о каких методах обработки сигналов идет речь?
^

Введение в спектральный анализ


Разложение произвольной функции по заданной системе функций


Рис. 1

На рисунке 1 на плоскости заданы два ортонормированных вектора e1 и e2. Ортонормированные означает, что они ортогональны, то есть их скалярное произведение e1e2=0 и длина их равна 1. Этого достаточно, чтобы любой вектор на этой плоскости можно было представить в виде A=k1•e1+k2•e2, то есть любой вектор можно представить в виде линейной комбинации некоторых базисных векторов. Коэффициенты к1 и к2 определяются как скалярное произведение вектора А на е1 и соответственно A на e2: k1=Ae1 и k2=Ae2. То же самое справедливо для любого n-мерного пространства.

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

Бесконечная система функций (в общем случае комплексных) 0(x), 1(x), 2(x), … n(x), …
называется ортогональной на отрезке [a, b], если

(1.1)
при этом: (1.2)

Функция n(x), для которой (1.3)
называется нормированной функцией, а система нормированных функций 0(x), 1(x), 2(x), … n(x), …, в которой каждые две различные функции взаимно ортогональны, называется ортонормированной системой. В математике доказывается (что и следовало ожидать после того, что изложено в первом абзаце этого раздела), что подавляющее большинство функций, определенных на интервале [a..b], могут быть представлены в виде суммы ряда:

(1.4)
При этом, коэффициенты (1.5)

Символ "звездочка" во всех этих формулах означает комплексно-сопряженную функцию.

Итак, подобно тому, как любой вектор можно разложить в некой системе координат, так и любую функцию можно представить в виде суммы некоторых базисных функций, взятых с соответствующими коэффициентами c1, c2, …, cn, …

Коэффициенты, вычисляемые по формуле 1.5, есть коэффициенты Фурье, или преобразование Фурье, или спектр, а разложение 1.4 есть разложение в ряд Фурье. Выбор наиболее рациональной ортогональной системы функций зависит от цели, преследуемой при разложении исходной функции в ряд. Это могут быть полиномы Чебышева, Эрмита, Лагерра, Лежандра и другие. В радиотехнике наибольшее распространение получило разложение в базисе тригонометрических функций-синусов и косинусов, или, что то же самое, комплексных экспонент ejwt. И этому есть простое объяснение: гармоническое колебание является единственной функцией времени, сохраняющей свою форму при прохождении через любую линейную цепь. Изменяются лишь амплитуда и начальная фаза. Это очень удобно для анализа таких цепей. Например, если мы каким-то образом определили, как данная линейная цепь пропускает через себя гармонические колебания разной частоты (например, рассчитали или измерили практически), то мы по сути знаем, как она будет реагировать на сигнал любой формы. Для этого надо:

  1. разложить этот сигнал на гармонические составляющие по формуле 1.5., то есть выполнить прямое преобразование Фурье (получим ряд комплексных чисел c0, c1, c2, …, cn, … – или входной спектр).

  2. посмотреть, как каждая из этих составляющих изменится при прохождении через данную электрическую цепь (получим ряд комплексных чисел c'0, c'1, c'2, … c'n, … – или выходной спектр)

  3. и пользуясь формулой 1.4 получить выходную функцию времени. Процесс восстановления функции времени по ее спектру (то есть по коэффициентам c'0, c'1, c'2 и т.д.) называется обратным преобразованием Фурье.

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

^ Фильтр нижних частот

На вход фильтра поступает сигнал, изображенный на рисунке 2. Этот сигнал получен сложением двух синусоид разной частоты (рисунок 3 и 4), при этом частота помехи выше максимальной частоты, пропускаемой фильтром. По формуле 1.5 получаем спектр входных данных (рисунок 5). Обнулив все составляющие, превышающие граничную частоту фильтра получаем выходной спектр (рисунок 6). По формуле 1.4 получаем выходной сигнал (рисунок 7).



Так как в качестве базисных функций выбраны функции ejwt и учитывая, что имеем дело с дискретными данными, формулы 1.5 и 1.4 будут выглядеть так:

(1.6)
(1.7)

Здесь

N – количество отсчетов во входных данных

ck – k-ая составляющая спектра

xn – n-ый элемент выходных данных.

Здесь реализован алгоритм фильтра нижних частот. То есть из всего многообразия гармонических составляющих входной последовательности отбираются лишь те, которые не превышают некоторую верхнюю частоту. Понятно, что таким же образом можно было выделить любую часть спектра, это был бы уже полосовой фильтр. Именно так устроено человеческое ухо. Оно пропускает частоты от 20 Гц до 20 Кгц, и это очень кстати, так как иначе у нас в голове постоянно стоял бы страшный шум. (Это к вопросу о необходимости первичной обработки данных).

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



На выходе фильтра увидим что-то вроде изображенного на рисунке 9. Физический смысл этого прост. Есть сравнительно медленно меняющийся полезный сигнал и есть быстро флюктуирующая шумовая составляющая. Медленно меняющейся составляющей соответствует низкочастотная часть спектра, шуму – высокочастотные составляющие спектра. Отбрасывая последние, мы выделяем полезную составляющую. Остается решить вопрос, какие частоты пропускать и какие отбрасывать. Было бы хорошо, если бы мы знали спектр полезного сигнала. В этом случае можно было не просто отбрасывать шумовые составляющие спектра, но и (чтобы еще больше уменьшить шум на выходе) полезные брать с соответствующими весами (дело в том, что полезный спектр и шумовой перекрываются). К сожалению, часто неизвестны не только параметры полезного сигнала, но и статистические свойства помехи. Остается надежда на здравый смысл, опыт и интуицию. На рисунке 10 изображены результаты фильтрации реальных данных. Вверху – до фильтра, внизу – после фильтра. Понятно, что выходные данные в большей степени поддаются прогнозированию, чем входные.


Рис. 10

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

^ Оптимальная фильтрация

Было время, идеальным считался фильтр с П-образной характеристикой, то есть равномерное пропускание спектра полезного сигнала и полное подавление частот вне этого спектра. Такой фильтр мы и рассматривали выше. Если вы заметили, он никак не учитывает форму сигнала, которая может быть разной при одной и той же ширине спектра. С развитием теории информации и статистической теории обнаружения сигналов эта трактовка существенно изменилась. И теперь, при наличии априорной (предварительной) информации о форме сигнала и статистических свойствах помехи, фильтр с П-образной характеристикой не является наилучшим. Несколько примеров. На рисунке 11 изображен исходный сигнал.


Рис. 11. Исходный сигнал

На рисунке 12 изображены исходный сигнал плюс тот же самый сигнал, сдвинутый на 1/8 его длительности и плюс равномерный шум.


Рис. 12. Вход фильтра

Как видно, картина сильно искажена. Тем не мене оптимальный фильтр уверенно отмечает наличие в этом хаосе двух сигналов (рисунок 13).


Рис. 13. Выход фильтра

Дело в том, что данный фильтр является оптимальным по некоторому критерию именно для этого сигнала. А загадочная фраза об учете формы сигнала означает использование при фильтрации информации о фазе спектральных составляющих этого сигнала (если не совсем точно, фаза характеризует временной сдвиг каждой спектральной составляющей). Это позволяет оптимальному фильтру так сдвинуть по времени каждую составляющую полезного сигнала, что в определенный момент они сложатся в одной фазе, что мы и видим на рисунке 13. Конечно, форма сигнала при этом теряется, но временное положение и его амплитуда измеряются с максимально возможной точностью. Возвращаясь к нашей предметной области, подобного рода алгоритмы могут быть применены для выявления скрытых тенденций в рассматриваемых данных. Эти закономерности замаскированы мешающим действием случайных факторов и тем обстоятельством, что обычно одновременно присутствуют
^

Калмановская фильтрация


Введение

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

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

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

^ Задача оценки параметров

Одной из задач теории статистических решений, имеющих большое практическое значение, является задача оценки векторов состояния и параметров систем, которая формулируется следующим образом. Предположим, необходимо оценить значение векторного параметра X, недоступного непосредственному измерению. Вместо этого измеряется другой параметр Z, зависящий от X. Задача оценивания состоит в ответе на вопрос: что можно сказать об X, зная Z. В общем случае, процедура оптимальной оценки вектора X зависит от принятого критерия качества оценки. Например, байесовский подход к задаче оценки параметров требует полной априорной информации о вероятностных свойствах оцениваемого параметра, что зачастую невозможно. В этих случаях прибегают к методу наименьших квадратов (МНК), который требует значительно меньше априорной информации. Рассмотрим применения МНК для случая, когда вектор наблюдения Z связан с вектором оценки параметров X линейной моделью, и в наблюдении присутствует помеха V, некоррелированная с оцениваемым параметром:

(1)

где ^ H – матрица преобразования, описывающая связь наблюдаемых величин с оцениваемыми параметрами.

Оценка X, минимизирующая квадрат ошибки, записывается следующим образом:

(2)

Пусть помеха ^ V не коррелирована, в этом случае матрица RV есть просто единичная матрица, и уравнение для оценки становится проще:

(3)

Запись в матричной форме сильно экономит бумагу, но может быть для кого то непривычна. Следующий пример, взятый из монографии Коршунова Ю. М. "Математические основы кибернетики", все это иллюстрирует.
Имеется следующая электрическая цепь:




Наблюдаемые величины в данном случае – показания приборов A1 = 1 A, A2 = 2 A, V = 20 B.

Кроме того, известно сопротивление R = 5 Ом. Требуется оценить наилучшим образом, с точки зрения критерия минимума среднего квадрата ошибки значения токов I1 и I2. Самое важное здесь заключается в том, что между наблюдаемыми величинами (показаниями приборов) и оцениваемыми параметрами существует некоторая связь. И эта информация привносится извне. В данном случае, это законы Кирхгофа, в случае фильтрации (о чем речь пойдет дальше) – авторегрессионная модель временного ряда, предполагающая зависимость текущего значения от предшествующих.

Итак, знание законов Кирхгофа, никак не связанное с теорией статистических решений, позволяет установить связь между наблюдаемыми значениями и оцениваемыми параметрами (кто изучал электротехнику – могут проверить, остальным придется поверить на слово):




Это же в векторной форме:




Или Z = HX + V, где




Считая значения помехи некоррелированными между собой, найдем оценку I1 и I2 по методу наименьших квадратов в соответствии с формулой 3:




Итак I1 = 5/6 = 0,833 A; I2 = 9/6 = 1,5 A;

^ Задача фильтрации

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

Вначале получим оценку текущего значения xn по имеющимся k последним значениям временного ряда . Модель наблюдения та же, что и в задаче оценки параметров:



Понятно, что Z – это вектор–столбец, состоящий из наблюдаемых значений временного ряда , V – вектор–столбец помехи , искажающий истинный сигнал. А что означают символы H и X? О каком, например, векторе–столбце X может идти речь, если все, что необходимо, – это дать оценку текущего значения временного ряда? А что понимать под матрицей преобразований H, вообще непонятно. На все эти вопросы можно ответить только при условии введения в рассмотрение понятия модели генерации сигнала. То есть, необходима некоторая модель исходного сигнала. Это и понятно, при отсутствии априорной информации о вероятностных характеристиках сигнала и помехи остается только строить предположения. Можно назвать это гаданием на кофейной гуще, но специалисты предпочитают другую терминологию. На их "фене" это называется параметрическая модель. В данном случае оцениваются параметры именно этой модели. При выборе подходящей модели генерации сигнала вспомним о том, что любую аналитическую функцию можно разложить в ряд Тейлора. Поразительное свойство ряда Тейлора заключается в том, что форма функции на любом конечном расстоянии t от некой точки x=a однозначно определяется поведением функции в бесконечно малой окрестности точки x=a (речь идет о ее производных первого и высшего порядков). Таким образом, существование рядов Тейлора означает, что аналитическая функция обладает внутренней структурой с очень сильной связью. Если, например, ограничиться тремя членами ряда Тейлора, то модель генерации сигнала будет выглядеть так:

(4)

где:




То есть формула 4, при заданном порядке полинома (в примере он равен 2) устанавливает связь между n-ым значением сигнала во временной последовательности и (n-i)–ым. Таким образом, оцениваемый вектор состояния в данном случае включает в себя, помимо собственно оцениваемого значения, первую и вторую производную сигнала. В теории автоматического управления такой фильтр назвали бы фильтром с астатизмом 2-го порядка. Матрица преобразования H для данного случая (оценка осуществляется по текущему и k-1 предшествующим выборкам) выглядит так:




Все эти числа получаются из ряда Тейлора в предположении, что временной интервал между соседними наблюдаемыми значениями постоянный и равен 1.

Итак, задача фильтрации при принятых нами предположениях свелась к задаче оценки параметров; в данном случае оцениваются параметры принятой нами модели генерации сигнала. И оценка значений вектора состояния X осуществляется по той же формуле 3:




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

Формула 3 легко реализуется программно, для этого нужно заполнить матрицу ^ H и вектор столбец наблюдений Z. Такие фильтры называются фильтры с конечной памятью, так как для получения текущей оценки Xnоц они используют последние k наблюдений. На каждом новом такте наблюдения к текущей совокупности наблюдений прибавляется новое и отбрасывается старое. Такой процесс получения оценок получил название скользящего окна.

Фильтры с растущей памятью

Фильтры с конечной памятью обладают тем основным недостатком, что после каждого нового наблюдения необходимо заново производить полный пересчет по всем хранящимся в памяти данным. Кроме того, вычисление оценок можно начинать только после того, как накоплены результаты первых k наблюдений. То есть эти фильтры обладают большой длительностью переходного процесса. Чтобы бороться с этим недостатком, необходимо перейти от фильтра с постоянной памятью к фильтру с растущей памятью. В таком фильтре число наблюдаемых значений, по которым производится оценка, должна совпадать с номером n текущего наблюдения. Это позволяет получать оценки, начиная с числа наблюдений, равного числу компонент оцениваемого вектора X. А это определяется порядком принятой модели, то есть сколько членов из ряда Тейлора используется в модели. При этом с ростом n улучшаются сглаживающие свойства фильтра, то есть повышается точность оценок. Однако непосредственная реализация этого подхода связана с возрастанием вычислительных затрат. Поэтому фильтры с растущей памятью реализуются как рекуррентные.

Дело в том, что к моменту n мы уже имеем оценку X(n-1)оц, в которой содержится информация обо всех предыдущих наблюдениях . Оценку Xnоц получаем по очередному наблюдению zn с использованием информации, хранящейся в оценке X(n-1)оц. Такая процедура получила название рекуррентной фильтрации и состоит в следующем:

  • по оценке X(n-1)оц прогнозируют оценку Xn по формуле 4 при i = 1: . Это априорная оценка;

  • по результатам текущего наблюдения zn, эту априорную оценку превращают в истинную, то есть апостериорную;

  • эта процедура повторяется на каждом шаге, начиная с r+1, где r – порядок фильтра.

Окончательная формула рекуррентной фильтрации выглядит так:

(6)

где для нашего фильтра второго порядка:




^ Фильтр с растущей памятью, работающий в соответствии с формулой 6 – частный случай алгоритма фильтрации, известного под названием фильтра Калмана.

При практической реализации этой формулы необходимо помнить, что входящая в него априорная оценка определяется по формуле 4, а величина
h
0 Xnоцаприори представляет собой первую компоненту вектора Xnоцаприори.

У фильтра с растущей памятью имеется одна важная особенность. Если посмотреть на формулу 6, то окончательная оценка есть сумма прогнозируемого вектора оценки и корректирующего члена. Эта поправка велика при малых n и уменьшается при увеличении n, стремясь к нулю при . То есть с ростом n сглаживающие свойства фильтра растут и начинает доминировать модель, заложенная в нем. Но реальный сигнал может соответствовать модели лишь на отдельных участках, поэтому точность прогноза ухудшается. Чтобы с этим бороться, начиная с некоторого n, накладывают запрет на дальнейшее уменьшение поправочного члена. Это эквивалентно изменению полосы фильтра, то есть при малых n фильтр более широкополосен (менее инерционен), при больших – он становится более инерционен.




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




Скачать 156,01 Kb.
оставить комментарий
Дата13.10.2011
Размер156,01 Kb.
ТипЛекция, Образовательные материалы
Добавить документ в свой блог или на сайт

отлично
  4
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

наверх