Skip to content

Further Kriging improvements - Noise variance, log likelihood, and simplifying implementation #375

@archermarx

Description

@archermarx

I'd like to make a couple more changes to kriging

1. Noise variance hyperparameter

This would allow modeling and optimization of noisy functions. I would probably add this as a field to the Kriging struct. Noise variance is usually easier to estimate by the user than other hyperparameters, and would default to zero (aka the surrogate interpolates the data). I would also add an example to the documentation for minimizing a noisy function.

One question: does adding fields to a struct count as a breaking change?

2. Log likelihood function

As another incremental step toward better hyperparameter optimization, I'd like to bundle the Kriging log likelihood function with Surrogates. I could then add a tutorial to the kriging section of the documentation on hyperparameter optimization.

3. Combine 1D and ND functions

I'm not sure of the historical reasons for this, but maintaining separate versions of the surrogate construction functions for 1D and ND data seems ripe for problems, as I found during #374. I have already tested that the ND versions work just fine on 1D data, but run slightly slower. It would take some thought to do it in a way that doesn't hurt performance, but it would allow us to remove a lot of code and make maintenance much easier.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions