Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?
@m1t0

条件付き多変量正規分布

More than 1 year has passed since last update.

1. 要約

 本記事では,二つの確率変数ベクトルの密度関数(正規分布)と,その同時密度関数,および条件付き分布について解説しました.(例のごとくお勉強のまとめです.)
 こういう記事をあらかじめ書いておけば,あとあとmixture modelだとか,EMアルゴリズムの数理説明などの時に楽できるんじゃないか...!?という思惑もあります.

2. 多変量正規分布

x($\in R^p$)を多変量正規分布に従う確率変数ベクトルとします.xの期待値ベクトル,分散共分散行列はそれぞれ,$$E[x]=\mu$$$$Var[x]=\Sigma$$であり,一般的に$$x\sim N(\mu,\Sigma)$$と書かれます.密度関数は,1変数の場合と似たような形で,

\begin{eqnarray}
f(x) = \frac{1}{(2\pi)^\frac{p}{2}|\Sigma|^\frac{1}{2}}\exp\{-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)\}
\end{eqnarray}

と書かれます.
 この多変量正規分布は統計,多変量解析の分野で結構大事です.いろんな分析の仮定となっています.

3. 2つの確率変数ベクトルの同時密度関数と,条件付き分布

ここからメインです.$a\in R^p$,$b\in R^q$は,それぞれ$N(\mu_a,\Sigma_a)$,$N(\mu_b,\Sigma_b)$に従う確率変数ベクトルとします.これらの同時密度関数は,多変量正規分布に従い,それぞれを縦に並べた$(p+q)\times 1$ベクトル$[a^T,b^T]^T(:=c)$の期待値と分散共分散行列を計算すると

\begin{eqnarray}
E[c]&=&[E[a]^T,E[b]^T]^T=[\mu_a^T,\mu_b^T]^T(:=\mu_{all})\\
Var[c]&=&E[(c-E[c])(c-E[c])^T]\\
&=&
\begin{pmatrix}
E[(a^T-E[a]^T)(a^T-E[a]^T)^T] & E[(a^T-E[a]^T)(b^T-E[b]^T)^T]\\
E[(b^T-E[b]^T)(a^T-E[a]^T)^T] & E[(b^T-E[b]^T)(b^T-E[b]^T)^T]
\end{pmatrix}\\
&=&
\begin{pmatrix}
\Sigma_{aa} & \Sigma_{ab}\\
\Sigma_{ab}^T &\Sigma_{bb}
\end{pmatrix}(:=\Sigma_{all})
\end{eqnarray}

となります.あとあとのために$\Sigma_{all}^{-1}$の逆行列を

\begin{eqnarray}
\Sigma_{all}^{-1}=\Omega=
\begin{pmatrix}
\Omega_{aa} & \Omega_{ab}\\
\Omega_{ab}^T & \Omega_{bb}
\end{pmatrix}
\end{eqnarray}

と分割しておきます.以上からcは,

\begin{eqnarray}
c=
\begin{pmatrix}
a\\
b
\end{pmatrix}
\sim N
\begin{pmatrix}
\begin{pmatrix}
\mu_a\\
\mu_b
\end{pmatrix},
\begin{pmatrix}
\Sigma_{aa} & \Sigma_{ab}\\
\Sigma_{ab}^T &\Sigma_{bb}
\end{pmatrix}
\end{pmatrix}
\end{eqnarray}

のよう書き表すことができるとわかりました.同時密度関数は,先ほどの多変量正規分布と同様に(xがcに変わるだけ),

\begin{eqnarray}
f(c) &=& \frac{1}{(2\pi)^\frac{p+q}{2}|\Sigma_{all}|^\frac{1}{2}}\exp\{-\frac{1}{2}(c-\mu_{all})^T\Omega(c-\mu_{all})\}\\
\end{eqnarray}

となります.では次に条件付き分布$f(a|b)$についてです.$f(a|b)$は,

\begin{eqnarray}
f(a|b)&=&\frac{f(a,b)}{f(b)}=\frac{f(c)}{f(b)}\\
&=&\frac{1}{(2\pi)^\frac{p}{2}|\Sigma_{a|b}|^\frac{1}{2}}\exp\{-\frac{1}{2}(a-\mu_{a|b})^T\Sigma_{a|b}^{-1}(a-\mu_{a|b})\}
\end{eqnarray}

で定義される分布で,bが定まった状態でのaの分布を意味しています.これは指数部分を変形することで導出できます.$f(c)$の指数部分(:=(*))は

