Почему мой временной ряд с использованием Season_decompose () может видеть четкие сезонные параметры, но при применении его с помощью adfuller () результат показывает, что он стационарный - PullRequest
0 голосов
/ 04 августа 2020

Невооруженным глазом я думаю, что существуют сезонные временные ряды, которые, когда я использую adfuller (), результаты показывают, что ряд является стационарным на основе значений p.

Я также применил Season_decompose () с Это. Результаты оказались примерно такими, как я ожидал

tb3['percent'].plot(figsize=(18,8))

как выглядит серия

Следует отметить, что мои данные собираются каждую минуту.

tb3.index.freq = 'T'
from statsmodels.tsa.seasonal import seasonal_decompose

result = seasonal_decompose(tb3['percent'].values,freq=24*60, model='additive')
result.plot();

результат разложения ETS показан на рисунке ниже

разложение ETS

Мы видим явную сезонность, которая такая же как то, что я ожидаю

Но при использовании adfuller ()

from statsmodels.tsa.stattools import adfuller
 
result = adfuller(tb3['percent'], autolag='AIC')

p-значение меньше 0,05, что означает, что эта серия является стационарной. Кто-нибудь может мне сказать, почему это произошло? как я могу это исправить?

Потому что я хочу использовать модель SARIMA для прогнозирования значений furture, в то время как модель ARIMA всегда предсказывает постоянное значение furture.

1 Ответ

0 голосов
/ 11 августа 2020

Расширенный тест Дики Фуллера проверяет, равен ли коэффициент в регрессии

y_t = <deterministic terms> + c y_{t-1} + <lagged differences>

1. Он обычно не имеет силы против сезонных детерминированных c членов, поэтому неудивительно, что вы не отклоняете, используя adfuller.

Вы можете использовать стационарную модель SARIMA, например,

SARIMAX(y, order=(p,0,q), seasonal_order=(ps, 0, qs, 24*60))

, где вы устанавливаете заказы AR, MA, сезонного AR и сезонного MA как

Эта модель будет довольно медленной и потребляет много памяти, так как у вас есть 24 часа минутных данных и сезонное отставание 1440.

Следующая версия statsmodels, которая была выпущена как statsmodels 0.12.0rc0, добавляет начальную поддержку процессов детерминированности c в моделях временных рядов, что может упростить моделирование этого типа рядов. В частности, было бы заманчиво использовать детерминированную последовательность Фурье c низкого порядка. Ниже приведен пример ноутбука.

https://www.statsmodels.org/devel/examples/notebooks/generated/deterministics.html

...