乱数とかサンプリングは好きですか?私はといえば一様乱数(一様分布のサンプリング)ならメルセンヌ・ツイスタ、他の確率分布はうまいこと一様分布を歪ませてるのだろう。実装を覗いてみたのですね。dxというものでした。Parameters』を眺めながら、書かれていない数式展開も追ってみたよという記事です。実装したのが、上記の引用コードになります。読んでもベータ分布の気配は感じられないと思うのですが、これは次のような手順になっています。第二種ベータ分布に従う。第一種ベータ分布に従う。?それでは数式を一つ一つ追ってみませう。\mu)^2}これが第二種ベータ分布の提案分布となります。式を導くことができました。b)}めでたく第一種ベータ関数になることが分かります。基本アルゴリズムの試行回数さて、棄却サンプリングの計算効率を上げるためには、なるべく棄却される確率を減らすことが重要になってきます。以下でないとならないため、そこが腕の見せ所となるわけですね。以下に抑えられているみたいなのですが、この式自体をどうやって導出したのかまでは分かりませんでした。小さくしたり、対数関数や指数関数の呼び出し回数をなるべく減らすため受理の十分条件による判定を挟んだり、という工夫をしています。Algorithms』では、様々なベータ分布のサンプリングアルゴリズムを性能比較しています。番目に大きい値を取ると、それがベータ分布に従うというものです。整数の時にしか使えないですが、すごく綺麗ですね。