Как добавить периодический компонент в модель линейной регрессии?


17

У меня есть некоторые кумулятивные данные о частоте. Линия выглядит так, как будто она очень хорошо вписывается в данные, но в ней есть циклическое / периодическое покачивание. Я хотел бы оценить, когда совокупная частота достигнет определенного значения c . Когда я строю графики остатков и подгоночных значений, я получаю прекрасное синусоидальное поведение.y=ax+bc

Теперь, чтобы добавить еще одно осложнение, обратите внимание, что в графиках остатков

альтернативный текст

Есть два цикла, которые имеют более низкие значения, чем другие, что представляет собой эффект выходного дня, который также должен быть принят во внимание.

Итак, куда мне идти отсюда? Как я могу объединить некоторый косинус, синус или циклический термин в регрессионную модель до прибл. оцените, когда совокупная частота будет равна ?c

Ответы:


9

Вы можете попробовать замечательный stl()метод - он разлагает (используя итеративную loess()подгонку) на тренд, сезон и остаток. Это может просто поднять ваши колебания здесь.


8

Если вы знаете частоту колебаний, вы можете включить два дополнительных предиктора, sin (2π wt) и cos (2π wt) - установить w, чтобы получить желаемую длину волны - и это будет моделировать колебание. Вам нужны оба термина, чтобы соответствовать амплитуде и фазовому углу. Если имеется более одной частоты, вам потребуется синус и косинус для каждой частоты.

Если вы не знаете, что такое частоты, стандартный способ изолировать несколько частот состоит в том, чтобы извлечь данные из тренда (получить остатки из линейного соответствия, как вы это сделали) и выполнить дискретное преобразование Фурье по отношению к остаткам. Быстрый и грязный способ сделать это в MS-Excel, который имеет инструмент анализа Фурье в надстройке анализа данных. Запустите анализ по отношению к остаткам, возьмите абсолютное значение преобразований и представьте гистограмму результата. Пики будут вашими основными частотными компонентами, которые вы хотите смоделировать.

Когда вы добавляете эти циклические предикторы, обращайте пристальное внимание на их p-значения в своей регрессии и не перегружайте их. Используйте только те частоты, которые являются статистически значимыми. К сожалению, это может немного затруднить настройку низких частот.


2
Когда вы оцениваете частоты на основе данных (как в случае анализа Фурье), а затем включаете их как члены sin / cos в регрессию, их значения p будут бессмысленными.
whuber

4

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

Стандартная процедура анализа таких данных начинается с исходных значений. Возьмите ежедневные различия, чтобы удалить высокочастотный синусоидальный компонент. Возьмите еженедельные различия между ними, чтобы исключить возможный недельный цикл. Проанализируйте, что осталось. ARIMA- моделирование - это мощный гибкий подход, но начните с простого: нанесите на график эти разностные данные, чтобы увидеть, что происходит, а затем переходите оттуда. Также обратите внимание, что с данными менее чем за две недели ваши оценки недельного цикла будут плохими, и эта неопределенность будет доминировать в неопределенности в прогнозах.


2

Очевидно, что доминирующее колебание имеет период один день. Похоже, что есть также низкочастотные компоненты, относящиеся к дню недели, поэтому добавьте компонент с частотой одна неделя (т.е. одна седьмая дня) и его первые несколько гармоник. Это дает модель формы:

Е(Y)знак равнос+a0соз(2πT)+б0грех(2πT)+a1соз(2πT/7)+б1грех(2πT/7)+a2соз(4πT/7)+б2грех(4πT/7)+...

- при условии Tизмеряется в днях. ВотYэто необработанные данные, а не их совокупная сумма.


-2

Почему бы просто не использовать GA, чтобы последовательно найти амплитуду, период и фазу ряда синусов (или косинусов), а затем объединить их. Оптимизируйте следующее: (n (n-1) / ((np-1) ^ 2 (np-2))) RSS


1
Неясно, как это отвечает на вопрос о вычислении обратной кумулятивной функции частоты. И что вы подразумеваете под "GA"? Генетический алгоритм? Что-то другое?
whuber
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.