Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Method naming in CovarianceFunction #1

Open
GoogleCodeExporter opened this issue Aug 19, 2015 · 1 comment
Open

Method naming in CovarianceFunction #1

GoogleCodeExporter opened this issue Aug 19, 2015 · 1 comment

Comments

@GoogleCodeExporter
Copy link

The CovarianceFunction class provides two methods: 
computeSymmetric(mat C, vec A)
computeCovariance(mat C, vec A, vec B)

The names are a little confusing - I did expect computeCovariance(C, A, A)
to return the same result as computeSymmetric(C, A), but this is not always
the case. I guess computeCovariance was intended for computation of
cross-covariances *only*, meaning we always have A != B.

I am not sure this is always going to be the case: a given location could
be both in the training and test set. Should the cross-covariance for A==B
be the same as the covariance? In GPML, the nugget term (WhiteNoiseCF)
assumes there is no correlation between points in the case of covariances,
regardless of whether the two points are the same. We could argue that if
A==B, the two locations certainly aren't uncorrelated! I am not sure what
the effects on computations are. This needs to be checked as it can affect
the results quite strongly.

Original issue reported on code.google.com by remi.bar...@gmail.com on 29 Jun 2009 at 10:12

@GoogleCodeExporter
Copy link
Author

Following on the previous comment, I've observed that in the case where
computeCovariance(C,A,B) returns 0 even when A==B, there is an issue with 
duplicate
active points. Namely, the same data point can be added several times to the 
active
set and not be removed (possibly because the duplicates are treated as 
independent?).
Having computeCovariance(C,A,B) return the nugget if A==B seems to solve the 
problem.
But I need to do further testing to be sure it does not introduce other problems
elsewhere.

Original comment by remi.bar...@gmail.com on 30 Jun 2009 at 10:30

  • Added labels: Type-Defect
  • Removed labels: Type-Enhancement

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

No branches or pull requests

1 participant