В этом примере показано, как использовать когерентность вейвлета и перекрестный спектр вейвлета, чтобы идентифицировать локализованное временем общее колебательное поведение в двух временных рядах. Пример также сравнивает когерентность вейвлета и перекрестный спектр против их дубликатов Фурье. У вас должен быть Signal Processing Toolbox™, чтобы запустить примеры с помощью mscohere
(Signal Processing Toolbox) и cpsd
(Signal Processing Toolbox).
Много приложений включают идентификацию и охарактеризование общих шаблонов в двух временных рядах. В некоторых ситуациях общее поведение в двух временных рядах следует из одного управления временных рядов или влияния другой. В других ситуациях общие шаблоны следуют из некоторого ненаблюдаемого механизма, влияющего на оба временных рядов.
Для совместно стационарных временных рядов стандартные методы для охарактеризования коррелированого поведения вовремя или частоты являются взаимной корреляцией, перекрестным спектром (Фурье) и когерентностью. Однако много временных рядов являются неустановившимися, означая, что их содержимое частоты изменяется в зависимости от времени. Для этих временных рядов важно иметь меру корреляции или когерентности в плоскости частоты времени.
Можно использовать когерентность вейвлета, чтобы обнаружить общие локализованные временем колебания в неустановившихся сигналах. В ситуациях, где естественно просмотреть временные ряды как влияние на другого, можно использовать фазу перекрестного спектра вейвлета, чтобы идентифицировать относительную задержку между двумя временными рядами.
Для первого примера используйте два сигнала, состоящие из локализованных временем колебаний на уровне 10 и 75 Гц. Сигналы составляют шесть секунд в длительности и производятся на уровне 1 000 Гц. Колебание на 10 Гц в двух сигналах перекрывается между 1,2 и 3 секундами. Перекрытие для колебания на 75 Гц находится между 0,4 и 4,4 секундами. Компоненты на 10 и 75 Гц задерживаются 1/4 цикла в Y-сигнале. Это означает, что существует a (90 степеней) задержка фазы между компонентами на 10 и 75 Гц в двух сигналах. Оба сигнала повреждаются аддитивным белым Гауссовым шумом.
load wcoherdemosig1 subplot(2,1,1) plot(t,x1) title('X Signal') grid on ylabel('Amplitude') subplot(2,1,2) plot(t,y1) title('Y Signal') ylabel('Amplitude') grid on xlabel('Seconds')
Получите когерентность вейвлета и отобразите результат. Введите частоту дискретизации (1 000 Гц), чтобы получить частотный график времени когерентности вейвлета. В областях плоскости частоты времени, где когерентность превышает 0.5, фаза от перекрестного спектра вейвлета используется, чтобы указать на относительную задержку между когерентными компонентами. Фаза обозначается стрелами, ориентированными в конкретном направлении. Обратите внимание на то, что 1/4 задержка цикла в Y-сигнале на особой частоте обозначается стрелой, указывающей вертикально.
figure wcoherence(x1,y1,1000)
Две локализованных временем области когерентного колебательного поведения на уровне 10 и 75 Гц очевидны в графике когерентности вейвлета. Фазовое соотношение показывает ориентация стрелок в областях высокой когерентности. В этом примере вы видите, что перекрестный спектр вейвлета получает (1/4 цикл) задержка фазы между двумя сигналами на уровне 10 и 75 Гц.
Белая пунктирная линия показывает конус влияния, где краевые эффекты становятся значительными на различных частотах (шкалы). Области высокой когерентности, происходящей снаружи или перекрывающей конус влияния, должны быть интерпретированы с осторожностью.
Повторите тот же анализ с помощью квадрата когерентности Фурье и перекрестного спектра.
figure mscohere(x1,y1,500,450,[],1000)
[Pxy,F] = cpsd(x1,y1,500,450,[],1000); Phase = (180/pi)*angle(Pxy); figure plot(F,Phase) title('Cross-Spectrum Phase') xlabel('Hz') ylabel('Phase (Degrees)') grid on ylim([0 180]) xlim([0 200]) hold on plot([10 10],[0 180],'r--') plot([75 75],[0 180],'r--') plot(F,90*ones(size(F)),'r--') hold off
Квадрат когерентности Фурье получен из mscohere
(Signal Processing Toolbox) ясно идентифицирует когерентные колебания на уровне 10 и 75 Гц. В графике фазы перекрестного спектра Фурье вертикальные красные пунктирные линии отмечают 10 и 75 Гц, в то время как горизонтальная линия отмечает угол 90 градусов. Вы видите, что фаза перекрестного спектра делает разумное задание получения относительной задержки фазы между компонентами.
Однако зависящая от времени природа когерентного поведения полностью затенена этими методами. Для неустановившихся сигналов, характеризуя когерентное поведение в плоскости частоты времени намного более информативно.
Следующий пример повторяет предыдущий при изменении фазового соотношения между двумя сигналами. В этом случае компонент на 10 Гц в Y-сигнале задерживается 3/8 цикла ( радианы). Компонент на 75 Гц в Y-сигнале задерживается 1/8 цикла ( радианы). Постройте когерентность вейвлета и порог отображение фазы, чтобы только показать области, где когерентность превышает 0.75.
load wcoherdemosig2 wcoherence(x2,y2,1000,'phasedisplaythreshold',0.75)
Оценки фазы, полученные из перекрестного спектра вейвлета, получают относительную задержку между двумя временными рядами на уровне 10 и 75 Гц.
Если вы предпочитаете просматривать данные в терминах периодов, а не частоты, можно использовать объект длительности MATLAB обеспечить wcoherence
с шагом расчета.
wcoherence(x2,y2,seconds(0.001),'phasedisplaythreshold',0.75)
Обратите внимание на то, что конус влияния инвертировал, потому что когерентность вейвлета теперь построена в терминах периодов.
Загрузите и постройте область Эль-Ниньо 3 данных и deseasonalized Весь индийский индекс Ливня от 1 871 до последних 2003. Данные производятся ежемесячно. Нино 3 временных рядов является записью ежемесячных аномалий температуры поверхности моря, в градусах Цельсия зарегистрированный из экваториального Тихого океана в долготах 90 градусов на запад к 150 градусам на запад и широтам 5 градусов на север к 5 градусам на юг. Весь индийский индекс Ливня представляет средние индийские ливни в миллиметрах с сезонными удаленными компонентами.
load ninoairdata figure subplot(2,1,1) plot(datayear,nino) title('El Nino Region 3 -- SST Anomalies') ylabel('Degrees Celsius') axis tight subplot(2,1,2) plot(datayear,air) axis tight title('Deseasonalized All Indian Rainfall Index') ylabel('Millimeters') xlabel('Year')
Постройте когерентность вейвлета с оценками фазы. Для этих данных более естественно посмотреть на колебания в терминах их периодов в годах. Введите интервал выборки (период) как объект длительности с модулями лет так, чтобы выходные периоды были в годах. Покажите относительную задержку между двумя временными рядами климата только там, где квадрат когерентности превышает 0.7.
figure
wcoherence(nino,air,years(1/12),'phasedisplaythreshold',0.7)
График показывает локализованные временем области сильной когерентности, происходящей в периоды, которые соответствуют типичным циклам Эль-Ниньо 2 - 7 лет. График также показывает, что существует аппроксимированное 3/8-to-1/2 задержка цикла между двумя временными рядами в те периоды. Это указывает, что периоды моря, нагревающегося сопоставимый с Эль-Ниньо, зарегистрированным недалеко от берегов Южной Америки, коррелируются с суммами ливня в Индии на расстоянии приблизительно в 17 000 км, но что этот эффект задерживается приблизительно 1/2 цикл (1 к 3,5 годам).
В предыдущих примерах было естественно просмотреть временные ряды как влияние на другой. В этих случаях, исследуя отношение ведущей задержки между данными информативно. В других случаях более естественно исследовать одну только когерентность.
Для примера рассмотрите спектроскопию в ближней инфракрасной области (NIRS) данные полученный в двух испытуемых людях. NIRS измеряет мозговое действие путем использования различных характеристик поглощения окисленного и deoxygenated гемоглобина. Данные взяты из Cui, Bryant, & Reiss [1] и были любезно обеспечены авторами для этого примера. Сайт записи был превосходящей лобной корой для обоих предметов. Данные производятся на уровне 10 Гц. В эксперименте предметы альтернативно сотрудничали и конкурировали в задаче. Период задачи составлял приблизительно 7,5 секунд.
load NIRSData figure plot(tm,NIRSData(:,1)) hold on plot(tm,NIRSData(:,2),'r') legend('Subject 1','Subject 2','Location','NorthWest') xlabel('Seconds') title('NIRS Data') grid on hold off
Получите когерентность вейвлета как функцию времени и частоты. Можно использовать wcoherence
выводить когерентность вейвлета, перекрестный спектр, шкалу к частоте, или преобразования шкалы к периоду, а также конус влияния. В этом примере помощник функционирует helperPlotCoherence
пакеты некоторые полезные команды для графического вывода выходных параметров wcoherence
.
[wcoh,~,F,coi] = wcoherence(NIRSData(:,1),NIRSData(:,2),10,'numscales',16); helperPlotCoherence(wcoh,tm,F,coi,'Seconds','Hz')
В графике вы видите область сильной когерентности в течение периода сбора данных приблизительно 1 Гц. Это следует из сердечных ритмов двух предметов. Кроме того, вы видите области сильной когерентности приблизительно 0,13 Гц. Это представляет когерентные колебания в мозгах предметов, вызванных задачей. Если более естественно просмотреть когерентность вейвлета в терминах периодов, а не частот, можно ввести интервал выборки как объект длительности. wcoherence
обеспечивает преобразования шкалы к периоду.
[wcoh,~,P,coi] = wcoherence(NIRSData(:,1),NIRSData(:,2),seconds(0.1),... 'numscales',16); helperPlotCoherence(wcoh,tm,seconds(P),seconds(coi),... 'Time (secs)','Periods (Seconds)')
Снова, отметьте когерентные колебания, соответствующие сердечному действию предметов, происходящему в течение записей с периодом приблизительно одной секунды. Связанное с задачей действие также очевидно с периодом приблизительно 8 секунд. Consult Cui, Bryant, & Reiss [1] для более подробного анализа вейвлета этих данных.
В этом примере вы изучили, как использовать когерентность вейвлета, чтобы искать локализованное временем когерентное колебательное поведение в двух временных рядах. Для неустановившихся сигналов это часто более информативно, если у вас есть мера когерентности, которая обеспечивает одновременное время и частоту (период) информация. Относительная информация о фазе, полученная из перекрестного спектра вейвлета, может быть информативной, когда временные ряды непосредственно влияют на колебания в другом.
Следующая функция помощника используется в этом примере.
[1] Цуй, X., Д. М. Брайант и А. Л. Рейсс. "ОСНОВАННОЕ НА БИК-СПЕКТРОСКОПИИ Гиперсканирование Показывает Увеличенную Межабонентскую Когерентность в Превосходящей Лобной Коре во время Сотрудничества". Нейроизображение. Издание 59, Номер 3, 2012, стр 2430–2437.
[2] Grinsted, A., Дж. К. Мур и С. Йеврейева. "Приложение перекрестного вейвлета преобразовывает и когерентность вейвлета к геофизическим временным рядам". Нелинейные Процессы в Геофизике. Издание 11, 2004, стр 561–566. doi:10.5194/npg-11-561-2004.
[3] Maraun, D., Дж. Кертс и М. Холшнайдер. "Неустановившиеся Гауссовы процессы в области вейвлета: синтез, оценка и тестирование значения". Физический Анализ E. Издание 75, 2007, стр 016707 (1) –016707 (14). doi:10.1103/PhysRevE.75.016707.
[4] Торренс, C. и П. Уэбстер. "Межпроисходящие каждые десять лет Изменения в Системе ENSO-муссона". Журнал Климата. Издание 12, Номер 8, 1999, стр 2679–2690. doi:10.1175/1520-0442 (1999) 012 <2679:ICITEM> 2.0. CO; 2.