我试图构建一个模型,该模型采用简化中间模型的预测f_I,并将其乘以某个系数c_p,然后加上某个通用模型的结果f_g:
然后,系数C被优化以适应数据。
我选择的通用模型是一个RBF模型,到目前为止,我已经将RBF模型拟合到数据上:
然而,我不知道如何实现这个线性加性模型。我尝试为中间模型创建了一个函数:
def IM(t): return t*np.sin(omega*t)
然后将GaussianProcessRegressor中的内核更改为类似于以下内容:
kernel = IM()*ConstantKernel() + RBF(length_scale=0.5, length_scale_bounds=(0.01, 100.0))
然而,这不起作用,因为IM()需要是一个某种类型的类,以与Scikit库协作。然而,我在网上找不到有关如何做到这一点的太多信息。
为中间模型f_I创建自定义内核是正确的做法吗?如果是,我如何构建一个自定义内核以与Scikit协作?
我正在遵循来实现这个模型的论文在这里可用,在第2.2节
回答:
我认为fit函数可以改进或修正,但我认为这是一个好的基础。