2013年8月3日土曜日

Boot Campもあと1週間!

ついに金曜日!そして、Boot Campも残るは1週間。

Boot Campという名前だけあって、そこそこしんどいものがありましたが、何とかパスできそうです(Boot Campで1つでもFailすると、MSANのプログラムを続けられず、来年再チャレンジということになります。実際に去年は数名いたようですが、今年戻ってくることはなかったそうな)。


気は抜けませんので、最後まで頑張ります。


ここまでで面白いと思ったトピックを備忘で残しておきます。


Inverse Method
乱数発生法で、累積密度関数(CDF)の逆関数を使って、ターゲットの分布関数(pdf)の乱数を発生させる手法です。逆関数には0から1の一様分布を使います。CDFが求められる場合には簡単に乱数を発生させられます。離散分布のpmfも少し工夫すれば求められます。


Acceptance-Rejection Sampling
CDFが求めにくい関数もあるでしょう。たとえば、正規分布とか。そういうときは、Acceptance-Rejection Samplingを使うとターゲットの分布を求められます。これは、一様分布 Uとサポートする密度関数の乱数xを発生させて、U  < f(x)/c*g(x)   (f(x)がターゲットの密度関数、g(x)がサポートとなる密度関数)を満たしたときのxを、ターゲットの分布関数からの乱数として採用(Accept)するという手法です。

たとえば、標準コーシー分布をサポートの密度関数 g(x)、ターゲットの分布 f(x)を標準正規分布とします。そして、定数cは、y = f(x)/g(x)を最大化させたときのyをc とします。そして、標準コーシー分布からの乱数x と一様分布から乱数のUを以て、U < f(x)/c*g(x) を評価して、この条件を満たしたxを貯めていきます。この試行をたくさん繰り返して、貯まったxのヒストグラムを描くと、あ~ら~不思議、標準正規分布の乱数が得られてしまうのです。面白いです。


Randomization Test
ブートストラップの1種だと思われますが、私が習ったのは相関係数のケースです。2列のペアになっているベクトルのかたっぽを固定、もう一方の並びをランダムに並び替えて、相関係数を計算します。当然ゼロに近い数字になります。この試行をたくさ~ん繰り返して、全試行の相関係数をヒストグラムで描くと0を中心にした正規分布のような分布が出てきます。これって、p = 0 を帰無仮説にしたときの経験分布ですよね。これを使って、帰無仮説をp = 0, 対立仮説をp !=0 で検定する手法です。Empirical p valueを計算できますので、検定できます。



そのほか、ノンパラメトリックの検定手法(Sign Test, Signed rank Test, マン・ホイットニーのU検定など)も面白いですが、乱数については初めて勉強したので、特に興味深いです。残りのBoot Camp、そして8月中旬から始まる秋学期も楽しみです。

0 件のコメント:

コメントを投稿