exponenta event banner

modwtxcorr

Оценки последовательности взаимной корреляции с использованием максимального перекрывающегося дискретного вейвлет-преобразования (MODWT)

Описание

пример

xcseq = modwtxcorr(w1,w2) возвращает оценки вейвлет-кросс-корреляционной последовательности для преобразований максимального перекрывающегося дискретного вейвлет-преобразования (MODWT), указанных в w1 и w2. xcseq - клеточный массив векторов, где элементы в каждой ячейке соответствуют оценкам кросс-корреляционной последовательности. Если на конечном уровне достаточно неграничных коэффициентов, modwtxcorr возвращает оценку масштабированной кросс-корреляционной последовательности в конечной ячейке xcseq.

пример

xcseq = modwtxcorr(w1,w2,wav) использует вейвлет wav для определения количества граничных коэффициентов по уровню.

пример

[xcseq,xcseqci] = modwtxcorr(___) возврат в xcseqci 95% доверительные интервалы для оценок кросс-корреляционной последовательности в xcseq, используя любые аргументы из предыдущих синтаксисов.

пример

[xcseq,xcseqci] = modwtxcorr(w1,w2,wav,conflevel) использование conflevel для вероятности покрытия доверительного интервала. conflevel является действительным скаляром строго больше 0 и меньше 1. Если conflevel не указан или указан как пустой, вероятность покрытия по умолчанию равна 0,95.

пример

[xcseq,xcseqci,lags] = modwtxcorr(___) возвращает задержки для оценок вейвлет-кросс-корреляционной последовательности в массиве ячеек векторов столбцов.

пример

[___] = modwtxcorr(___,'reflection') уменьшение числа коэффициентов вейвлета и масштабирования при каждом масштабе вдвое перед вычислением последовательностей взаимной корреляции. Указание 'reflection' опция в modwtxcorr эквивалентно первому получению MODWT w1 w2 с 'periodic' обработку границ и затем вычисление оценок вейвлет-кросс-корреляционной последовательности. Используйте эту опцию только при получении MODWT из w1 и w2 с использованием 'reflection' граничное условие. Необходимо ввести весь вектор символов 'reflection'. При добавлении вейвлета с именем 'reflection' перед использованием этой опции необходимо переименовать этот вейвлет с помощью диспетчера вейвлетов. 'reflection' может быть помещен в любое положение в списке входных аргументов после входных преобразований w1 w2.

Примеры

свернуть все

Получите данные MODWT индекса южных колебаний и давления на Трукских островах. Период отбора проб составляет один день.

load soi
load truk
wsoi = modwt(soi);
wtruk = modwt(truk);

Вычислите последовательности взаимной корреляции вейвлетов. Изучите последовательность взаимной корреляции пятого уровня, соответствующую шкале 32-64 дня. Определите индекс, соответствующий нулевому запаздыванию, и постройте график до 240 запаздываний.

xcseq = modwtxcorr(wsoi,wtruk);
zerolag = floor(numel(xcseq{5})/2)+1;
plot(xcseq{5}(zerolag:zerolag+240),'linewidth',2)
set(gca,'xlim',[1 240]);
title({'Cross-Correlation Sequence Level 5'; 'Scale: 32-64 Days'});
hold off

Figure contains an axes. The axes with title Cross-Correlation Sequence Level 5 Scale: 32-64 Days contains an object of type line.

Получить данные MODWT индекса южных колебаний и давления Трукских островов с помощью вейвлет-фильтра Фейера-Коровкина с 8 коэффициентами. Период выборки данных составляет один день.

load soi
load truk
wsoi = modwt(soi,'fk8');
wtruk = modwt(truk,'fk8');

Вычислите последовательности взаимной корреляции вейвлетов. Изучите последовательность взаимной корреляции пятого уровня, соответствующую шкале 32-64 дня. Определите индекс, соответствующий нулевому запаздыванию, и постройте график до 240 запаздываний.

xcseq = modwtxcorr(wsoi,wtruk,'fk8');
zerolag = floor(numel(xcseq{5})/2)+1;
plot(xcseq{5}(zerolag:zerolag+240),'linewidth',2)
set(gca,'xlim',[1 240]);
title({'Cross-Correlation Sequence Level 5'; 'Scale: 32-64 Days'});
hold off

