Функции > Обработка сигналов > Анализ временного ряда > Пример. Корреляция и частичная автокорреляция
Пример. Корреляция и частичная автокорреляция
Используйте функции lcorr и plcorr, чтобы вычислить корреляцию выборки с запаздыванием и частичной автокорреляцией соответственно.
Определения и примеры см. в книгах Bowerman, O'Connell "Time Series Analysis" (Бауэрман, О'Коннелл. Анализ временных рядов) (на английском языке) (издательство Duxbury) и Granger, Newbold "Forecasting Economic Time Series" (Грэйнджер, Ньюболд. Прогнозирование экономических временных серий) (на английском языке) (издательство Academic Press).
lcorr
Функция lcorr подразумевает, что оба входных сигнала имеют одинаковую длину.
Предположите входной сигнал в форме кадрированного импульса синусоидальной волны. Этот импульс может, например, использоваться как гидроакустический сигнал тестирования. Вернувшийся сигнал проходит некоторое расстояние, отражается от объекта исследования и возвращается к источнику с запаздыванием (время пробега), ослабленный и зашумленный. Коррелируя полученный сигнал с сигналом тестирования, можно определить запаздывание и, следовательно, расстояние до испытываемого объекта.
1. Определите число точек выборки.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Определите длину импульса.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
3. Используйте функцию sin, чтобы определить сигнал.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
4. Используйте функцию hanning, чтобы определить функцию кадрирования.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Ширина окна равна 200.
Длина вектора x составляет 1000 элементов.
5. Постройте график входного сигнала x и используйте вертикальный маркер, чтобы показать линию длины импульса.
Щелкните для копирования этого выражения
6. Используйте функцию rnd, чтобы определить случайный шум, а затем определите запаздывание и затухание возвращаемого сигнала.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
7. Определите возвращенный сигнал и выполните его график вместе с входным сигналом.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Если время запаздывания неизвестно, к примеру, когда сигналы измеряются и не моделируются, трудно сказать, где находится импульс возврата в приведенном выше зашумленном графике.
При значениях, близких к времени запаздывания, следует ожидать, что линейная корреляция x и y достигнет максимума по сравнению с другими коррелированными выборками, поскольку корреляция сдвигает один сигнал относительно другого, умножая и суммируя сигналы по достижении каждой выборки. Когда достигается время запаздывания, перекрытие оказывается на максимуме.
8. Используйте функции lcorr, max и match, чтобы удостовериться, что линейная корреляция x и y максимальна во время запаздывания или около него.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Автокорреляция с использованием lcorr
Используйте автокорреляцию, чтобы оценить порядок процесса скользящего среднего.
1. Используйте функции rnd и N, чтобы сгладить случайную последовательность с использованием ширины окна movavg.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Выполните график скользящего среднего.
Щелкните для копирования этого выражения
3. Используйте функцию lcorr, чтобы вычислить и построить график автокорреляции Y.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Первые N значений автокорреляции образуют более или менее прямую линию, склоняющуюся к 0 при N. Если бы значение N было неизвестно, можно было бы использовать такое поведение для хорошей оценки.
4. В справочных целях можно использовать функцию slope, чтобы вычислить наклон этого начального сегмента и сравнить его с -1/N.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Автокорреляция — это преобразование Фурье спектра сигнала. Поэтому ее можно эффективно рассчитать с помощью функции dft.
plcorr
Функция plcorr используется для оценки порядка модели, который лучше всего приближен к авторегрессионной временной последовательности, и может помочь вычислить параметр модели.
Частичная последовательность автокорреляции, также известная как последовательность коэффициента отражения, представляет корреляцию между значениями временной последовательности во время t и t-k, после того как эти значения были настроены путем вычитания предсказаний вперед и назад. Предсказания основаны на значениях последовательности в промежуточное время.
Более подробные сведения см. в книге D.B. Percival, A.T. Walden, "Spectral Analysis for Physical Applications" (Д.Б. Персиваль, А.Т. Уолден. Спектральный анализ физических приложений) (на английском языке) с. 409, Cambridge University Press, 1993, который описывает использование метода рекурсии Левинсона--Дурбана для авторегрессионных моделей.
Для иллюстрации использования функции частичной автокорреляции plcorr используйте следующие шаги, чтобы построить авторегрессионный процесс.
1. Определите коэффициенты для процесса.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Используйте функцию rnd, чтобы инициализировать временной ряд.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
3. Создайте остальную часть ряда, используя сумму сигнала авторегрессии и случайного шума.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
4. Вычислите и распечатайте первые 200 шагов процесса.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
5. Используйте функции lcorr и plcorr, чтобы вычислить автокорреляцию и частичную автокорреляцию.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
6. Постройте график первых 30 элементов каждого вектора корреляции и используйте вертикальный маркер, чтобы отметить номера коэффициентов.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Для авторегрессионного процесса b автокорреляция колеблется, но частичная автокорреляция в основном срезается после 6. Таким образом, частичная автокорреляция дает информацию о порядке процесса, который затем может быть использован, например, с функцией Берга.
Экономический временной ряд часто аппроксимируется и анализируется с помощью моделей низшего порядка, для которых только несколько коэффициентов plcorr являются ненулевыми. Для данных, чьи коэффициенты plcorr быстро не снижаются, данные могут отражать нелинейные феномены. В данном случае общий метод — разграничение данных и проведение анализа разграниченных данных на предмет корреляций.
Было ли это полезно?