2014年3月29日土曜日

制御変量法

制御変量法について日本語で検索してみてもwikiで
"モンテカルロ法における分散減少法の1つ. 推定したい特性値の不偏推定量に対して, これと相関があって期待値がわかっている確率変数のことを制御変量という. 不偏推定量と制御変量の1次結合をうまく作れば,推定の分散を減らすことができる. "
程度しかわかりませんでした。

英語で検索してみると解説してくれるPDFがすぐに見つかって、読んでみると思ったより簡単そうだったので適当にメモ。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

$\theta :=E(Y)$を決定したい。ここでYはある試行の結果であるとする。
また、Zを同じ試行から得られる量で、その期待値E(Z)は既知であるとする。
Zのことを制御変量(control variate)と呼ぶ。

これらについての2通りの不偏推定量
\begin{equation}
\hat{\theta }=Y \label{simple}
\end{equation}
\begin{equation}
\hat{\theta _c}=Y+c(Z-E(Z)) \label{contvar}
\end{equation}
を考える。ここで明らかに$E(\hat{\theta _c})=\theta$である。

考えるべきは$\hat{\theta}$の分散と$\hat{\theta_c}$の分散の大小関係である。分散が小さいほど、$\theta$についてより精度のよい推定値であるということになる。
\begin{equation}
{\rm var}(\hat{\theta_c})={\rm var}(Y)+2c{\rm cov}(Y,Z)+c^2{\rm var}(Z) \label{thetac}
\end{equation}
\begin{equation}
{\rm var} (\hat \theta )={\rm var}(Y)
\end{equation}
式\ref{thetac}をcについての二次式と考えると、$c=-\frac{{\rm cov}(Y,Z)}{{\rm var}(Z)}\equiv c^*$のとき${\rm var}(\hat{\theta_c})$は最小値
\begin{equation}
{\rm var}(\hat{\theta_{c^*}})={\rm var}(\hat \theta )-\frac{{\rm cov}(Y,Z)^2}{{\rm var}(Z)}
\end{equation}
をとることが分かる。これは${\rm cov}(Y,Z)\not =0$である限り${\rm var}(\hat{\theta})$より小さい。

したがって、$\theta :=E(Y)$を推定するときには、推定値として式\ref{simple}を用いるより式\ref{contvar}を用いたほうが得られる推定値の分散が小さくなる。分散の減少量は${\rm cov}(Y,Z)$の二乗に比例するが、共分散${\rm cov}(Y,Z)$はYとZの相関の大きさを表すので、相関が大きいほど、つまり制御変量Zによって得られるYについての情報量が多いほど精度よく$\theta $を推定できる。と感覚的にわかる。しかし${\rm cov}(Y,Z)$と${\rm var}(Z)$は独立でないために、${\rm var}(\hat{\theta_c})$を最小にするZは${\rm cov}(Y,Z)=\pm 1$とは限らないようだが、今はまあいいかと思ったので詳しくは調べていない。

実装に当たっては、$c^*$を使うために${\rm cov}(Y,Z)$と${\rm var}(Z)$を知る必要がある。
これらは既知とは限らないが、例えばn回目の試行なら、n-1回目までの試行で得られた値とE(Z)から推定した値を用いることで代用するらしい。

0 件のコメント:

コメントを投稿