ウィシャート分布についてメモ

概要

・タイトルどおりウィシャート分布がよくイメージ湧かないので簡単な俺様メモ
・簡単な期待値の計算など

分散共分散行列(or 精度行列)をモデル化するときに出てくる

多変量のベイズ推定なんかをしようとするとよくお目にかかる分布。よくわからん。
単変量の場合は精度(分散の逆数)をガンマ分布に当てはめると都合が良かったですが多変量の場合はウィシャート分布がそれに該当すると。

行列に対する分布なのでイマイチイメージが湧かない。
(行列の各要素に対する同時分布なんですが)

で、例えば\( y_i \)が\( m \)変量の多変量正規分布\( N_m \left( 0, \Sigma \right) \)に従うとすると、標本分散共分散行列\( W \)は
$$
W = \sum_{i=1}^{N} y_i \cdot y_i^T
$$
となり、これがウィシャート分布に従いまして
$$
W \sim W_m \left( \frac{N}{2}, \frac{1}{2} \Sigma^{-1} \right)
$$
と書かれます。
で、一方ウィシャート分布\( W_k \left( \alpha, B \right) \)に従う行列\( A \)の期待値は
$$
E \left( A \right) = \alpha B^{-1}
$$
と書けますので、先ほどの標本分散共分散行列\( W \)の期待値は
$$
E \left( W \right) = \frac{N}{2} \cdot \left( \frac{1}{2} \Sigma^{-1} \right)^{-1} = n \Sigma
$$
となります。

実際に計算してみる using MASS

多変量正規分布に従う乱数はMASSパッケージで取得します。
とりあえずということで分散共分散行列は適当においています。

まず周辺分布から確認すると

となりましてまあ平均0, 分散1に従っていそうというのは確認できます。
ちなみにプロットすると以下の様な感じ

140517_1

あとは何回かこの作業を繰り返しぶん回すことで分散共分散行列の平均を計算する

で得られたのがこちら

実際に計算してみる using dlm

実はdlmにはウィシャート分布に従う乱数を取得するrwishartという関数がありましてこちらでも確認することができます。

出てきた値がこちら。

実際の期待値

計算するまでもないですが期待値は \( n \Sigma \)ですので

で計算され

ということでまあ多分あってそうという感じでしょうか。

参考文献

Amazon.co.jp: Rによるベイジアン動的線形モデル (統計ライブラリー): G.ペトリス, S.ペトローネ, P.カンパニョーリ, 和合 肇, 萩原 淳一郎: 本
http://www.amazon.co.jp/dp/4254127960

Amazon.co.jp: パターン認識と機械学習 上: C.M. ビショップ, 元田 浩, 栗田 多喜夫, 樋口 知之, 松本 裕治, 村田 昇: 本
http://www.amazon.co.jp/dp/4621061224