Hi UQWorld!
My question pertains to the using user-defined likelihood function for inversion. As per my understanding from the when we’re giving a user defined likelihood function, there are only three requirements (please correct me if I’m wrong) on the user supplied log-likelihood function:
- It must have two arguments: params and y
- The size of params should be C\times M, where C is the number of MCMC chains and M is the number of parameters including the discrepancy terms
- The output should be the log-likelihood vector of size C\times 1
I have gone through the example provided in the documentation and I have the following questions (please note that I have only single parameter model):
-
How should I specify the discrepancy term? In my case, the true quantity R_i is estimated with a zero mean gaussian discrepancy. This estimation, X_m, is reported back as an interval i.e. y_i \sim a_{m_j} \leq x_{m_i} < a_{m_{j+1}}. Should I specify the discrepancy as,
PriorOpts.Marginals(2).Name = 'sigma2'; PriorOpts.Marginals(2).Type = 'Gaussian'; PriorOpts.Marginals(2).Parameters = [0, eps^2]; or PriorOpts.Marginals(2).Name = 'sigma2'; PriorOpts.Marginals(2).Type = 'Constant'; PriorOpts.Marginals(2).Parameters = eps^2;
-
If I define it as Gaussian, I notice that I have negative values in the log-likelihood function argument
params(:,2)
. As per my understanding, the likelihood should be evaluated while keeping the Gaussian distribution centered atparams(:,1)
with standard deviation fixed toparams(:,2)
. Am I missing out on something here? -
If I specify it as a constant, then UQLab doesn’t supply anything in
params(:,2)
. What’s wrong?
I think I have messed up in understanding the terms somewhere. Am I doing it right?