-
Notifications
You must be signed in to change notification settings - Fork 1
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
Compute log-derivative of correlation matrix in reference prior computation #5
base: gu
Are you sure you want to change the base?
Conversation
We add optimization of the kriging parameters according to gu2016: http://doc.openturns.org/papers/gu2016.pdf It consists in penalizing the integrated likelihood by a chosen prior. We implement the two proposed types of prior: - jointly-robust prior - reference prior In addition to the new likelihood estimation options, we add the parametrization of the covariance model scale parameter: - default - inverse - log-inverse
in reference prior computation. This matches implmentation in R package RobustGaSP. Currently implemented unitary tests all pass.
@mbaudin47, this may be of interest to you. All your tests from #4 now pass. |
Hi all, |
For the most impatients, here is the par I modified in GeneralLinearModelAlgorithm.cxx:
So I reuse dCds and hase to promote the collection of SymmetricMatrix into a collection of SquareMatrix to store sigmaTheta*dCds in-place. It has the exact same memory footprint (instead of doubling the memory with a copy) and the same execution time. The main point is that these changes do nothing on the total execution time as all the time is spent on the computation of the gradients wrt the parameters. I also worked on it, and now the effect of the changes into GeneralLinearModelAlgorithm starts to be noticeable. |
To complete this feedback, here is the code for AbsoluteCovariance and CovarianceModelImplementation:
and
|
Oh, I see you're cheating :) |
Actually, we could use the partialDerivative to compute the derivative with respect to the scale parameter, so it could be implemented in CovarianceModel or CovarianceModelImplementation. |
9769369
to
4203366
Compare
* Better reference values for unit tests --------- Co-authored-by: MerlinKeller <43726507+MerlinKeller@users.noreply.github.com>
CombinationsDistribution: Fix unused variable
This improvement was suggested, among many others, by @regislebrun at CT#11
The idea is to compute the (i,j)-th element of the Fisher information matrix the following way :
correlationMatrix_logDerivative_wrt_i * correlationMatrix_logDerivative_wrt_j
where correlationMatrix_logDerivative_wrt_i = pseudoInverseCorrelationMatrix * correlationMatrix_derivative_wrt_i
This matches Gu's implementation in his R package RobustGaSP (see file
RobustGaSP/src/functions.cpp
line 395).Currently implemented unitary tests all pass.