\begin{eqnarray}
(*) = -\frac{1}{2}[(a-\mu_a)^T\Omega_{aa}(a-\mu_a)+(b-\mu_b)^T\Omega_{ba}(a-\mu_a)\\+(a-\mu_a)^T\Omega_{ab}(b-\mu_b)+(b-\mu_b)^T\Omega_{bb}(b-\mu_b)]\tag{1}
\end{eqnarray}

と展開できます.この中で,aについての2次の項は$$-\frac{1}{2}a^T\Omega_{aa}a$$であり,これを$f(a|b)$の指数部のaに関する2次の項と比較することで,$$\Sigma_{a|b}=\Omega_{aa}^{-1}\tag{2}$$となることがわかります.(*)のaに関する1次の項は

\begin{eqnarray}
&&-\frac{1}{2}[-2a^T\Omega_{aa}\mu_a+2a^T\Omega_{ab}b-2a^T\Omega_{ab}\mu_b]\\
&=&a^T\Omega_{aa}\mu_a+a^T\Omega_{ab}b-a^T\Omega_{ab}\mu_b\\
&=&a^T[\Omega_{aa}\mu_a+\Omega_{ab}(b-\mu_b)]
\end{eqnarray}

となり,これを$f(a|b)$の指数部のaに関する1次の項$$a^T\Sigma_{a|b}^{-1}\mu_{a|b}$$と比較することで,

\begin{eqnarray}
\Sigma_{a|b}^{-1}\mu_{a|b}&=&\Omega_{aa}\mu_a+\Omega_{ab}(b-\mu_b)\\
\Leftrightarrow \mu_{a|b}&=&\Sigma_{a|b}(\Omega_{aa}\mu_a+\Omega_{ab}(b-\mu_b))\\
\Leftrightarrow \mu_{a|b}&=&\mu_a+\Omega_{aa}^{-1}\Omega_{ab}(b-\mu_b)\\
&&(\because (2))
\end{eqnarray}

となります.しかし,このままだと,$\Omega$の形がわからないと,条件付き分布が書けないので,これを$\Sigma_{all}$での表現に書き換えます.そのために区分行列(wiki)に書かれているブロック行列の逆行列の公式

\begin{eqnarray}
\begin{pmatrix}
A & B\\
C & D
\end{pmatrix}^{-1}=
\begin{pmatrix}
(A-BD^{-1}C)^{-1} & -(A-BD^{-1}C)^{-1}BD^{-1}\\
-D^{-1}C(A-BD^{-1}C)^{-1} & D^{-1}+D^{-1}D^{-1}C(A-BD^{-1}C)^{-1}BD^{-1}
\end{pmatrix}
\end{eqnarray}

を使います.これを

\Omega=\Sigma^{-1}=
\begin{pmatrix}
\Sigma_{aa} & \Sigma_{ab}\\
\Sigma_{ba} & \Sigma_{bb}
\end{pmatrix}^{-1}

に適用すると,

\begin{eqnarray}
\Omega_{aa}&=&(\Sigma_{aa}-\Sigma_{ab}\Sigma_{bb}^{-1}\Sigma_{ba})^{-1}\\
\Omega_{ab}&=&-\Omega_{aa}\Sigma_{ab}\Sigma_{bb}^{-1}\\
&=&-(\Sigma_{aa}-\Sigma_{ab}\Sigma_{bb}^{-1}\Sigma_{ba})^{-1}\Sigma_{ab}\Sigma_{bb}^{-1}
\end{eqnarray}

となります.これらを$\Sigma_{a|b},\mu_{a|b}$に代入して,

\begin{eqnarray}
\Sigma_{a|b}&=&\Omega_{aa}^{-1}\\
&=&[(\Sigma_{aa}-\Sigma_{ab}\Sigma_{bb}^{-1}\Sigma_{ba})^{-1}]^{-1}\\
&=&\Sigma_{aa}-\Sigma_{ab}\Sigma_{bb}^{-1}\Sigma_{ba}\\
\mu_{a|b}&=&\mu_a+\Omega_{aa}^{-1}\Omega_{ab}(b-\mu_b)\\
&=&\mu_a+\Omega_{aa}^{-1}\Omega_{aa}\Sigma_{ab}\Sigma_{bb}^{-1}(b-\mu_b)\\
&=&\mu_a+\Sigma_{ab}\Sigma_{bb}^{-1}(b-\mu_b)
\end{eqnarray}

よって,$a|b$の分布は$$N(\mu_a+\Sigma_{ab}\Sigma_{bb}^{-1}(b-\mu_b),\Sigma_{aa}-\Sigma_{ab}\Sigma_{bb}^{-1}\Sigma_{ba})$$となることがわかりました.

参考文献

3
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
m1t0
Major: statistics/Multivariate analysis/Psychometrics/R/ (R) C++/python3

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
3
Help us understand the problem. What is going on with this article?