複数のこぶがあるディストリビューションがあります。各ハンプ、ガウス、指数、ワイブイルなどにいくつかの異なるタイプの分布を当てはめたいと思います。しかし、現状では、組み合わせごとに確率クラスを手動で定義する必要があるようです。私がやりたいことは次のようなものです
@stochastic(model_a, model_b, observed=True)
def mixture(value=observed_time_series, model_a_parameters, model_b_parameters, p):
def logp(value, model_a_parameters, model_b_parameters):
return p*model_a.logp(value, *model_a_parameters) + (1-p)*model_b.logp(value, *model_b_parameters)
def random(model_a_parameters, model_b_paramters, ratio):
if(random() < ratio):
return model_a.random()
return model_b.random()
このような委任は可能ですか?これを行う標準的な方法はありますか?上記のようなことを止める主な理由は、変数のセットを一緒にグループ化する方法が思いつかないということです。