exponenta event banner

Практическое введение в анализ множественных решений

В этом примере показано, как выполнять и интерпретировать анализ многоразрешающих сигналов (MRA). Пример использует как смоделированные, так и реальные данные для ответа на такие вопросы, как: Что означает анализ множественных решений? Какую информацию о сигнале можно получить, выполнив анализ множественных решений? Каковы некоторые преимущества и недостатки различных методов MRA? Многие из представленных здесь анализов можно реплицировать с помощью приложения Signal Multiresolution Analyzer.

Что такое анализ множественных решений?

Сигналы часто состоят из множества физически значимых компонентов. Довольно часто требуется изучить один или несколько этих компонентов в отдельности в том же масштабе времени, что и исходные данные. Анализ множественных решений относится к разделению сигнала на компоненты, которые производят исходный сигнал точно при сложении. Чтобы быть полезным для анализа данных, важно, как разлагается сигнал. Компоненты идеально разбивают изменчивость данных на физически значимые и интерпретируемые части. Термин анализ множественных решений часто ассоциируется с вейвлетами или вейвлет-пакетами, но существуют невейвлет-методы, которые также производят полезные MRA.

В качестве мотивирующего примера понимания, которое вы можете получить от MRA, рассмотрим следующий синтетический сигнал. Сигнал дискретизируется при частоте 1000 Гц в течение одной секунды.

Fs = 1e3;
t = 0:1/Fs:1-1/Fs;
comp1 = cos(2*pi*200*t).*(t>0.7);
comp2 = cos(2*pi*60*t).*(t>=0.1 & t<0.3);
trend = sin(2*pi*1/2*t);
rng default
wgnNoise = 0.4*randn(size(t));
x = comp1+comp2+trend+wgnNoise;
plot(t,x)
xlabel('Seconds')
ylabel('Amplitude')
title('Synthetic Signal')

Figure contains an axes. The axes with title Synthetic Signal contains an object of type line.

Сигнал явно состоит из трех основных составляющих: локализованного во времени колебания с частотой 60 циклов/с, локализованного во времени колебания с частотой 200 циклов/с и трендового члена. Трендовый член здесь также является синусоидальным, но имеет частоту 1/2 цикла в секунду, поэтому он завершает только 1/2 цикла в интервале одна секунда. Колебание 60 циклов в секунду или 60 Гц происходит между 0,1 и 0,3 секундами, в то время как колебание 200 Гц происходит между 0,7 и 1 секундой.

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

Теперь постройте график сигнала с частотной точки зрения.

xdft = fft(x);
N = numel(x);
xdft = xdft(1:numel(xdft)/2+1);
freq = 0:Fs/N:Fs/2;
plot(freq,20*log10(abs(xdft)))
xlabel('Cycles/second')
ylabel('dB')
grid on

Figure contains an axes. The axes contains an object of type line.

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

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

cwt(x,Fs)

Figure contains an axes. The axes with title Magnitude Scalogram contains 3 objects of type image, line, area.

Теперь вы увидите временные границы компонентов 60 Гц и 200 Гц. Однако у нас до сих пор нет какой-либо полезной визуализации тренда.

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

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

Разделение компонентов сигнала во времени

Сигналы реального мира представляют собой смесь различных компонентов. Часто интересует только подмножество этих компонентов. Анализ множественных решений позволяет сузить анализ путем разделения сигнала на компоненты с различными разрешениями.

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

Проанализируйте и постройте график синтетического сигнала, используя вейвлет MRA. Сигнал анализируется с восемью разрешениями или уровнями.

mra = modwtmra(modwt(x,8));
helperMRAPlot(x,mra,t,'wavelet','Wavelet MRA',[2 3 4 9])

Figure contains 10 axes. Axes 1 with title Wavelet MRA contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 4 contains an object of type line. Axes 5 contains an object of type line. Axes 6 contains an object of type line. Axes 7 contains an object of type line. Axes 8 contains an object of type line. Axes 9 contains an object of type line. Axes 10 contains an object of type line.

Не объясняя, что означают обозначения на графике, давайте используем наши знания о сигнале и попытаемся понять, что показывает нам этот вейвлет MRA. Если вы начинаете с самого верхнего графика и идете вниз до тех пор, пока не достигнете графика исходных данных, вы увидите, что компоненты становятся постепенно более гладкими. Если Вы предпочитаете думать о данных с точки зрения частоты, частоты, содержавшиеся в компонентах, становятся ниже. Напомним, что исходный сигнал имел три основные составляющие, высокочастотное колебание на 200 Гц, колебание на более низкой частоте на 60 Гц и трендовый член, все испорченные аддитивным шумом.