Figure contains an axes. The axes with title Cross-Correlation Sequence Level 5 Scale: 32-64 Days contains an object of type line.

Подготовьте взаимную корреляцию небольшой волны с 95% доверительных интервалов в масштабе 4 для двух сигналов волны синуса на 5 Гц с совокупным шумом.

dt = 0.01;
t = 0:dt:6;
x = cos(2*pi*5*t)+1.5*randn(size(t));
y = cos(2*pi*5*t-pi)+2*randn(size(t));
wx = modwt(x,'fk14',5);
wy = modwt(y,'fk14',5);
modwtcorr(wx,wy,'fk14')
j = 4;
[xcseq,xcseqci] = modwtxcorr(wx,wy,'fk14');
zerolag = floor(numel(xcseq{j})/2)+1;
lagidx = zerolag-30:zerolag+30;
plot(xcseq{j}(lagidx));
hold on;
grid
plot(xcseqci{j}(lagidx,:),'r--');
xlabel('Samples');
title('Scale: 0.32-0.16 Seconds');

Сравните доверительные интервалы .90 и .95 (по умолчанию) для взаимной вейвлет-корреляции на четвертом уровне.

Получить MODWT для двух шумных синусоидальных волн, используя коэффициент Фейера-Коровкина с 14 коэффициентами, и указать используемый уровень.

dt = 0.01;
t = 0:dt:6;
x = cos(2*pi*5*t)+1.5*randn(size(t));
y = cos(2*pi*5*t-pi)+2*randn(size(t));
wx = modwt(x,'fk14',4);
wy = modwt(y,'fk14',4);
lev = 4;

[xcseq,xcseqci] = modwtxcorr(wx,wy,'fk14');
[xcseq90,xcseqci90] = modwtxcorr(wx,wy,'fk14',0.90);
 
zerolag = floor(numel(xcseq{lev})/2)+1;
zerolag90 = floor(numel(xcseq90{lev})/2)+1;
 
lagidx = zerolag-30:zerolag+30;
lagidx90 = zerolag90-30:zerolag90+30;
 
plot(xcseqci{lev}(lagidx,:),'--r');
hold on
plot(xcseqci90{lev}(lagidx90,:),'--b');
plot(xcseq{lev}(lagidx),'-k','LineWidth',1);
grid
title('.90 and .95 Confidence Levels')

Figure contains an axes. The axes with title .90 and .95 Confidence Levels contains 5 objects of type line.

Обратите внимание, что ширина доверительного интервала .95 (красным цветом) превышает ширину доверительного интервала .90 (синим цветом).

Постройте график оценки последовательности взаимной корреляции для данных индекса южных колебаний и давления острова Трук. Оценить 95% доверительные интервалы для шкалы 25 дней.

load soi
load truk
wsoi = modwt(soi);
wtruk = modwt(truk);
[xcseq,xcseqci,lags] = modwtxcorr(wsoi,wtruk);
plot(lags{5},xcseq{5},'linewidth',2)
hold on
plot(lags{5},xcseqci{5},'r--')
set(gca,'xlim',[-120 120]);
xlabel('Lag (Days)'); 
grid 
title({'Cross-Correlation Sequence Level 5'; 'Scale: 32-64 Days'});
hold off

Figure contains an axes. The axes with title Cross-Correlation Sequence Level 5 Scale: 32-64 Days contains 3 objects of type line.

Получение данных MODWT за 36 лет индекса южных колебаний и данных о давлении на Трукских островах как с периодическими граничными условиями, так и с граничными условиями отражения. modwt функции с помощью 'reflection' опция расширяет входной сигнал симметрично на правой границе. Входной сигнал затем в два раза превышает его первоначальную длину. MODWTXCORR с обработкой границ отражения уменьшает количество коэффициентов вейвлета и масштабирования в каждой половине перед вычислением последовательностей взаимной корреляции. Размер последовательностей взаимной корреляции тот же, что и при получении MODWT с периодическим граничным условием по умолчанию.

load soi
load truk

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

wsoi_default = modwt(soi); 
wtruk_default = modwt(truk);

