I would like to solve “German Tank Ploblem” by Turing.jl but it will not work when a model use DiscreteUniform.
ss = rand(DiscreteUniform(1,60),8)
@model function tank(ds)
m ~ Uniform(2,2000)
ds .~ Uniform(1,m)
end
chain = sample(tank(ss),NUTS(),3000)
this is work! and good !
but when i use “DiscreteUniform”, inference will success but result is not expected, like this.
@model function tank2(ds)
m ~ DiscreteUniform(2,2000)
ds .~ DiscreteUniform(1,m)
end
chain = sample(tank2(ss),PG(5),3000)
Quantiles
parameters 2.5% 25.0% 50.0% 75.0% 97.5%
Symbol Float64 Float64 Float64 Float64 Float64
x 92.9750 733.0000 1449.0000 2220.0000 2916.0250
this sampling is converged and rhat ≃ 1.0 but result will not truth. Where I missed and Why ? Please consult me about this.