Существует много различных изменений вейвлета, преобразовывают. Этот пример фокусируется на максимальном перекрытии дискретном вейвлете преобразовывает (MODWT). MODWT является неподкошенным вейвлетом, преобразовывают по двухместному (степени двойки) шкалы, который часто используется с финансовыми данными. Одна хорошая функция MODWT для анализа временных рядов - то, что это делит отклонение данных шкалой. Чтобы проиллюстрировать это, рассмотрите ежеквартальные взвешенные цепочкой американские действительные данные о GDP для 1974Q1 к 2012Q4. Данные были преобразованы путем первого взятия натурального логарифма и затем вычисления различия года по году. Получите MODWT действительных данных о GDP вниз, чтобы выровняться шесть с 'db2' вейвлетом. Исследуйте отклонение данных и сравните это с отклонениями шкалой, полученной с MODWT.
load GDPcomponents realgdpwt = modwt(realgdp,'db2',6); vardata = var(realgdp,1); varwt = var(realgdpwt,1,2);
В vardata
у вас есть отклонение для совокупных временных рядов GDP. В varwt
у вас есть отклонение шкалой для MODWT. Существует семь элементов в varwt
, потому что вы получили MODWT вниз, чтобы выровнять шесть получившихся в шести содействующих отклонениях вейвлета и одном содействующем отклонении масштабирования. Суммируйте отклонения шкалой, чтобы видеть, что отклонение сохраняется. Постройте отклонения вейвлета по шкале, игнорирующей масштабирующееся содействующее отклонение.
totalMODWTvar = sum(varwt); bar(varwt(1:end-1,:)) AX = gca; AX.XTickLabels = {'[2 4)','[4 8)','[8 16)','[16 32)','[32 64)','[64 128)'}; xlabel('Quarters') ylabel('Variance') title('Wavelet Variance by Scale')
Поскольку эти данные ежеквартально, первая шкала получает изменения между двумя и четырьмя четвертями, вторую шкалу между четыре и восемь, третье между 8 и 16, и так далее.
От MODWT и простой столбиковой диаграммы, вы видите, что циклы в данных между 8 и 32 четвертями составляют самое большое отклонение в данных о GDP. Если вы рассматриваете отклонения вейвлета в этих шкалах, они составляют 57% изменчивости в данных о GDP. Это означает, что колебания в GDP в течение 2 - 8 лет составляют большую часть изменчивости, замеченной во временных рядах.
Анализ вейвлета может часто показывать изменения в энергозависимости, не очевидной в агрегированных данных. Начните с графика данных о GDP.
helperFinancialDataExample1(realgdp,years,'Year over Year Real U.S. GDP')
Теневая область упоминается как "Большое Модерирование" выражение периода уменьшенной макроэкономической энергозависимости в США, начинающихся в середине 1980-х.
Исследуя агрегированные данные, не ясно, что существует на самом деле уменьшаемая энергозависимость в этот период. Используйте вейвлеты, чтобы исследовать это первым получением анализа мультиразрешения действительных данных о GDP с помощью 'db2' вейвлета вниз для уровня 6.
realgdpwt = modwt(realgdp,'db2',6,'reflection'); gdpmra = modwtmra(realgdpwt,'db2','reflection');
Постройте уровень, который каждый детализирует, D1. Эти детали получают колебания в данных между двумя и четырьмя четвертями в длительности.
helperFinancialDataExample1(gdpmra(1,:),years,... 'Year over Year Real U.S. GDP - D1')
Исследование уровня, который каждый детализирует, кажется, что существует сокращение отклонения в период Большого Модерирования.
Протестируйте уровень коэффициенты вейвлета на значительное отклонение changepoints.
[pts_Opt,kopt,t_est] = wvarchg(realgdpwt(1,1:numel(realgdp)),2); years(pts_Opt)
ans = 1982
Существует отклонение changepoint идентифицировано в 1 982. Этот пример не исправляет для задержки, введенной 'db2' вейвлетом на уровне один. Однако та задержка является только двумя выборками, таким образом, она не заметно влияет на результаты.
Чтобы оценить изменения в энергозависимости данных о GDP пред и отправить 1982, разделите исходные данные в пред - и post-changepoint ряд. Получите преобразования вейвлета пред и отправьте наборы данных. В этом случае ряды относительно коротки, так используйте вейвлет Хаара, чтобы минимизировать количество граничных коэффициентов. Вычислите объективные оценки отклонения вейвлета шкалой и постройте результат.
tspre = realgdp(1:pts_Opt); tspost = realgdp(pts_Opt+1:end); wtpre = modwt(tspre,'haar',5); wtpost = modwt(tspost,'haar',5); prevar = modwtvar(wtpre,'haar','table'); postvar = modwtvar(wtpost,'haar','table'); xlab = {'[2Q,4Q)','[4Q,8Q)','[8Q,16Q)','[16Q,32Q)','[32Q,64Q)'}; helperFinancialDataExampleVariancePlot(prevar,postvar,'table',xlab) title('Wavelet Variance By Scale'); legend('Pre 1982 Q2','Post 1982 Q2','Location','NorthWest');
Из предыдущего графика кажется, что существуют существенные различия между pre-1982Q2 и post-1982Q2 отклонениями в шкалах между 2 и 16 четвертями.
Поскольку временные ряды так коротки в этом примере, может быть полезно использовать смещенные оценки отклонения. Смещенные оценки не удаляют граничные коэффициенты. Используйте 'db2' фильтр вейвлета с четырьмя коэффициентами.
wtpre = modwt(tspre,'db2',5,'reflection'); wtpost = modwt(tspost,'db2',5,'reflection'); prevar = modwtvar(wtpre,'db2',0.95,'EstimatorType','biased','table'); postvar = modwtvar(wtpost,'db2',0.95,'EstimatorType','biased','table'); xlab = {'[2Q,4Q)','[4Q,8Q)','[8Q,16Q)','[16Q,32Q)','[32Q,64Q)'}; figure; helperFinancialDataExampleVariancePlot(prevar,postvar,'table',xlab) title('Wavelet Variance By Scale'); legend('Pre 1982 Q2','Post 1982 Q2','Location','NorthWest');
Результаты подтверждают наше исходное открытие, что Большое Модерирование проявлено в сокращениях энергозависимости по шкалам от 2 до 16 четвертей.
Можно также использовать вейвлеты, чтобы анализировать корреляцию между двумя наборами данных шкалой. Исследуйте корреляцию между агрегированными данными на правительственных расходах и частными инвестициями. Данные покрывают тот же период как действительные данные о GDP и преобразовываются тем же самым способом.
[rho,pval] = corrcoef(privateinvest,govtexp);
Правительственные расходы и персональные инвестиции демонстрируют слабую, но статистически значительную, отрицательную корреляцию-0.215. Повторите этот анализ с помощью MODWT.
wtPI = modwt(privateinvest,'db2',5,'reflection'); wtGE = modwt(govtexp,'db2',5,'reflection'); wcorrtable = modwtcorr(wtPI,wtGE,'db2',0.95,'reflection','table'); display(wcorrtable)
wcorrtable = 6x6 table NJ Lower Rho Upper Pvalue AdjustedPvalue ___ ________ ________ __________ _________ ______________ D1 257 -0.29187 -0.12602 0.047192 0.1531 0.7502 D2 251 -0.54836 -0.35147 -0.11766 0.0040933 0.060171 D3 239 -0.62443 -0.35248 -0.0043207 0.047857 0.35175 D4 215 -0.70466 -0.32112 0.20764 0.22523 0.82773 D5 167 -0.63284 0.12965 0.76448 0.75962 1 S5 167 -0.63428 0.12728 0.76347 0.76392 1
Многошкальная корреляция, доступная с MODWT, показывает значительную отрицательную корреляцию только в шкале 2, который соответствует циклам в данных между 4 и 8 четвертями. Даже эта корреляция является только незначительно значительной при корректировке для нескольких сравнений.
Многошкальный корреляционный анализ показывает, что небольшая отрицательная корреляция в агрегированных данных управляется поведением данных по шкалам четырех - восьми четвертей. Когда вы рассматриваете данные по различным периодам времени (шкалы), нет никакой значительной корреляции.
С финансовыми данными часто существует продвижение или отставание отношения между переменными. В тех случаях полезно исследовать последовательность взаимной корреляции, чтобы определить, если отставание одной переменной относительно другого максимизирует их взаимную корреляцию. Чтобы проиллюстрировать это, рассмотрите корреляцию между двумя компонентами GDP - частные потребительские расходы и грубые частные внутренние инвестиции.
piwt = modwt(privateinvest,'fk8',5); pcwt = modwt(pc,'fk8',5); figure; modwtcorr(piwt,pcwt,'fk8')
Персональные расходы и персональные инвестиции негативно коррелируются в течение 2-4 четвертей. В более длинных шкалах существует сильная положительная корреляция между персональными расходами и персональными инвестициями. Исследуйте последовательность взаимной корреляции вейвлета в шкале, представляющей 2-4 цикла четверти.
[xcseq,xcseqci,lags] = modwtxcorr(piwt,pcwt,'fk8'); zerolag = floor(numel(xcseq{1})/2)+1; plot(lags{1}(zerolag:zerolag+20),xcseq{1}(zerolag:zerolag+20)); hold on; plot(lags{1}(zerolag:zerolag+20),xcseqci{1}(zerolag:zerolag+20,:),'r--'); xlabel('Lag (Quarters)'); grid on; title('Wavelet Cross-Correlation Sequence -- [2Q,4Q)');
Последовательность взаимной корреляции вейвлета самой прекрасной шкалы показывает пиковую положительную корреляцию в задержке одной четверти. Это указывает, что персональные инвестиции изолируют персональные расходы одной четвертью.
Ссылки:
Aguigar-Conraria, Л. Мартинс. M.F., и Соарес, M.J. "Кривая доходности и макроэкономика через время и частоты". журнал экономической динамики и управления, 36, 12, 1950-1970, 2012.
Кроули, пополудни "Руководство по вейвлетам для экономистов". журнал экономических обзоров, 21, 2, 207-267, 2007.
Gallegati, M и Semmler, W. (Редакторы). "Приложения вейвлета в экономике и финансах", Спрингер, 2014.
Персиваль, Д.Б. и Уолден, A.T. "Методы вейвлета для анализа временных рядов", издательство Кембриджского университета, 2000.