Иногда мы используем график спектральной плотности для анализа периодичности во временных рядах. Обычно мы анализируем сюжет путем визуального осмотра, а затем пытаемся сделать вывод о периодичности. Но разработали ли статистики какие-либо тесты для проверки того, являются ли какие-либо пики на графике статистически отличными от белого шума? Разработали ли R-специалисты какой-либо пакет для анализа спектральной плотности и проведения такого рода испытаний? Отлично, если кто-то может помочь.
С уважением,
П.
r
time-series
hypothesis-testing
Pantera
источник
источник
bootspecdens
может быть полезным.bootspecdens
Дмитрия; с нетерпением жду, чтобы проверить это.Ответы:
Вы должны знать, что оценка спектров мощности с использованием периодограммы не рекомендуется, и фактически это была плохая практика с ~ 1896 года. Это противоречивая оценка для чего-либо меньшего, чем миллионы выборок данных (и даже тогда ...), и в целом предвзятым. То же самое относится и к использованию стандартных оценок автокорреляций (т. Е. Бартлетта), поскольку они являются парами преобразования Фурье. При условии, что вы используете непротиворечивую оценку, вам доступны некоторые опции.
Лучшим из них является многоэкранное (или конусное) оценивание спектров мощности. В этом случае, используя коэффициенты каждого окна на интересующей частоте, вы можете вычислить F-гармоническую статистику по нулевой гипотезе белого шума. Это отличный инструмент для обнаружения линейных компонентов в шуме, и он настоятельно рекомендуется. Это выбор по умолчанию в сообществе обработки сигналов для обнаружения периодичностей в шуме в предположении стационарности.
Вы можете получить доступ как к многоступенчатому методу оценки спектра, так и к соответствующему F-тесту через
multitaper
пакет в R (доступный через CRAN). Документации, поставляемой с пакетом, должно быть достаточно для начала работы; F-тест - это простая опция в вызове функции дляspec.mtm
.Первоначальная ссылка, которая определяет оба эти метода и дает алгоритмы для них, это « Оценка спектра и гармонический анализ» , DJ Thomson, Proceedings of IEEE, vol. 70, стр. 1055-1096, 1982.
Вот пример использования включенного набора данных с
multitaper
пакет.Параметры, о которых вы должны знать: k и nw : это количество окон (выше 10) и произведение ширины полосы пропускания (выше 5.0). Вы можете легко оставить их в этих значениях квази-значения по умолчанию для большинства приложений. Команда centreWithSlepians удаляет надежную оценку среднего временного ряда с использованием проекции на окна Слепия - это также рекомендуется, так как оставление среднего в производит много энергии на низких частотах.
Я бы также порекомендовал нанести график спектрального вывода из «spec.mtm» на логарифмическую шкалу, так как это значительно проясняет ситуацию. Если вам нужна дополнительная информация, просто напишите, и я рад предоставить ее.
источник
multitaper
пакет, кажется, использовал более продвинутые методы для сужения и вычисления доверительного интервала. Но я думаю, что идея была та же самая, по словам Дэвида Стоффера. Это единственное, что я могу подумать о том, что преподавание ванильного перидогорама на самом деле все еще имеет смысл сегодня.Недавно мы попытались решить эту проблему с помощью вейвлет-преобразования спектрального теста в этой статье . По сути, вам необходимо рассмотреть распределение ординат периодограммы, аналогично статье Фишера, упомянутой в предыдущих ответах. Еще одна статья из Коен является это . Недавно мы опубликовали R-пакет hwwntest .
источник
Вы можете получить более подробную информацию о тесте в MB Priestley, Спектральный анализ и Временные ряды , Academic Press, Лондон, 1981, стр. 406.
В R пакет GeneCycle содержит функцию
fisher.g.test()
:Надеюсь это поможет.
источник