Если посмотреть на график D∼2, можно увидеть, что локализованная во времени высокочастотная составляющая изолирована там. Вы можете увидеть и исследовать эту важную функцию сигнала, по существу, изолированно. Следующие два графика содержат низкочастотные колебания. Это важный аспект анализа множественных решений, а именно важные компоненты сигнала могут не оказаться изолированными в одном компоненте MRA, но они редко располагаются более чем в двух. Наконец, мы видим, что S8 график содержит термин тренда. Для удобства цвет осей в этих компонентах был изменен, чтобы выделить их в MRA. Если вы предпочитаете визуализировать этот график или последующие графики без выделения, оставьте последние числовые входные данные для helperMRAPlot.

Вейвлет MRA использует фиксированные функции, называемые вейвлетами, для разделения составляющих сигнала. K-й компонент MRA вейвлета, обозначенный D∼k на предыдущем графике, может рассматриваться как фильтрация сигнала в полосы частот вида [12k + 1Δt, 12kΔt], где Δt - период дискретизации или интервал дискретизации. Конечная гладкая составляющая, обозначаемая на графике SL, где L - уровень MRA, захватывает полосу частот [0, 12L + 1Δt]. Точность этого приближения зависит от вейвлета, используемого в MRA. Подробное описание MRA вейвлет и вейвлет-пакетов см. в [5].

Тем не менее, есть другие методы MRA, чтобы рассмотреть.

Эмпирическая модовая декомпозиция (EMD) представляет собой метод мультирастворения с адаптацией к данным. EMD рекурсивно извлекает различные разрешения из данных без использования фиксированных функций или фильтров. EMD рассматривает сигнал как состоящий из быстрого колебания, наложенного на более медленный. После извлечения быстрого колебания процесс обрабатывает оставшийся более медленный компонент как новый сигнал и снова рассматривает его как быстрое колебание, наложенное на более медленный. Процесс продолжается до тех пор, пока не будет достигнут некоторый критерий остановки. Хотя EMD не использует фиксированные функции, такие как вейвлеты, для извлечения информации, EMD-подход концептуально очень похож на вейвлет-метод разделения сигнала на детали и аппроксимации и затем разделения аппроксимации снова на детали и аппроксимацию. Компоненты MRA в EMD называются внутренними модовыми функциями (МВФ). Подробное описание лечения EMD см. в [4].

Постройте график анализа EMD того же сигнала.

[imf_emd,resid_emd] = emd(x);
helperMRAPlot(x,imf_emd,t,'emd','Empirical Mode Decomposition',[1 2 3 6])

Figure contains 7 axes. Axes 1 with title Empirical Mode Decomposition contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 4 contains an object of type line. Axes 5 contains an object of type line. Axes 6 contains an object of type line. Axes 7 contains an object of type line.

В то время как количество компонентов MRA различно, EMD и вейвлет MRA создают аналогичную картину сигнала. Это не случайно. Описание сходства вейвлет-преобразования и EMD приведено в [2].

При разложении EMD высокочастотное колебание локализуется по первой собственной функции режима (IMF 1). Низкочастотное колебание локализовано в основном в МВФ 2, но вы можете видеть некоторый эффект также в МВФ 3. Компонент тренда в МВФ 6 очень похож на компонент тренда, извлеченный методом вейвлет.

Еще одним способом адаптивного анализа множественных решений является разложение в вариационном режиме (VMD). Подобно EMD, VMD пытается извлечь функции внутреннего режима или режимы колебаний из сигнала без использования фиксированных функций для анализа. Но EMD и VMD определяют режимы очень разными способами. EMD работает рекурсивно на сигнале временной области, чтобы извлекать постепенно более низкие частоты. VMD начинается с идентификации пиков сигнала в частотной области и извлекает все режимы одновременно. Для получения информации о лечении VMD см. [1].

[imf_vmd,resid_vmd] = vmd(x);
helperMRAPlot(x,imf_vmd,t,'vmd','Variational Mode Decomposition',[2 4 5])

Figure contains 6 axes. Axes 1 with title Variational Mode Decomposition contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 4 contains an object of type line. Axes 5 contains an object of type line. Axes 6 contains an object of type line.

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

