ロジスティック分布サンプリング; Logistic Distribution Sampling
概要
ロジスティック分布とは以下の式で表現される確率分布。
$$f(x)=\frac{exp(-z)}{\sigma(1+exp(-z))^2} , \quad z \equiv \frac{x-\mu}{\sigma} $$
ソースコード
namespace ExRandom.Continuous {
public class LogisticRandom : Random{
readonly MT19937 mt;
readonly double sigma, mu;
public LogisticRandom(MT19937 mt, double sigma = 1, double mu = 0){
if(mt == null) {
throw new ArgumentNullException();
}
this.mt = mt;
this.sigma = sigma;
this.mu = mu;
}
public override double Next() {
double r = mt.NextDouble_OpenInterval01();
return mu + sigma * Math.Log(r / (1.0 - r));
}
}
}
関連項目
メルセンヌ・ツイスタ
各種確率分布サンプリング基本クラス