В этом примере показано, как использовать вейвлеты для характеристики закономерности локального сигнала. Способность описывать регулярность сигнала важна при обращении с явлениями, не имеющими характерного масштаба. Сигналы с безмасштабной динамикой широко наблюдаются в ряде различных областей применения, включая биомедицинскую обработку сигналов, геофизику, финансы и интернет-трафик. Всякий раз, когда вы применяете какой-либо метод анализа к своим данным, вы всегда предполагаете что-то о данных. Например, если вы используете автокорреляцию или оценку спектральной плотности мощности (PSD), вы предполагаете, что ваши данные инвариантны трансляции, что означает, что статистика сигнала, такая как среднее и дисперсия, не изменяется с течением времени. Сигналы без характеристического масштаба инвариантны по масштабу. Это означает, что статистика сигнала не изменяется, если растянуть или уменьшить ось времени. Классические методы обработки сигналов обычно не позволяют адекватно описать эти сигналы или выявить различия между сигналами с различным поведением масштабирования. В этих случаях фрактальный анализ может дать уникальную информацию. Некоторые из следующих примеров используют pwelch для иллюстрации. Для выполнения этого кода необходимо иметь Toolbox™ обработки сигналов.
Важный класс сигналов с безмасштабной динамикой имеют автокорреляционные или спектральные плотности мощности (PSD), которые следуют закону мощности. Степенно-закономерный процесс имеет PSD вида -α для некоторой положительной константыC, и некоторую α. В некоторых случаях сигнал, представляющий интерес, показывает PSD закона мощности. В других случаях интересующий сигнал искажается шумом с PSD закона мощности. Эти шумы часто называют цветными. Возможность оценки степени по реализациям этих процессов имеет важные последствия. Например, это позволяет сделать выводы о механизме генерации данных, а также предоставить эмпирические данные для поддержки или отклонения теоретических прогнозов. В случае мешающего шума с PSD закона мощности он полезен при разработке эффективных фильтров.
Коричневый шум, или броуновский процесс, является одним из таких цветных шумовых процессов с теоретической степенью 2. Одним из способов оценки степени процесса силового закона является соответствие линии наименьших квадратов логарифмическому графику PSD.
load brownnoise; [Pxx,F] = pwelch(brownnoise,kaiser(1000,10),500,1000,1); plot(log10(F(2:end)),log10(Pxx(2:end))); grid on; xlabel('log10(F)'); ylabel('log10(Pxx)'); title('Log-Log Plot of PSD Estimate')

Регрессируйте значения PSD журнала на частотах журнала. Обратите внимание, что необходимо игнорировать нулевую частоту, чтобы не брать нулевой журнал.
Xpred = [ones(length(F(2:end)),1) log10(F(2:end))]; b = lscov(Xpred,log10(Pxx(2:end))); y = b(1)+b(2)*log10(F(2:end)); hold on; plot(log10(F(2:end)),y,'r--'); title(['Estimated Slope is ' num2str(b(2))]);

Кроме того, для оценки показателя степени можно использовать методы дискретного и непрерывного вейвлет-анализа. Отношение между показателем Holder, H, возвращаемое dwtleader и wtmm и - это сценарий + 1.
[dhbrown,hbrown,cpbrown] = dwtleader(brownnoise);
hexp = wtmm(brownnoise);
fprintf('Wavelet leader estimate is %1.2f\n',-2*cpbrown(1)-1);Wavelet leader estimate is -1.91
fprintf('WTMM estimate is %1.2f\n',-2*hexp-1);WTMM estimate is -2.00
В этом случае оценка, полученная путем подгонки линии наименьших квадратов к логарифму оценки PSD, и оценка, полученная с использованием вейвлет-методов, находятся в хорошем согласии.
Существует ряд реальных сигналов, которые демонстрируют нелинейное поведение по степенному закону, которое зависит от моментов более высокого порядка и масштаба. Многофакторный анализ обеспечивает способ описания этих сигналов. Многофакторный анализ состоит в определении того, существует ли некоторый тип масштабирования по степенному закону для различных статистических моментов в разных масштабах. Если это поведение масштабирования характеризуется одной степенью масштабирования или эквивалентно является линейной функцией моментов, процесс является монофракционным. Если масштабирование по масштабу является нелинейной функцией моментов, процесс является многофакторным. Коричневый шум из предыдущего раздела является примером монофрактального процесса, и это показано в более позднем разделе.
Для иллюстрации того, как фрактальный анализ может выявить структуру сигнала, не очевидную с помощью более классических методов обработки сигнала, нагрузка RWdata.mat который содержит два временных ряда (Ts1 и Ts2) с 8000 образцов каждый. Постройте график данных.
load RWdata; figure; plot([Ts1 Ts2]); grid on; legend('Ts1','Ts2','Location','NorthEast'); xlabel('Time'); ylabel('Amplitude');

