Rambler's Top100 II Всероссийская конференция пользователей MATLAB, 25-26 мая 2004 года >>
На первую страницу
Рубрика Matlab&Toolboxes
Российские MATLAB-разработки
Ваш Login: "prodav".
Раздел "Обработка сигналов и изображений\Wavelet Toolbox"

"Вейвлеты, аппроксимация и статистические приложения" (перевод К.А.Алексеева)

В оглавление \ К следующему разделу \ К предыдущему разделу

12.5 Вейвлет-оценки, инвариантные к сдвигу

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

В настоящем параграфе постараемся объяснить причину возникновения утечки Гиббса в вейвлет-оценках.

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

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

На практике локализация сингулярностей оказывается, как правило, не известной, в связи с чем помимо в задаче синтеза оценок возникает задача оптимизации данных: введения каких-то качественных мер сингулярностей и их минимизации сдвигом на соответствующий интервал.

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

Другой, более робастный подход к устранению утечек Гиббса основан на использовании техники стационарного вейвлет-преобразования (см. трактовку данного преобразования с инженерной точки зрения в [128, 133]. Статистические приложения стационарного преобразования изложены в [25, 110]). Назовем статистическую оценку данных вейвлет-оценкой, инвариантной к сдвигу.

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

. (12.21)

Иными словами,

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

  2. усреднить все сделанные ранее сдвиги.

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

Алгоритм реализации (12.21) весьма близок в сущности своей к алгоритму реализации дискретного преобразования как такового с тем лишь отличием, что содержит помимо прочего также некоторые действия, выполняющие сдвиг данных. Введём для рассмотрения алгоритма следующие векторы:

, ,

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

,

.

Далее, на втором шаге, -

,

,

и т.д.

Схожий алгоритм используется для быстрого расчета произведения : алгоритм возвращает матрицу размером , которую назовем по аналогии с [25] таблицей . Данная матрица обладает при этом следующими свойствами:

  1. для любого целого такого, что , матрица содержит произведение ;

  2. таблица может быть вычислена при использовании операций;

Начнем рассмотрение алгоритма со следующих действий:

,

,

,

.

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

На следующем шаге происходит обработка векторов:

,

,

,

,

,

,

,

.

Легко догадаться, что векторы являются собой следующую строку таблицы . Размерность таких векторов равна .

Итак, после итераций таблица заполняется полностью. После этого к таблице применяется процедура трешолдинга Т и, в заключение, таблица сдвигается таким образом, чтобы результат сдвига обеспечил результат (12.21). Отошлем читателя к работе [25] для получения большей информации о данной процедуре.

Оценивание плотности, инвариантное к сдвигу, уже было показано на рис. 10.12 для случая использования мягкого трешолдинга Т. На рис. 12.2 покажем пример оценивания той же плотности (см. параграф 10.4) при использовании жесткого трешолдинга.

Рис. 12.2

Оценивание плотности, инвариантное к сдвигу.

Симмлет 8 порядка и жесткий трешолдинг с порогом, равным

12.6 Процедуры вейвлет-анализа в XploRe

Реализацию приведенных выше алгоритмов можно отыскать интерактивной среде статистических исследований XploRe. Данный пакет описан в литературе [71] и доступен для пользователей по адресу www.xplore-stat.de.

В настоящем параграфе описаны основные команды пакета.

Синтез вейвлет-функций.

Библиотека XploRe содержит 22 базисных вейвлет-функции db2, db4,…, db20, sym4, sym5, …, sym10, coif1, coif2, …, coif5, заданные коэффициентами их фильтров, приведенных в [28]. Эти коэффициенты общим числом 296 хранятся в файле /data/wavelet.dat. Полная таблица коэффициентов приведена также в приложении; порядок следования их в таблице соответствует порядку их перечисления в настоящем абзаце.

Так, например, вейвлет sym7 стоит 14 в упомянутом списке, поэтому ему принадлежат коэффициенты с номерами 139-152 таблицы приложения. Перечислим их:

№ коэф.

Коэффициент

139

0,00268181

140

-0,00104738

141

-0,0126363

142

0,0305155

143

0,0678927

144

-0,0495528

145

0,0174413

146

0,536102

147

0,767764

148

0,28863

149

-0,140047

150

-0,107808

151

0,00401024

152

0,0102682

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

Дискретное вейвлет-преобразование.

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

Команда пакета, реализующая дискретное преобразование, выглядит следующим образом: {a,b}=fwt(x,l,h), где {a,b} - возвращаемый вектор разложения, состоящий из субвекторов коэффициентов аппроксимации и коэффициентов детализации . Аббревиатура FWT, лежащая в основе данной команды, происходит от англ. Fast Wavelet Transform.

Альтеративой описанной команде является команда y=dwt(x,l,h).

Рассмотрим численный пример. Сгенерируем функцию Хевисайда:

x=#(0,0,1,1)

и отметим, что в результирующем векторе . Функция

{a,b}=fwt(x,l,haar)

вернет следующий результат:

a=,

b=.

Данный результат достаточно просто проверить, задав исходные данные и и воспользовавшись выражениями для дискретного преобразования (12.12), (12.13), взятого в базисе Хаара:

,

,

,

,

,

.

Здесь .

На уровне команда возвращает следующий результат:

a=,

b=.

Обратное вейвлет-преобразование доступно при использовании команды invfwt(a,b,m,l,h) или ее альтернативы invdwt(y,l,h). В них параметры а, b представляют собой выходные параметры команды fwt, параметр позволяет задавать длину входного вектора у, параметр есть число скейлингов, участвующих в разложении на каждом из уровней.

Вейвлет-преобразование, инвариантное к сдвигу.

Данное преобразование может быть легко вычислено при использовании функции ti=fwtin(x,d,h), в котором х представляет собой вектор исходных данных, тогда как d - начальный уровень разложения. Здесь, как и ранее, позволяет указать число скейлингов, участвующих в разложении на исходном уровне.

Переменная h, как и прежде, задает вектор коэффициентов вейвлет-функции.

Обратное преобразование в данном случае вызывается следующим образом: xs=invfwtin(ti,h).

В оглавление \ К следующему разделу \ К предыдущему разделу


О получении локальных копий сайтов
  I Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
  II Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2004 г.)
На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro   
E-mail: info@matlab.ru   
  Информация на сайте была обновлена 16.08.2004 Copyright 2001-2004 SoftLine Co 
Наши баннеры  

 

Rambler's Top100    TopList