8. Fitting¶
- class lsqfitgp.empbayes_fit(hyperprior, gpfactory, data, raises=True, minkw={}, gpfactorykw={})¶
Empirical bayes fit.
Maximizes the marginal likelihood of the data with a Gaussian process model that depends on hyperparameters.
- Parameters:
- hyperpriorscalar, array or dictionary of scalars/arrays
A collection of gvars representing the prior for the hyperparameters.
- gpfactorycallable
A function with signature gpfactory(hyperparams) -> GP object. The argument hyperparams has the same structure of the empbayes_fit argument hyperprior. gpfactory must be autograd-friendly, i.e., either use autograd.numpy, autograd.scipy, lsqfitgp.numpy, lsqfitgp.scipy or gvar instead of plain numpy/scipy.
- datadict or callable
Dictionary of data that is passed to GP.marginal_likelihood on the GP object returned by gpfactory. If a callable, it is called with the same arguments of gpfactory and must return either a dictionary or a pair of dictionaries where the second dictionary is passed as givencov argument to GP.marginal_likelihood.
- raisesbool, optional
If True (default), raise an error when the minimization fails. Otherwise, use the last point of the minimization as result.
- minkwdict, optional
Keyword arguments passed to scipy.optimize.minimize.
- gpfactorykwdict, optional
Keyword arguments passed to gpfactory, and also to data if it is a callable.
- Raises:
- RuntimeError
The minimization failed and raises is True.
- Attributes:
- pscalar, array or dictionary of scalars/arrays
A collection of gvars representing the hyperparameters that maximize the marginal likelihood. The covariance matrix is computed as the inverse of the hessian of the marginal likelihood. These gvars do not track correlations with the hyperprior or the data.
- minresultscipy.optimize.OptimizeResult
The result object returned by scipy.optimize.minimize.