Сигналы имеют очень похожую статистику второго порядка. Если вы посмотрите на средние, среднеквадратичные значения и отклонения Ts1 и Ts2, значения почти идентичны. Оценки ОСЧС также очень схожи.
pwelch([Ts1 Ts2],kaiser(1e3,10))

Автокорреляционные последовательности распадаются очень медленно для обоих временных рядов и не являются информативными для дифференциации временных рядов.
[xc1,lags] = xcorr(Ts1,300,'coef'); xc2 = xcorr(Ts2,300,'coef'); subplot(2,1,1) hs1 = stem(lags(301:end),xc1(301:end)); hs1.Marker = 'none'; title('Autocorrelation Sequence of Ts1'); subplot(2,1,2) hs2 = stem(lags(301:end),xc2(301:end)); hs2.Marker = 'none'; title('Autocorrelation Sequence of Ts2'); xlabel('Lag')

Даже при запаздывании 300 автокорреляции составляют 0,94 и 0,96 соответственно.
Тот факт, что эти сигналы сильно отличаются, обнаруживается с помощью фрактального анализа. Вычислите и постройте график многофакторных спектров двух сигналов. В мультифракционном анализе дискретные вейвлет-методы, основанные на так называемых вейвлет-лидерах, являются наиболее надежными.
[dh1,h1,cp1,tauq1] = dwtleader(Ts1); [dh2,h2,cp2,tauq2] = dwtleader(Ts2); figure; hp = plot(h1,dh1,'b-o',h2,dh2,'b-^'); hp(1).MarkerFaceColor = 'b'; hp(2).MarkerFaceColor = 'r'; grid on; xlabel('h'); ylabel('D(h)'); legend('Ts1','Ts2','Location','NorthEast'); title('Multifractal Spectrum');

Многофакторный спектр эффективно показывает распределение степеней масштабирования для сигнала. Эквивалентно, мультифрактальный спектр обеспечивает меру того, насколько локальная регулярность сигнала изменяется во времени. Сигнал, который является монофрактальным, проявляет по существу одинаковую регулярность везде во времени и, следовательно, имеет многофракционный спектр с узкой поддержкой. И наоборот, мультифрактальный сигнал проявляет изменения в регулярности сигнала с течением времени и имеет мультифрактальный спектр с более широкой поддержкой. Из многофакторных спектров, показанных здесь, Ts2, по-видимому, является монофракционным сигналом, характеризующимся кластером степеней масштабирования около 0,78. С другой стороны, Ts1демонстрирует широкий диапазон степеней масштабирования, указывающих на то, что она является многофакторной. Обратите внимание на общий диапазон степеней масштабирования (Holder) для Ts2 всего 0,14, в то время как он в 4,6 раза больше для Ts1. Ts2 на самом деле является примером процесса монофракционного дробного броуновского движения (fBm) с показателем Холдера 0,8 и Ts1 - многофакторная случайная прогулка.
Можно также использовать масштабирование выходных данных экспоненты из dwtleader вместе со 2-м кумулянтом, чтобы помочь классифицировать процесс как монофрактальный против мультифрактального. Напомним, что монофрактальный процесс имеет линейный закон масштабирования как функцию статистических моментов, в то время как мультифрактальный процесс имеет нелинейный закон масштабирования. dwtleader использует диапазон моментов от -5 до 5 при оценке этих законов масштабирования. График степеней масштабирования для процесса fBm и многофакторного случайного обхода (MRW) показывает разницу.
plot(-5:5,tauq1,'b-o',-5:5,tauq2,'r-^'); grid on; xlabel('Q-th Moment'); ylabel('Scaling Exponents'); title('Scaling Exponents'); legend('MRW','fBm','Location','SouthEast');

