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
@review-notebook-app
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.

@sgreenbury
Copy link
Collaborator

From discussion with @marjanfamili, we'll return to this next week following looking more at:

  • Combining with a kernel that goes to 0 along the direction of the known axis
  • Update the tutorial here with the kernel
  • Confirming approach regarding how the learned weights can be used linearly with distance from axis

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