Существует метод адаптации к данным, который фактически конструирует вейвлет-фильтры на основе частотного содержания данных. Этот метод представляет собой эмпирическое вейвлет-преобразование (EWT) [3]. Одним из основных критических замечаний к EMD является то, что его определение является чисто алгоритмическим. В результате, он не легко поддается математическому анализу. С другой стороны, ЭВТ фактически создает вейвлеты Мейера на основе частотного содержания анализируемого сигнала. Соответственно, результаты ЭВТ поддаются математическому анализу, поскольку фильтры, используемые в анализе, доступны пользователю. Повторите анализ синтетического сигнала с помощью ЭВТ.

[mra_ewt,cfs,wfb,info] = ewt(x,'MaxNumPeaks',5);
helperMRAPlot(x,mra_ewt,t,'EWT','Empirical Wavelet Transform',[1 2 3 5])

Figure contains 6 axes. Axes 1 with title Empirical Wavelet Transform contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 4 contains an object of type line. Axes 5 contains an object of type line. Axes 6 contains an object of type line.

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

Nf = length(x)/2+1;
cf = mean(info.FilterBank.Passbands,2);
f = 0:Fs/length(x):Fs-Fs/length(x);
clf
ax = newplot;
plot(ax,f(1:Nf),wfb(1:Nf,:))
ax.XTick = sort(cf.*Fs);
ax.XTickLabel = ax.XTick;
xlabel('Hz')
grid on
title('Empirical Meyer Wavelets')

Figure contains an axes. The axes with title Empirical Meyer Wavelets contains 5 objects of type line.

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

EWTEnergy = sum(vecnorm(cfs,2).^2)
EWTEnergy = 875.5768
sigEnergy = norm(x,2)^2
sigEnergy = 875.5768

В качестве реального примера полезного разделения компонентов рассмотрим сейсмограф (вертикальное ускорение, нм/с2) землетрясения в Кобе, зарегистрированный в Университете Тасмании, Хобарт, Австралия, 16 января 1995 года, начиная с 20:56:51 (GMT) и продолжающийся в течение 51 минут 1 секундными интервалами.

load KobeTimeTable
T = KobeTimeTable.t;
kobe = KobeTimeTable.kobe;
figure
plot(T,kobe)
title('Kobe Earthquake Seismograph')
ylabel('Vertical Acceleration (nm/s^2)')
xlabel('Time')
axis tight
grid on

Figure contains an axes. The axes with title Kobe Earthquake Seismograph contains an object of type line.

Получение и построение графика вейвлет-MRA данных.

mraKobe = modwtmra(modwt(kobe,8));
figure
helperMRAPlot(kobe,mraKobe,T,'Wavelet','Wavelet MRA Kobe Earthquake',[4 5])

Figure contains 10 axes. Axes 1 with title Wavelet MRA Kobe Earthquake contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 4 contains an object of type line. Axes 5 contains an object of type line. Axes 6 contains an object of type line. Axes 7 contains an object of type line. Axes 8 contains an object of type line. Axes 9 contains an object of type line. Axes 10 contains an object of type line.

График показывает разделение первичной и задержанной вторичных волновых составляющих в компонентах MRA D∼4 и D∼5. Компоненты в сейсмической волне перемещаются с различными скоростями с первичными (сжатыми) волнами, движущимися быстрее, чем вторичные (сдвиговые) волны. Методы MRA позволяют изучать эти компоненты изолированно по исходной шкале времени.

Восстановление сигналов от MRA

Смысл разделения сигналов на компоненты часто состоит в том, чтобы удалить определенные компоненты или смягчить их влияние на сигнал. Решающее значение для методов MRA имеет возможность восстановления исходного сигнала.

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

sigrec_wavelet = sum(mra);
sigrec_emd = sum(imf_emd,2)+resid_emd;
sigrec_vmd = sum(imf_vmd,2)+resid_vmd;
figure
subplot(3,1,1)
plot(t,sigrec_wavelet); title('Wavelet reconstruction');
set(gca,'XTickLabel',[]);
ylabel('Amplitude');
subplot(3,1,2);
plot(t,sigrec_emd); title('EMD reconstruction');
set(gca,'XTickLabel',[]);
ylabel('Amplitude');
subplot(3,1,3)
plot(t,sigrec_vmd); title('VMD reconstruction');
ylabel('Amplitude');
xlabel('Time');

Figure contains 3 axes. Axes 1 with title Wavelet reconstruction contains an object of type line. Axes 2 with title EMD reconstruction contains an object of type line. Axes 3 with title VMD reconstruction contains an object of type line.

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

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