Экспоненты масштабирования для процесса fBm являются линейной функцией моментов, в то время как экспоненты для процесса MRW показывают отход от линейности. Эту же информацию суммируют 1-й, 2-й и 3-й кумулянты. Первым кумулянтом является оценка уклона, другими словами, она фиксирует линейное поведение. Второй кумулянт фиксирует первый отход от линейности. Можно считать второй кумулятив коэффициентами для члена второго порядка (квадратичного), в то время как третий кумулятив характеризует более сложный отход масштабных экспонент от линейности. При анализе 2-го и 3-го кумулянтов для процесса MRW они в 6 и 42 раза превышают соответствующие кумулянты для данных fBm. В последнем случае 2-й и 3-й кумулянты почти равны нулю, как и ожидалось.
Для сравнения добавьте мультифрактальный спектр для коричневого шума, вычисленного в предыдущем примере.
hp = plot(h1,dh1,'b-o',h2,dh2,'b-^',hbrown,dhbrown,'r-v'); hp(1).MarkerFaceColor = 'b'; hp(2).MarkerFaceColor = 'r'; hp(3).MarkerFaceColor = 'k'; grid on; xlabel('h'); ylabel('D(h)'); legend('Ts1','Ts2','brown noise','Location','SouthEast'); title('Multifractal Spectrum');

Оба дробный броуновский процесс (Ts2) и ряды коричневых шумов являются монофрактальными. Однако простой сюжет двух временных рядов показывает, что они выглядят совершенно по-разному.
subplot(2,1,1) plot(brownnoise); title('Brown Noise'); grid on; axis tight; subplot(2,1,2) plot(Ts2); title('fBm H=0.8'); grid on; axis tight;

Данные fBm намного более гладкие, чем коричневый шум. Коричневый шум, также известный как случайная прогулка, имеет теоретическую степень Холдера 0,5. Это значение образует границу между процессами с показателями Holder, H, от 0 < H < 0,5 и процессами с показателями Holder в интервале 0,5 < H < 1. Первые называются антиперсантными и демонстрируют короткую память. Последние называются постоянными и обладают большой памятью. В антиперсантных временных рядах за увеличением значения в момент времени t следует с большой вероятностью уменьшение значения в момент времени t + 1. Аналогично, уменьшение значения в момент времени t обычно сопровождается увеличением значения в момент времени t + 1. Другими словами, временной ряд имеет тенденцию всегда возвращаться к своему среднему значению. В постоянных временных рядах увеличение значения имеет тенденцию сопровождаться последующим увеличением, в то время как уменьшение значения имеет тенденцию сопровождаться последующим уменьшением.
Чтобы увидеть некоторые реальные примеры антиперсантных временных рядов, загрузите и проанализируйте дневную доходность журнала для фондовых индексов Taiwan Weighted и Seoul Composite. Дневная доходность для обоих индексов охватывает примерный период с июля 1997 года по апрель 2016 года.
load StockCompositeData; subplot(2,1,1) plot(SeoulComposite); title('Seoul Composite Index - 07/1997-04/2016'); ylabel('Log Returns'); grid on; subplot(2,1,2); plot(TaiwanWeighted); title('Taiwan Weighted Index - 07/1997-04/2016'); ylabel('Log Returns'); grid on;

Получить и построить график мультифрактальных спектров этих двух временных рядов.
[dhseoul,hseoul,cpseoul] = dwtleader(SeoulComposite); [dhtaiwan,htaiwan,cptaiwan] = dwtleader(TaiwanWeighted); figure; plot(hseoul,dhseoul,'b-o','MarkerFaceColor','b'); hold on; plot(htaiwan,dhtaiwan,'r-^','MarkerFaceColor','r'); xlabel('h'); ylabel('D(h)'); grid on; title('Multifractal Spectrum');

Из мультифрактального спектра ясно, что оба временных ряда антиперсантны. Для сравнения постройте график мультифрактальных спектров двух финансовых временных рядов вместе с коричневым шумом и данными fBm, показанными ранее.
plot(hbrown,dhbrown,'k-v','MarkerFaceColor','k'); plot(h2,dh2,'b-*','MarkerFaceColor','b'); legend('Seoul Composite','Taiwan Weighted Index','Brown Noise','FBM',... 'Location','SouthEast'); hold off;

Определение того, что процесс является антиперсантным или постоянным, полезно для прогнозирования будущего. Например, можно ожидать, что временной ряд с большой памятью, которая увеличивается, продолжит увеличиваться. Хотя можно ожидать, что временной ряд, который проявляет антиперсистентность, будет двигаться в противоположном направлении.
Нормальная вариабельность сердечного ритма человека, измеренная как интервалы ОР, показывает многофакторное поведение. Кроме того, снижение этого нелинейного масштабного поведения является хорошим предиктором сердечных заболеваний и даже смертности.
В качестве примера индуцированного изменения фрактальной динамики вариабельности сердечного ритма рассмотрим E1 простагландина у пациента из-за тяжелого гипертонического эпизода. Данные являются частью RHRV, пакета программного обеспечения на основе R для анализа вариабельности сердечного ритма. Авторы любезно дали разрешение на его использование в этом примере.
Загрузите и постройте график данных. Вертикальная красная линия знаменует начало влияния E1 простагландина на частоту сердечных сокращений и вариабельность частоты сердечных сокращений.
load hrvDrug; plot(hrvDrug); grid on; hold on; plot([4642 4642],[min(hrvDrug) max(hrvDrug)],'r','linewidth',2); hold off; ylabel('Heart Rate'); xlabel('Sample');

Разбить данные на наборы данных до и после приема лекарств. Получение и построение графика мультифрактальных спектров двух временных рядов.
predrug = hrvDrug(1:4642); postdrug = hrvDrug(4643:end); [dhpre,hpre] = dwtleader(predrug); [dhpost,hpost] = dwtleader(postdrug); figure; hl = plot(hpre,dhpre,'b-d',hpost,dhpost,'r-^'); hl(1).MarkerFaceColor = 'b'; hl(2).MarkerFaceColor = 'r'; xlabel('h'); ylabel('D(h)'); grid on; legend('Predrug','Postdrug'); title('Multifractal Spectrum'); xlabel('h'); ylabel('D(h)');

Индукция лекарственного средства привела к 50% уменьшению ширины фрактального спектра. Это указывает на значительное снижение нелинейной динамики сердца, измеряемой вариабельностью сердечного ритма. В этом случае уменьшение фрактального измерения было частью медицинского вмешательства. В другом контексте исследования групп здоровых людей и пациентов с застойной сердечной недостаточностью показали, что различия в мультифрактальных спектрах могут дифференцировать эти группы. В частности, значительное уменьшение ширины мультифрактального спектра является маркером сердечной дисфункции.
Л. Родригес-Линарес, Л., А. Дж. Мендес, М. Дж. Ладо, Д. Н. Оливьери, X.A. Вила и И. Гомес-Конде, «Инструмент с открытым исходным кодом для спектрального анализа вариабельности сердечного ритма», Компьютерные методы и программы в биомедицине, 103 (1
Вендт, Х. и Абри, П. «Тесты мультипрактичности с использованием загрузочных вейвлет-лидеров», IEEE Trans. Signal Processing, vol. 55, no. 10, pp. 4811-4820, 2007.
Вендт, Х., Абри, П. и Джаффард, С. «Bootstrap for empirical multipractal analysis», IEEE Signal Processing Magazine, 24, 4, 38-48, 2007.
Яффард, С., Лашермес, Б. и Абри, П. «Вейвлет-лидеры в мультифракционном анализе». В Т. Цянь, М. И. Вае и X. Юэшэне редакторы. Вейвлет-анализ и приложения, стр. 219-264, Биркхаузер, 2006.