Thanks for your reply. Yes, this is exactly what I feel confusing. The thing here is, at any time t I can obtain a measurement obsVal ± uncetainty. Then how can I express this function with the randomly sampled parameters a, b, and c in the Turing model, then measure the corresponding likelihood?
I rewrite the function as
f(time, a, b, c) = (a * x + sinpi(x / c)) * cospi(b)
and I define the Turing model as
@model function MyModel(obsVals, time, uncertainties)
# Prior
a ~ Uniform(1, 2)
b ~ Uniform(2.5, 3.5)
c ~ Normal(0, 1)
obsVals .~ Normal.(f.(time, a, b, c), uncertainties)
end
It seems like the model could (literally) work now. Hope this code is correct but I still cannot feel certain on its correctness… Maybe I should have a try on some more sophisticated models to check whether I get the right idea
Anyway, thank you again!