次のようにパラメータの指数事前分布を定義したい
したがって、私はpymcでそれを定義しました
@pm.stochastic
def MASS(value=math.pow(10,15), rate = math.pow(10,15)):
"""mass is a stochastic parameter with exponential distribution.p(M)~exp(-M/10^15)"""
return pm.exponential_like(value, rate)
@pm.potential
def MASS_bound(MASS=MASS):
if ((MASS >= math.pow(10,13)) and (MASS < math.pow(10,16))):
return 0.0
else:
return -np.inf
という制約も満たしてほしい
しかし、MCMC コードの変更を非常にゆっくりと実行すると、とMASS
の間でこの 3 桁の速度で変更したいと思います。パラメータ空間で大幅に変更するために、どのように前もって定義できますか?1e+13
1e16