sigWOtrend = sum(mra(1:end-1,:));
figure
plot(t,sigWOtrend)
xlabel('Time (s)')
ylabel('Amplitude')
title('Trend Term Removed')

Figure contains an axes. The axes with title Trend Term Removed contains an object of type line.

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

include = true(size(mra,1),1);
include([1 2 9]) = false;
ts = sum(mra(include,:));
plot(t,comp2,'b')
hold on
plot(t,ts,'r')
title('Trend Term and Highest Frequency Component Removed')
xlabel('Time (s)')
ylabel('Amplitude')
legend('Component 2','Partial Reconstruction')
xlim([0.0 0.4])

Figure contains an axes. The axes with title Trend Term and Highest Frequency Component Removed contains 2 objects of type line. These objects represent Component 2, Partial Reconstruction.

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

figure
plot(t,trend,'LineWidth',2)
hold on
plot(t,[mra(end,:)' imf_vmd(:,end) imf_emd(:,end) mra_ewt(:,end)])
grid on
legend('Trend','Wavelet','VMD','EMD','EWT')
ylabel('Amplitude')
xlabel('Time (s)')
title('Trend in three MRAs')

Figure contains an axes. The axes with title Trend in three MRAs contains 5 objects of type line. These objects represent Trend, Wavelet, VMD, EMD, EWT.

Следует отметить, что тренд является более плавным и наиболее точно фиксируется вейвлет-техникой. EMD находит гладкий член тренда, но он смещен относительно истинной амплитуды тренда, в то время как техника VMD кажется по своей сути более смещенной к поиску колебаний, чем техника вейвлета и EMD. Последствия этого дополнительно обсуждаются в разделе «Методы MRA - преимущества и недостатки».

Обнаружение переходных изменений с помощью MRA

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

Для иллюстрации этого рассмотрим ежеквартально взвешенные по цепочке данные о реальном валовом внутреннем продукте (ВВП) США за 1947Q1- 2011Q4 годы. Квартальные выборки соответствуют частоте выборки 4 пробы в год. Вертикальная черная линия знаменует начало «Большой умеренности», означающей период снижения макроэкономической волатильности в США начиная с середины 1980-х годов. Обратите внимание, что это трудно различить, глядя на необработанные данные.

load GDPData
figure
plot(year,realgdp)
hold on
plot([year(146) year(146)],[-0.06 0.14],'k')
title('GDP Data')
xlabel('Year')
hold off

Figure contains an axes. The axes with title GDP Data contains 2 objects of type line.

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

mra = modwtmra(modwt(realgdp,'db2'));
figure
plot(year,mra(1,:))
hold on
plot([year(146) year(146)],[-0.015 0.015],'k')
title('Wavelet MRA - Quarter-to-Quarter Changes')
xlabel('Year')
hold off

Figure contains an axes. The axes with title Wavelet MRA - Quarter-to-Quarter Changes contains 2 objects of type line.

Снижение изменчивости или в экономическом выражении волатильности гораздо более очевидно в компоненте MRA с лучшим разрешением, чем в исходных данных. Методы обнаружения изменений дисперсии, такие как MATLAB findchangepts(Панель инструментов обработки сигналов) часто работает лучше на компонентах MRA, чем на необработанных данных.

Методы MRA - преимущества и недостатки

В этом примере мы обсудили вейвлет и методы адаптации к данным для анализа множественных решений. Каковы некоторые из преимуществ и недостатков различных методов? Другими словами, для каких приложений я могу выбрать одно вместо другого? Начнем с вейвлетов. Вейвлет-методы в этом примере используют фиксированные фильтры для получения MRA. Это означает, что вейвлет MRA имеет четко определенное математическое объяснение, и мы можем предсказать поведение MRA. Мы также можем связать события в MRA с конкретными временными шкалами в данных, как это было сделано в примере ВВП. Недостаток состоит в том, что вейвлет-преобразование делит сигнал на октавные полосы (уменьшение центральной частоты на 1/2 в каждом компоненте), так что на высоких центральных частотах полосы пропускания намного больше, чем на более низких частотах. Это означает, что два близко расположенных высокочастотных колебания могут легко оказаться в одном и том же компоненте MRA с помощью вейвлет-метода.

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

Fs = 1e3;
t = 0:1/Fs:1-1/Fs;
comp1 = cos(2*pi*150*t).*(t>=0.1 & t<0.3);
comp2 = cos(2*pi*200*t).*(t>0.7);
trend = sin(2*pi*1/2*t);
rng default;
wgnNoise = 0.4*randn(size(t));
x = comp1+comp2+trend+wgnNoise;
plot(t,x)
xlabel('Seconds')
ylabel('Amplitude')

Figure contains an axes. The axes contains an object of type line.

Повторите и постройте график MRA вейвлета.

mra = modwtmra(modwt(x,8));
helperMRAPlot(x,mra,t,'wavelet','Wavelet MRA',[2 9])

Figure contains 10 axes. Axes 1 with title Wavelet MRA contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 4 contains an object of type line. Axes 5 contains an object of type line. Axes 6 contains an object of type line. Axes 7 contains an object of type line. Axes 8 contains an object of type line. Axes 9 contains an object of type line. Axes 10 contains an object of type line.

Теперь мы видим, что D∼2 содержит компоненты 150 Гц и 200 Гц. При повторении этого анализа с использованием EMD отображается тот же результат.

Теперь давайте использовать VMD.

[imf_vmd,~,info_vmd] = vmd(x);
helperMRAPlot(x,imf_vmd,t,'vmd','VMD',[1 2 3 5]);

Figure contains 6 axes. Axes 1 with title VMD contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 4 contains an object of type line. Axes 5 contains an object of type line. Axes 6 contains an object of type line.

VMD способен разделять два компонента. Высокочастотное колебание локализовано в МВФ 1, в то время как второй компонент распределен по двум смежным ИС. Если посмотреть на расчетные центральные частоты режимов VMD, методика локализовала первые два компонента около 200 и 150 Гц. Третий МВФ имеет центральную частоту, близкую к 150 Гц, поэтому мы видим второй компонент в двух компонентах MRA.

info_vmd.CentralFrequencies*Fs
ans = 5×1

  202.7204
  153.3278
  148.8022
   84.2802
    0.2667

VMD в состоянии сделать это, потому что он начинается, определяя частоты центра кандидата для IMFs, смотря на анализ области частоты данных.

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

wpt = modwptdetails(x,3);
helperMRAPlot(x,flip(wpt),t,'wavelet','Wavelet Packet MRA',[5 6 8]);

Figure contains 9 axes. Axes 1 with title Wavelet Packet MRA contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 4 contains an object of type line. Axes 5 contains an object of type line. Axes 6 contains an object of type line. Axes 7 contains an object of type line. Axes 8 contains an object of type line. Axes 9 contains an object of type line.

Теперь вы видите, что два колебания разделены в D∼5 и D∼6. Из этого примера можно извлечь общее правило. Если начальный вейвлет или EMD-разложение показывает компоненты с явно различными скоростями колебаний в одном и том же компоненте, рассмотрим VMD или вейвлет-пакет MRA. Если вы подозреваете, что ваши данные имеют высокочастотные компоненты, близкие по частоте, VMD или вейвлет-пакетный подход обычно работает лучше, чем вейвлет или EMD подход.

Напомним о проблеме извлечения плавного тренда. Повторите и вейвлет MRA, и EMD.

mra = modwtmra(modwt(x,8));
helperMRAPlot(x,mra,t,'wavelet','Wavelet MRA',[2 9])

Figure contains 10 axes. Axes 1 with title Wavelet MRA contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 4 contains an object of type line. Axes 5 contains an object of type line. Axes 6 contains an object of type line. Axes 7 contains an object of type line. Axes 8 contains an object of type line. Axes 9 contains an object of type line. Axes 10 contains an object of type line.

imf_emd = emd(x);
helperMRAPlot(x,imf_emd,t,'EMD','Empirical Mode Decomposition',[1 2 6])

Figure contains 7 axes. Axes 1 with title Empirical Mode Decomposition contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 4 contains an object of type line. Axes 5 contains an object of type line. Axes 6 contains an object of type line. Axes 7 contains an object of type line.

Тренды, извлеченные методами вейвлета и EMD, ближе к истинному тренду, чем тренды, извлеченные методом VMD и вейвлет-пакета. VMD по своей природе смещен к поиску узкополосных колебательных компонентов. Это является сильной стороной VMD в обнаружении близко расположенных колебаний, но недостатком при извлечении плавных тенденций в данных. То же самое относится и к MRA вейвлет-пакетов, когда разложение выходит за пределы нескольких уровней. Это приводит ко второй общей рекомендации. Если вы заинтересованы в характеристике плавного тренда в ваших данных для идентификации или удаления, попробуйте метод вейвлета или EMD.

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

[imf_vmd,~,vmd_info] = vmd(realgdp);
figure
subplot(2,1,1)
plot(year,realgdp)
title('Real GDP');
hold on
plot([year(146) year(146)],[-0.1 0.15],'k')
hold off
subplot(2,1,2)
plot(year,imf_vmd(:,1));
title('First VMD IMF');
xlabel('Year')
hold on
plot([year(146) year(146)],[-0.02 0.02],'k')
hold off

Figure contains 2 axes. Axes 1 with title Real GDP contains 2 objects of type line. Axes 2 with title First VMD IMF contains 2 objects of type line.

Хотя компонент VMD с самой высокой частотой также, по-видимому, демонстрирует некоторое снижение изменчивости, начиная с середины 1980-х годов, это не так очевидно, как в вейвлет-MRA. Поскольку техника ВМД смещена к поиску колебаний, в первом ВМД МВФ есть существенный звон, который скрывает изменения волатильности.

Повторите этот анализ с использованием EMD.

imf_emd = emd(realgdp);
figure
subplot(2,1,1)
plot(year,realgdp)
title('Real GDP');
hold on
plot([year(146) year(146)],[-0.1 0.15],'k')
hold off
subplot(2,1,2)
plot(year,imf_emd(:,1));
title('First EMD IMF')
xlabel('Year')
hold on
plot([year(146) year(146)],[-0.06 0.05],'k')
hold off

Figure contains 2 axes. Axes 1 with title Real GDP contains 2 objects of type line. Axes 2 with title First EMD IMF contains 2 objects of type line.

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

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

Заключения

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

  • Если данные содержат колебательные компоненты, близкие по частоте, и если частоты низкие, попробуйте использовать вейвлет, вейвлет-пакеты, эмпирический вейвлет или методы VMD.

  • Если данные содержат близко расположенные высокочастотные колебательные компоненты, попробуйте использовать VMD или вейвлет-пакеты. VMD идентифицирует важные центральные частоты непосредственно из данных, в то время как вейвлет-пакеты используют анализ фиксированной частоты, который может быть менее гибким, чем VMD. Вейвлет и эмпирические вейвлет методы являются постоянной Q фильтрацией сигнала, что означает, что полосы пропускания пропорциональны центральной частоте. На высоких частотах это затрудняет разделение близко расположенных компонентов.

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

  • Если вы заинтересованы в представлении термина плавного тренда в данных, рассмотрите EMD или вейвлет MRA.

С помощью Signal Multisolution Analyzer можно выполнять анализ многосогласования для сигнала, получать метрики для различных компонентов MRA, экспериментировать с частичными реконструкциями и генерировать сценарии MATLAB для воспроизведения анализа в командной строке.

Ссылки

[1] Драгомирецкий, Константин и Доминик Зоссо. «Декомпозиция в вариационном режиме». Транзакции IEEE по обработке сигналов 62, № 3 (февраль 2014 г.): 531-44. https://doi.org/10.1109/TSP.2013.2288675.

[2] Фландрин, П., Г. Рилинг и П. Гонкальвес. «Декомпозиция в эмпирическом режиме как банк фильтров». IEEE Обработка сигналов Письма 11, № 2 (февраль 2004): 112-14. https://doi.org/10.1109/LSP.2003.821662.

[3] Джайлс, J. «Эмпирическое вейвлет-преобразование», IEEE Transactions on Signal Processing, vol. 61, no. 16 (May 2013): 3999 - 4010.

[4] Хуан, Нордэн Э., Чжэн Шэнь, Стивен Р. Лонг, Манли К. Ву, Хсин Х. Ших, Цюань Чжэн, Най-Чьюань Иен, Чи Чао Тунг и Генри Х. Лю. «Декомпозиция эмпирического режима и спектр Гильберта для нелинейного и нестационарного анализа временных рядов». Труды Лондонского королевского общества. Серия A: Математические, физические и инженерные науки 454, № 1971 (8 марта 1998): 903-95. https://doi.org/10.1098/rspa.1998.0193.

[5] Персиваль, Дональд Б. и Эндрю Т. Уолден. Вейвлет-методы для анализа временных рядов. Кембриджская серия по статистической и вероятностной математике. Кембридж; Нью-Йорк: Cambridge University Press, 2000.

См. также

Функции

Приложения

Связанные темы