Получение MODWT с граничным условием отражения.

wsoi_reflect = modwt(soi,'reflection');
wtruk_reflect = modwt(truk,'reflection');

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

xcseq_default = modwtxcorr(wsoi_default,wtruk_default);
xcseq_reflect = modwtxcorr(wsoi_reflect,wtruk_reflect,'reflection');

Сравните количество элементов на выходе массива ячеек для обоих граничных условий.

cellfun(@numel,xcseq_reflect)
ans = 10×1

       25981
       25953
       25897
       25785
       25561
       25113
       24217
       22425
       18841
       11673

cellfun(@numel,xcseq_default)
ans = 10×1

       25981
       25953
       25897
       25785
       25561
       25113
       24217
       22425
       18841
       11673

Входные аргументы

свернуть все

Преобразование MODWT сигнала 1, определяемое как матрица двойников. Вход w1 должен быть того же размера, что и w2 и должны быть получены с тем же самым вейвлетом. По умолчанию modwtxcorr предполагает, что вы получили MODWT с помощью симлетного вейвлета с четырьмя моментами исчезновения, 'sym4').

Преобразование MODWT сигнала 2, определяемое как матрица двойников. Вход w2 должен быть того же размера, что и w1 и должны быть получены с тем же самым вейвлетом. По умолчанию modwtxcorr предполагает, что вы получили MODWT с помощью симлетного вейвлета с четырьмя моментами исчезновения ('sym4').

Вейвлет, заданный как вектор символов или строковый скаляр, указывающий допустимый вейвлет, или как положительное четное целое число, указывающее длину вейвлет-фильтра и фильтра масштабирования. Если wav не указан или указан как пустой, [], wav по умолчанию: 'sym4'.

Доверительный уровень, заданный как положительный скаляр меньше 1. conflevel определяет вероятность покрытия доверительных интервалов в xcseqci. Если не указано или указано как пустое, [], conflevel по умолчанию - 0,95.

Выходные аргументы

свернуть все

Кросс-корреляционные последовательности по масштабу, возвращаемые как клеточный массив векторов. Векторы имеют размер 2NJ-by-1, где NJ - количество неграничных коэффициентов по уровню (шкале). Этот уровень является минимальным из size(w1,1) и floor(log2(N/(L-1)+1)) где N - длина данных, а L - длина фильтра. Если на конечном уровне достаточно неграничных коэффициентов, modwtxcorr возвращает оценку масштабированной кросс-корреляционной последовательности в конечной ячейке xcseq.

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

  • Для значения по умолчанию .95 - первый столбец i-го элемента xcseqci содержит нижнюю 95% доверительную границу для коэффициента взаимной корреляции при каждом запаздывании.

  • Для значения по умолчанию .95 второй столбец содержит верхний предел достоверности 95%.

Доверительные границы вычисляются с использованием Z-преобразования Фишера. Стандартной ошибкой Z-статистики Фишера является квадратный корень N-3. В этом случае N - эквивалентное число коэффициентов в критически дискретизированном дискретном вейвлет-преобразовании (DWT), floor(size(w1,2)/2^LEV), где LEV - уровень вейвлет-преобразования. modwtcorr возвращает NaNs для доверительных границ, когда N-3 меньше или равно нулю.

Задержки для последовательностей взаимной корреляции, возвращаемые в виде клеточного массива векторов. lags - массив ячеек векторов столбцов той же длины, что и xcseq. Элементы в каждой ячейке xcseq соответствуют оценкам кросс-корреляционной последовательности на лагах от - (NJ-1) до (NJ-1), где NJ - количество неграничных коэффициентов на уровне J. 0-й элемент запаздывания расположен на полу индекса ((2 * NJ-1 )/ 2) + 1.

Ссылки

[1] Персиваль, D. B. и А. Т. Уолден. Вейвлет-методы для анализа временных рядов. Кембридж, Великобритания: Cambridge University Press, 2000.

[2] Уитчер, Б., П. Гутторп и Д. Б. Персиваль. «Вейвлет-анализ ковариации с применением к атмосферным временным рядам». Журнал геофизических исследований, т. 105, 2000, стр. 14941-14962.

Представлен в R2015b