Hello, I am highly interested in Bayesian Calibration proposed by Kennedy and O’hagan.
Firstly, I want to try the Bayesian Calibration based on MCMC instead of gaussian process model.
So, I made some code ^^; but I am beginner.
I want to discuss and check whether it is right approach in pymc.
Here is my code:
x={x_1,x_2,…,x_n } # x is simulation variables
t={t_1,t_2,…,t_n} # t is simulation parameter
x_i~ iid ? t_i~ iid ?
X and t are independent. Accordingly, cov(x) = cov(t)= 0 (ε is white noise, mean=0)
With pm.model() :
x=pm.normal(‘x’,mu=mean(x),sigma=var(x),observed=Input_Variables)
δ=pm.normal(‘δ’,mu=zero_vector,sigma=x) # Bias term
t=pm.normal(‘t’, mu=mean(t),sigma=var(t),observed=parameters)
mu = t*x (because t and x are independent.)
σ = var(simulated results)
η = pm.normal(‘η’,mu=mu, sigma= σ,observed=simulated results) # Model term
z = pm.normal(‘z’, mu= η+ δ, sigma =var(t)+var(x)+var(ε),observed=measured_data)
trace = pm.sample(2000)
I have concerns about bias term δ, it is modelled by normal distribution.
But its variance from normal distribution x.
because of negative value of x, I am not sure that bias term works well.