Skip to content

Conversation

marjanfamili
Copy link
Collaborator

Universal Kriging implementation

This terminology is borrowed from this paper
https://arxiv.org/pdf/2408.02331

  1. Simple Kriging: Known mean function, no noise
  2. Ordinary Kriging: Unknown constant mean, no noise
  3. Universal Kriging: Unknown mean as linear combination of known functions

A notebook is added to exploratory to help run it

marjanfamili and others added 8 commits August 20, 2025 15:28
…tial prior knowledge. this class combines combines known function on one dimension with learnable linear function on remaining dimensions. It supports custum functions for the known component. It should be compatible with multi-task GPs through batch_shape parameter
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@sgreenbury
Copy link
Collaborator

I think this is looking great, thanks @marjanfamili! Adding a few comments:

  • This should work well for composing in a GP using as the mean_module_fn along with a covar_module_fn setting the covariance along the known axis as 0. Perhaps it would be worth us adding an example with a GP including this aspect here (i.e. only considers the covariance along the non-fixed axes). It would be interesting to see the affect on the performance in the projectile case too.
  • Perhaps it's worth adding a test for the PartiallyLearnableMean for the expected behaviour when passing data through its .forward()
  • I wonder if it would be worth generalizing this to take a list of callables along specified axes? This would probably make more sense in a new PR as can extend the implementation here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants