У меня есть следующий код, который определяет функцию графика временных рядов и отображает статистику Adfuller
def tsplot(y, lags=None, figsize=(12, 7), style='bmh'):
if not isinstance(y, pd.Series):
y = pd.Series(y)
with plt.style.context(style):
fig = plt.figure(figsize=figsize)
layout = (2, 2)
ts_ax = plt.subplot2grid(layout, (0, 0), colspan=2)
acf_ax = plt.subplot2grid(layout, (1, 0))
pacf_ax = plt.subplot2grid(layout, (1, 1))
y.plot(ax=ts_ax)
ts_ax.set_title('Time Series Analysis Plots')
smt.graphics.plot_acf(y, lags=lags, ax=acf_ax, alpha=0.5)
smt.graphics.plot_pacf(y, lags=lags, ax=pacf_ax, alpha=0.5)
print("Adfuller: p=%f" % sm.tsa.stattools.adfuller(y)[1])
plt.tight_layout()
return
tsplot(dataset.Users, lags=30)
При попытке печати графика на моих данных с разным количеством лагов я столкнулся с проблемой. Все работает хорошо, когда лаг = 10, например, когда я увеличиваю количество лагов до 30-35, ядро Jupyter выключается (вероятно, нет, но я ждал около 20 минут и не получил результата). Это также работало для лагов = 31 и не для лагов = 32, например. Я не смог найти никаких зависимостей здесь. Пытался сделать это в лаборатории Jupyter и Jupyter. Не могу понять, в чем проблема.
Набор данных содержит некоторые наблюдения за 300 дней.
Я сравнительно новый в анализе временных рядов. Был бы признателен за любую помощь в выяснении, почему эта функция не работает, когда количество лагов увеличивается.