IrwinHall分布サンプリング; Irwin-Hall Distribution Sampling
概要
IrwinHall分布とは以下の式で表現される確率分布。閉区間[0,1]に従う確率変数を\(Z\)としたとき、\(n\)個の\(Z\)の総和はIrwinHall分布に従う。
$$\displaystyle f(x)=\frac{1}{2(n-1)!} \sum_{k=0}^{n} (-1)^{k} \binom{n}{k} (x-k)^{n-1} sgn (x-k) $$
ソースコード
namespace ExRandom.Continuous {
public class IrwinHallRandom : Random{
readonly MT19937 mt;
readonly int n;
public IrwinHallRandom(MT19937 mt, int n = 3) {
if(mt == null) {
throw new ArgumentNullException();
}
if(n < 1) {
throw new ArgumentException();
}
this.mt = mt;
this.n = n;
}
public override double Next() {
double w = 0;
for(int i = 0; i < n; i++) {
w += mt.NextDouble();
}
return w;
}
}
}
関連項目
メルセンヌ・ツイスタ
各種確率分布サンプリング基本クラス