найти частоту spe c .ar эквивалент в Python - PullRequest
0 голосов
/ 27 апреля

Существует очень полезная функция в R, называемая findfrequency в пакете forecast, которая возвращает период доминирующей частоты временного ряда. Более подробную информацию о функции от автора можно найти здесь: https://robjhyndman.com/hyndsight/tscharacteristics/

Я хочу реализовать что-то эквивалентное в Python, и у меня возникли проблемы с функциями, которые должны быть равны в функцию spec.ar R, которая находится внутри findfrequency.

Функция начинается с изменения тренда серии, что легко сделать с помощью x = statsmodels.tsa.tsatools.detrend(myTs, order=1, axis=0). Теперь, когда у меня есть остатки, я хотел бы сделать в Python эквивалент функции spec.ar в R, которая сначала подгоняет модель AR к x (или использует существующее соответствие) и вычисляет (и по умолчанию строит графики) спектральный плотность подобранной модели.

Я не нашел ничего подобного, поэтому я делаю каждый шаг по очереди, сначала AR, а затем оценку spe c. Я использую временной ряд Airpassengers и не могу получить одинаковые результаты для R и Python для порядка или коэффициентов AR.

Мой код R:

x <- AirPassengers
x <- residuals(tslm(x ~ trend))
ARmodel <- ar(x)
ARmodel

Я получаю, что 15 - это выбранный заказ для моей модели авторегрессии.

Мой Python Код:

import statsmodels.api as sm
dataPeriodic = pd.read_csv('AirPassengers.csv')
tsPeriodic = dataPeriodic.iloc[:,1]
x = statsmodels.tsa.tsatools.detrend(tsPeriodic, order=1, axis=0)
n = x.shape[0]
est_order = sm.tsa.AR(x).select_order(maxlag=20, ic='aic', trend='nc')
print(est_order)

Здесь я получаю совершенно другой результат с выбранным заказом, равным 10 вместо 15, и я должен указать верхний предел поиска задержки с параметром maxlag ..

Я попытался с tsa.AutoReg без успеха, я получаю другой другой результат.

* 1030 Итак, есть ли способ установить модель AR так же, как R? Что-то похожее на spec.ar или даже что-то похожее на функцию findfrequency? Меня сильно смущают большие различия, которые «одинаковые» методы могут выводить на двух языках.
...