Я новичок в гауссовских процессах и gpflow и хотел бы использовать их для прогнозирования временных рядов, которые демонстрируют ежедневную сезонность и являются весьма нестабильными.
Моя идея состояла в том, чтобы начать с одного ядра (периодического), используйте информацию, которую я уже имею (периодичность), а затем перейдем к комбинации различных ядер.Это работало достаточно хорошо для модели GPR, но результаты были плохими для модели GPMC.
В основном я действовал, как показано здесь: https://gpflow.readthedocs.io/en/stable/notebooks/mcmc.html.
После оптимизации и выборки
m.compile()
o = gpflow.train.AdamOptimizer(0.01)
o.minimize(m, maxiter=15) # start near MAP
s = gpflow.train.HMC()
samples = s.sample(m, 100, epsilon=0.12, lmax=20, lmin=5, thin=5, logprobs=False)#, verbose=True)
Я использовал
m.predict_y(X_test)
, чтобы получить предсказанные значения y.Нужно ли вместо этого использоватьgnatt_f () или Forext_f_samples () и сказать gpflow использовать гиперпараметры, которые были оптимизированы во время процедуры HMC (я тоже новичок в этом), или об этом уже позаботились, когда используете pregnet_y?
Еще одна небольшая проблема: np.random.seed и tf.random.set_random_seed, похоже, не влияют на воспроизводимость результатов, у кого-нибудь еще есть эта проблема?