В этом разделе мы используем NeuralProphet для работы с данными с разрешением в 5 минут (ежедневные температуры в Йосемити). Это продолжение учебного пособия Учебник 4: Авторегрессия. В то время как четвертый учебник охватывает авторегрессию в общем, настоящий блокнот сосредоточен на разреженности.
if "google.colab" in str(get_ipython()):
# Удаляем предустановленные пакеты из Colab, чтобы избежать конфликтов
!pip uninstall -y torch notebook notebook_shim tensorflow tensorflow-datasets prophet torchaudio torchdata torchtext torchvision
!pip install git+https://github.com/ourownstory/neural_prophet.git@examples_cond_seas # может занять некоторое время
#!pip install neuralprophet # намного быстрее, но может не иметь последних обновлений/исправлений ошибок
import pandas as pd
from neuralprophet import NeuralProphet, set_log_level, df_utils
set_log_level("ERROR")
Компонент авторегрессии в NeuralProphet определяется как AR-Net (статья, github). Следовательно, мы можем установить значение ar_reg больше нуля, если хотим вызвать разреженность в коэффициентах AR.
Однако подгонка модели с несколькими компонентами и регуляризациями может быть более сложной и в некоторых случаях вам может понадобиться вручную управлять гиперпараметрами обучения.
m = m.highlight_nth_step_ahead_of_each_forecast(1)
m.plot_parameters()
m = m.highlight_nth_step_ahead_of_each_forecast(36)
m.plot_parameters()
Крайняя разреженность
Чем выше мы устанавливаем ar_reg, тем меньше ненулевых весов учитывается моделью. Здесь мы устанавливаем его равным 10, что должно привести к одному ненулевому лагу.
Примечание: Крайние значения могут привести к нестабильности обучения.