После установки GuassianProcessRegressor с составным ядром, можем ли мы делать прогнозы, используя только части ядра? - PullRequest
2 голосов
/ 04 ноября 2019

Придуманный пример ниже показывает, что регрессия гауссовского процесса с составным ядром может использоваться для подгонки трендов на разных масштабах длины. В приведенном ниже примере ядро ​​с максимальным правдоподобием 0.492**2 * RBF(length_scale=9.97e+04) + 2.14**2 * RBF(length_scale=1e-05) - показывает, что мы обнаружили две шкалы длин. Можно ли сделать прогноз по каждой шкале длины (или иначе декомпозировать окончательный прогноз), чтобы увидеть влияние каждой части ядра?

Лучшим примером является рассмотрение данных о CO2 в Мауна-Лоа вдокументация по адресу https://scikit -learn.org / stable / modules / gaussian_process.html . Это повторяет результаты в документе, указанном в документации. Однако в работе показаны графики медленного / быстрого / сезонного вклада компонентов ядра. Можем ли мы повторить этот вид анализа, используя scikit-learn s GaussianProcessRegressor?

from sklearn.gaussian_process import GaussianProcessRegressor
from sklearn.gaussian_process.kernels import RBF, WhiteKernel, ConstantKernel

kernel = ConstantKernel() * RBF() + ConstantKernel() * RBF( )
gp = GaussianProcessRegressor(kernel=kernel, n_restarts_optimizer=10)

import numpy as np
x = np.linspace(0, 10, 100)
y = 3*np.sin(x) + np.sin(x*5)

gp.fit(x.reshape(-1, 1), y)
print(gp.kernel_)

# We can make predictions using both components of the kernel:
#  is it possible to make predictions on each component 
#  individually?
y_hat = gp.predict(x.reshape(-1, 1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...