理学敗北者の備忘録

数学、物理の早く知っておきたかったことなど

行列変数の積分とウィシャート分布の正規化についてのメモ

基本的の元ネタはMuirheadのAspects of Multivariate Statistical Theoryです。

イントロダクション

統計学で現れる行列を引数にもつ確率密度であるウィシャート分布は$ D \times D $の正定値行列$ X, \Sigma $について

\begin{align} & W( X | \Sigma , P ) := \frac{ \det(X)^{\frac{ P - D - 1 }{2}} \exp(- \frac{1}{2} \tr( \Sigma^{-1} X ) ) }{ \det( 2 \Sigma )^{P/2} \Gamma_D \qty(\frac{P}{2}) } \\ & \Gamma_D \qty(\frac{P}{2}) := \pi^{D(D-1)/4} \prod_{d=1}^{D} \Gamma \qty( \frac{ P - d - 1 }{2} ) \end{align}

と定義されます。これが多変数のガウス分布の性質を調べる中で登場しますが、その導入は極めて天下りかつ唐突である場合が多いです。ただし、性質としては$P$個の正規分布に従う独立なベクトルのディアド積の分布に等しいため、計算の上では以下のようなベクトル$\vb*x$を導入します。

\begin{align} & X = \sum_{p=1}^P \vb*x_p \vb*x_p^T \qc \vb*{x}_p \sim N( \vb*x | 0, \Sigma ) \end{align}

これを用いて、例えば期待値は以下のようになることなどが紹介されます。

\begin{align} & \mathbb{E} \qty[ X ] = \int \dd X ~ X W( X | \Sigma , P ) \to \mathbb{E} \qty[ \sum_{p=1}^P \vb*x_p \vb*x_p^T ] = \sum_{p=1}^P \mathbb{E} \qty[ \vb*x_p \vb*x_p^T ] = P \Sigma \end{align}

ここで本来の期待値計算には行列の積分$ \dd X $が登場しています。多くの人はこれが具体的にどのような計算をしているのか、そもそも確率密度分布の規格化係数$ \det( 2 \Sigma )^{P/2} \Gamma_D \qty(\frac{P}{2}) $がどのように登場したのかも全くわからないと思います。この資料では、性質云々ではなくその解説を行なうのが目標です。


基本的な流れは以下の通りです、知っている部分については適宜飛ばして読んでもらった方が良いです。

  • 外積と多変数の積分の復習
  • 一般の行列の積分
  • 対称、正定値行列の積分
  • マルチガンマ関数
  • ウィシャート分布の規格化

ただし、数学的な構成を行なっていない部分もございますので悪しからず。

外積

外積内積とは異なり、同じベクトルが$0$となる(分配法則を満たす)二つのベクトルの積です。

\begin{align} & \vb*a \wedge \vb*a := 0 \end{align}

本来はこの積が棲む空間をどのように名づけるかなどを議論する必要がありますが、ここではそういうものとしてラフに取り扱うことにします。この性質からわかる重要な性質は

\begin{align} & 0 = ( \vb*a + \vb*b ) \wedge ( \vb*a + \vb*b ) = \vb*a \wedge \vb*a + \vb*b \wedge \vb*a + \vb*a \wedge \vb*b + \vb*b \wedge \vb*b = \vb*b \wedge \vb*a + \vb*a \wedge \vb*b \end{align}

つまり外積は反交換する二つのベクトルの積であることです。

\begin{align} & \vb*a \wedge \vb*b = - \vb*b \wedge \vb*a \end{align}

この計算にさらに結合則を入れてより多くのベクトルの積を考えます。

\begin{align} & \vb*a \wedge \vb*b \wedge \vb*c = - \vb*a \wedge \vb*c \wedge \vb*b = \vb*c \wedge \vb*a \wedge \vb*b = - \vb*c \wedge \vb*b \wedge \vb*a = - \vb*b \wedge \vb*a \wedge \vb*c = \vb*b \wedge \vb*c \wedge \vb*a \end{align}

定義から明らかなように、元の$a,b,c$の順番から互換をどれだけ行なったかに対応した符号がついています。これは置換と互換の一般論から、置換を表す関数$\epsilon(\sigma)$とその符号を用いて

\begin{align} & \vb*v_1 \wedge \vb*v_2 \wedge \vb*v_3 = \epsilon(\sigma) \vb*v_{ \sigma(1) } \wedge \vb*v_{ \sigma(2) } \wedge \vb*v_{ \sigma(3) } \\ & \vb*v_1 = \vb*a \qc \vb*v_2 = \vb*b \qc \vb*v_3 = \vb*c \end{align}

となることを表しています。この議論は一般化して書けば以下の通りです。

\begin{align} & \Omega(\vb*v) := \bigwedge_{i=1}^n \vb*v_{i} := \vb*v_1 \wedge \vb*v_2 \cdots \wedge \vb*v_n = \epsilon(\sigma) \vb*v_{ \sigma(1) } \wedge \vb*v_{ \sigma(2) } \cdots \wedge \vb*v_{ \sigma(n) } \end{align}

外積にまつわる重要な話題は多々ありますが、ここでは面積との関係を紹介します。外積はある$ n $個の$ n $次元ベクトル$ \qty{ \vb*{v}_i } $で作られる(一般化された)面積として導入することができます。例えば三次元では

\begin{align} & \vb*a \wedge \vb*b \wedge \vb*c = \sum_{ijk=1}^3 a_{i} b_{j} c_{k} \vb*e_{i} \wedge \vb*e_{j} \wedge \vb*e_{k} = \sum_{ijk=1}^3 a_{i} b_{j} c_{k} \epsilon_{ijk} \vb*e_{1} \wedge \vb*e_{2} \wedge \vb*e_{3} = \qty( \vb*a \cdot \qty( \vb*b \times \vb*c ) ) \vb*e_{1} \wedge \vb*e_{2} \wedge \vb*e_{3} \end{align}

という意味です。

$$ \vb*a \cdot \qty( \vb*b \times \vb*c ) $$

は三重積と呼ばれる三つのベクトルで囲まれる平行六面体の体積を表す式となっています。ただしここではレヴィティビタ記号を導入しその性質を用いました

\begin{align} & \epsilon_{ \sigma_1 \cdots \sigma_n} = \begin{cases} 0 & \sigma \notin S_n \\ \epsilon(p) & \sigma \in S_n \end{cases} \qc \sigma_i \in \qty{1,2,\cdots,n} \qc S_n : n \mathrm{ ~ th ~ Symmetric ~ group} \end{align}

詳しくは紹介しません。ここでは一般化された面積と紹介しましたが、その正体は行列式を見ていることとなります。一般に

$$ \vb*v = \sum_{d=1}^{D} v_d \vb*e_d $$

と基底$\vb*e_d$で展開されるベクトルは

\begin{align} & \Omega( \vb*v ) := \bigwedge_{d=1}^D \vb*v_d = \bigwedge_{d=1}^D \qty( \sum_{d'} v_{dd'} \vb*e_{d'} ) = \sum_{d_1' \cdots d'_D} v_{1d'_1} \cdots v_{Dd'_D} \bigwedge_{d=1}^D \vb*e_{d'_d} \\ & = \sum_{d_1' \cdots d'_D} \epsilon_{d'_1 \cdots d'_D} v_{1d'_1} \cdots v_{Dd'_D} \bigwedge_{d=1}^D \vb*e_{d} = \det(V) \Omega( \vb*e ) \end{align}

という関係を満たします。ここで

$$ (V)_{dd'} := v_{dd'} $$

という行列を定義しました。特に積と和の公式

\begin{align} & \prod_i \sum_j a_{ij} = \qty( \prod_i \sum_{j_i} ) \prod_{i} a_{ij_i} \end{align}

を用いることに注意が必要になります。またレヴィチヴィタと行列式の関係も用いました。

\begin{align} & \sum_{d_1' \cdots d'_D} \epsilon_{d'_1 \cdots d'_D} v_{1d'_1} \cdots v_{Dd'_D} = \sum_{d' \in S_D} \epsilon(d') v_{1d'_1} \cdots v_{Dd'_D} = \det(V) \end{align}


多次元の場合を考えます。ある$D$次元空間の$D$個のパラメータ$\vb*\xi$によって書かれる点は

\begin{align} & \vb*r( \vb*\xi ) = \mqty[ x_1(\vb*\xi) & \cdots & x_D(\vb*\xi) ] \in \mathbb{R}^D \qc \vb*\xi = ( \xi_1, \cdots , \xi_D ) \end{align}

です。このパラメータの動くことによる面積要素$ \Omega( \dd{\vb*x} ) $は各パラメータの変化分による体積なので

\begin{align} & \Omega( \dd{\vb*x} ) := \bigwedge_{ d = 1 }^D \qty( \sum_{ p=1 }^D \pdv{ x_d }{ \xi_p } \dd \xi_p ) = \sum_{p_1 \cdots p_D} \pdv{ x_1 }{ \xi_{p_1} } \cdots \pdv{ x_d }{ \xi_{p_D} } \bigwedge_{ d = 1 }^D \dd \xi_{p_d} = \sum_{p_1 \cdots p_D} \epsilon_{p_1\cdots p_D} \pdv{ x_1 }{ \xi_{p_1} } \cdots \pdv{ x_d }{ \xi_{p_D} } \bigwedge_{ d = 1 }^D \dd \xi_{d} \end{align}

と式変形をすることができます。これによって変数$\vb*\xi$の場合の面積要素が

\begin{align} & \Omega( \dd{ \vb*x} ) = \det( \pdv{ x }{ \xi } ) \bigwedge_{ d = 1 }^D \dd \xi_{d} =: J(\vb*\xi) \bigwedge_{ d = 1 }^D \dd \xi_{d} \qc \qty( \pdv{ x }{ \xi } )_{dd'} := \pdv{ x_d }{ \xi_{d'} } \end{align}

と表せます。ここで

$${J(\vb*\xi)}$$

ヤコビアンと呼びます。座標によらずに

$$ \Omega( \dd {\vb*x} ) $$

は存在することに注意してください。もっとも単純なパラメータとして$ x_d = \xi_d $を採用した場合には

$$ \pdv{ x_d }{ \xi_{d'} } = \delta_{dd'} \to J(\vb*\xi) = 1 $$

であるため

\begin{align} & \Omega( \dd {\vb*x} ) = \bigwedge_{ d = 1 }^D \dd x_{d} =: \dd[D] x \end{align}

というもっとも親しみのある面積要素を手に入れることができました。この際に、

$$ \bigwedge_{ d = 1 }^D \dd {\xi_{d}} = \xi_1 \wedge \xi_2 \wedge \cdots \xi_D $$

と添字が右に行くように大きくなるように書いていますが、これは必ずしも一意なことではなくこの了解を空間の向きと呼びます。例えば二次元で以下の面積要素のどちらを表と捉えるかは

\begin{align} & \xi_1 \wedge \xi_2 \qc \xi_2 \wedge \xi_1 \end{align}

計算する人たちの了解のもとで一意に定まっているとしています。(多くの場合は$ \xi_1 \wedge \xi_2 $を採用します。)

行列の面積要素

一般の行列の体積要素

多変数の積分について定義したので、行列を要素として持つ積分を考えます。ここでは任意の$M \times N$次の行列について考えて、のちにより実用的なものの例をも見ることにします。

\begin{align} & \dd A := \bigwedge_{ m = 1 }^{N} \bigwedge_{n = 1 }^{M} \dd a_{mn} := \dd a_{11} \wedge \dd{ a_{12} } \cdots \wedge \dd{ a_{1n} } \wedge \dd{ a_{21} } \cdots \wedge \dd a_{MN} \\ & = \dd[M] a_1 \wedge \cdots \wedge \dd[M] a_N = (-1)^{MN} \dd[N] a^1 \wedge \cdots \wedge \dd[N] a^M \\ & A := \mqty[ \vb*a_1 & \cdots & \vb*a_{N} ] = \mqty[ \vb*a^{1} & \cdots & \vb*a^{M} ]^T \qc a_{mn} = (\vb*a_n)_m = (\vb*a^m)_n \end{align}

例えば

$$ \tr( AA^T ) = \sum_{mn} a_{mn}^2 $$

となるので行列の関数

$$ \exp(- \tr( AA^T )) $$

については

\begin{align} & \int \dd A ~ \exp(- \tr( AA^T )) = \pi^{ MN/2 } \end{align}

となります。外積の性質を用いれば次の変数変換に対しての振る舞いを解析できます。

\begin{align} & A \to A' = L A = L \mqty[ \vb*a_1 & \cdots & \vb*a_{N} ] = \mqty[ L \vb*a_1 & \cdots & L \vb*a_{N} ] \\ & \dd A \to \dd A' = \dd[M]{\qty(La_1)} \wedge \cdots \wedge \dd[M] {\qty(L a_N)} = \det(L)^N \dd A \end{align}

また同様に行列を左右から作用させた場合にも次のように求められます。

\begin{align} & A \to A'' = L A R = LA' = L \mqty[ \vb*a_1' & \cdots & \vb*a_{N}' ] = \mqty[ \vb*a_1'' & \cdots & \vb*a_{N}'' ] \\ & \mqty[ \vb*a_1' & \cdots & \vb*a_{N}' ] = \mqty[ \vb*a^1 & \cdots & \vb*a^{N} ]^T R = \qty( \mqty[ R^{T} \vb*a^1 & \cdots & R^T \vb*a^{N} ] )^T \\ & \dd A' = (-1)^{MN} \dd[N] {\qty(R^Ta)^1} \wedge \cdots \wedge \dd[N] {\qty(R^Ta)^M} = \det(R^T)^M \dd A = \det(R)^M \dd A \\ & \dd A \to \dd A'' = \det(L)^N \dd A' = \det(L)^N \det(R)^M \dd A \end{align}

対称行列の面積要素

さて、ここまでは$MN$個の全てが独立な場合の式です。本題に近づいて$M \times M$の対称行列の場合について考えます。対称行列の独立な成分は、対角要素と非対角要素の自由度の和である$ \frac{M(M+1)}{2} $です。つまり

\begin{align} & \dd A := \bigwedge_{m \leq m'} \dd a_{mm'} = \dd a_{11} \wedge \dd a_{12} \cdots \wedge \dd a_{MM} \end{align}

となります。面積要素の定義はおおよそ直感的ですが、問題は変数変換です。

\begin{align} & A \to A' = S A S^T \end{align}

と変数変換を行った場合を考えます。変換の形から$ A' $も対称行列です。この場合

\begin{align} & \dd A' = \det(S)^{M+1} \dd A \end{align}

が成り立つことが知られています。例えば

\begin{align} & S = \mqty[ s & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & & \ddots & \\ 0 & 0 & \cdots & 1 ] \qc A' = \mqty[ s^2a_{11} & sa_{12} & \cdots & sa_{1M} \\ sa_{21} & a_{22} & \cdots & a_{2M} \\ \vdots & & \ddots & \\ sa_{M1} & a_{M2} & \cdots & a_{MM} ] \end{align}

の場合には特別な場合を確認することができます。次数を忘れた場合の検算に役立ちます。

\begin{align} & \dd A' = s^{M+1} \dd A \end{align}

この証明は行列要素の多項式$J(S)$で$ \dd A' = J(S) \dd A $となるとした場合に、任意の正則行列$S$について

\begin{align} & J(SS') = J(S) J(S') \qc J(I) = 1 \end{align}

が成り立ち、上の性質を満たす行列要素$s_{mm'}$多項式は必ず行列式のベキで表せること

\begin{align} & J(S) = \det(S)^{j} \end{align}

そして先ほどの例から$j=M+1$であることから証明できます。自明でないのは$J(S)$が必ず行列式で表せることですが、その証明は以下の様に考えられます。まず$S$が対角化可能な場合に、$J(S)$は定義から

\begin{align} & J(S) = J(P \Lambda(S) P^{-1} ) = J( \Lambda(S)) =: f(s_1, \cdots ,s_M ) \end{align}

固有値$s_m$のみに依存する関数だと考えることができます。この$M$変数関数$f(s_1, \cdots ,s_M )$の関数形は

\begin{align} & J(SS') = J(S) J(S') \to f(s_1s'_1, \cdots ,s_Ms'_M ) = f(s_1, \cdots ,s_M ) f(s'_1, \cdots ,s'_M ) \end{align}

という規則を満たしますが、これは両辺を$s_m'$微分を行い$s_m' = 1$とした場合

\begin{align} & s_m \qty[ \pdv{s''_m} f(s''_1, \cdots ,s''_M ) ]_{s'' = s} = s_m \pdv{s_m} f(s_1, \cdots ,s_M ) \\ & = f(s_1, \cdots ,s_M ) \qty[ \pdv{s'_m} f(s'_1, \cdots ,s'_M ) ]_{s'=1} =: j_m f(s_1, \cdots ,s_M ) \qc j_m := \qty[ \pdv{s'_m} f(s'_1, \cdots ,s'_M ) ]_{s'=1} \end{align}

という関係を満たします。これを全ての$s_m$について考えると、関数形は以下の形になります。

\begin{align} & f(s_1, \cdots ,s_M ) = f_0 s_1^{j_1} \cdots s_M^{j_M} \end{align}

この指数$j_m$については、スワップ行列$W_{ij}$と対角行列に成り立つ次の性質からその特徴がわかります。

\begin{align} & W_{mm'} := \mqty[ 1 & \cdots & 0 & \cdots & 0 & \cdots & 0 \\ & \ddots & & & & & \\ 0 & \cdots & 0 & \cdots & 1 & \cdots & 0 \\ & & & \ddots & & & \\ 0 & \cdots & 1 & \cdots & 0 & \cdots & 0 \\ & & & & & \ddots & \\ 1 & \cdots & 0 & \cdots & 0 & \cdots & 1 \\ ] \qc \Lambda(S) := \mathrm{diag}\mqty[ s_1 & \cdots & s_m & \cdots & s_{m'} & \cdots & s_M ] \\ & W_{mm'} \Lambda(S) W_{mm'} = \mathrm{diag}\mqty[ s_1 & \cdots & s_{m'} & \cdots & s_{m} & \cdots & s_M ] \qc W_{mm'}^2 = I \end{align}

が成り立っているため、関数$f$が持つ以下の性質が明らかになります。

\begin{align} & f(s_1 , \cdots , s_{m} , \cdots , s_{m'} , \cdots , s_M ) := J( \Lambda(S) ) = J( W_{mm'} \Lambda(S) W_{mm'} ) = f(s_1 , \cdots , s_{m'} , \cdots , s_{m} , \cdots , s_M ) \end{align}

つまり、$f$$M$個の変数の対称関数ということです。従って$j_m=j_{m'}=j$という等式が任意の$1 \leq m,m' \leq M$について成り立っている必要があります。これを改めて書き下すと

\begin{align} J(S) = f(s_1 , \cdots , s_{m} , \cdots , s_{m'} , \cdots , s_M ) = f_0 \qty( s_1 \cdots s_M )^{j} = f_0 \det(S)^j \end{align}

となっている必要があるということです。比例係数$f_0$は定義式から

\begin{align} & J(SS') = J(S) J(S') \to f_0 \det(SS')^j = f_0^2 \det(S)^j \det(S')^j \to f_0 = f_0^2 \end{align}

が成り立つので、$f_0 = 0,1$です。$f_0 = 0$は全ての変換を$0$とする自明な変換なので除くと

\begin{align} & J(S) = \det(S)^j \end{align}

のように、考えられる$J(S)$の関数形は行列式のベキのみであることが証明できたことになります。$~_\Box$

正定値行列の面積要素

次は正定値行列$A$についての行列要素を考えます。正定値行列は対称行列の特別な場合で、面積要素や変数変換は対称行列と同じな一方、その行列要素に制限が存在します。この条件を$ A > 0 $と表します。

\begin{align} & \dd A = \bigwedge_{m \leq m'} \dd a_{mm'} \qc A' = SAS^T \to \dd A' = \det( S )^{M+1} \dd A \end{align}

積分範囲の性質を詳しく見るため、最初に正定値行列は

\begin{align} & A = U^T U \end{align}

と上三角行列$U$によって(のちに見るように対角成分の符号を除いて)一意に分解できることを紹介します。

\begin{align} & \mqty[ a_{11} & a_{12} & \cdots & a_{1M} \\ a_{12} & a_{22} & \cdots & a_{2M} \\ \vdots & & \ddots & \\ a_{1M} & a_{2M} & \cdots & a_{MM} ] = \mqty[ u_{11} & 0 & \cdots & 0 \\ u_{12} & u_{22} & \cdots & 0 \\ \vdots & & \ddots & \\ u_{1M} & u_{2M} & \cdots & u_{MM} ] \mqty[ u_{11} & u_{12} & \cdots & u_{1M} \\ 0 & u_{22} & \cdots & u_{2M} \\ \vdots & & \ddots & \\ 0 & 0 & \cdots & u_{MM} ] \end{align}

を具体的に計算して書き下すと、各成分の関係を知ることができます。

\begin{align} & a_{11} = u_{11}^2 \qc a_{12} = u_{11} u_{12} \qc \cdots \qc a_{1M} = u_{11} u_{1M} \\ & a_{22} = u_{12}^2 + u_{22}^2 \qc \cdots \qc a_{2M} = u_{12} u_{1M} + u_{22} u_{2M} \\ & \vdots \\ & a_{MM} = u_{1M}^2 + \cdots + u_{MM}^2 \end{align}

これは$ a_{mm} > 0 $という正定値行列の性質を用いて、具体的な計算行うことによって証明できます。

\begin{align} & A = \mqty[ a_{11} & \vb*a_1^T \\ \vb*a_1 & R_1 ] = \mqty[ \pm \sqrt{a_{11}} & 0 \\ \pm \frac{ \vb*a_1 }{ \sqrt{a_{11}} } & I ] \mqty[ 1 & 0 \\ 0 & R_{1} - \frac{ \vb*a_{1} \vb*a_{1}^T }{ a_{11} } ] \mqty[ \pm \sqrt{a_{11}} & \pm \frac{ \vb*a_1^T }{ \sqrt{a_{11}} } \\ 0 & I ] =: U_1^T A_{1} U_{1} \\ & A_1 = U_{2}^T A_2 U_2 \qc \cdots \qc A_M = U_{M}^T A_M U_M \qc A_{M} = I \end{align}

ここで、上三角行列の積が再度上三角行列になることを用いることによって

\begin{align} & A = U_{1}^T U_{2}^T \cdots U_{M}^T I U_{M} \cdots U_{2} U_{1} = U^T U \qc U := U_{M} \cdots U_{2} U_{1} \end{align}

と具体的に知りたい$U$を構成することができます。ただし繰り返すためには

$$ R_1 - \frac{ \vb*a_1 \vb*a_1^T }{ a_{11} } $$

が正定値行列である必要があります。つまり大きさが考える系の大きさより一つ小さい任意のベクトル$ \vb*\psi $について

\begin{align} & \vb*\psi^T \qty( R - \frac{ \vb*a \vb*a^T }{a} ) \vb*\psi = \vb*\psi^T R \vb*\psi - \frac{ \qty( \vb*a^T \vb*\psi )^2 }{ a } > 0 \end{align}

が成り立って欲しいということです。この証明は$A$がもともと正定値行列であることから

\begin{align} & \mqty[ \varphi \\ \vb*{\varphi}^T ] := U \mqty[ 0 \\ \vb*\psi^T ] = \mqty[ \pm \sqrt{a} & \pm \frac{ \vb*a^T }{ \sqrt{a} } \\ 0 & I ] \mqty[ 0 \\ \vb*\psi^T ] \\ & 0 \leq \mqty[ \varphi & \vb*\varphi^T ] \mqty[ a & \vb*a^T \\ \vb*a & R ] \mqty[ \varphi \\ \vb*\varphi ] = \mqty[ 0 & \vb*\psi^T ] \mqty[ 1 & 0 \\ 0 & R - \frac{\vb* a \vb*a^T }{a} ] \mqty[ 0 \\ \vb*\psi ] = \vb*\psi^T \qty( R - \frac{ \vb*a \vb*a^T }{a} ) \vb*\psi \end{align}

と特別なベクトル

$$ \mqty[ \varphi & {\vb*\varphi}^T ] $$

について調べれば実証することが可能です。以下では$U$の対角成分を正とします。


この上三角行列$U$の構成要素は$ A $の持っている自由度を過不足なく上手に表しています。これを用いて正定値行列の面積要素を$u_{mm'}$で書き直すことを考えてみましょう、結果的に以下の式が成り立ちます。

\begin{align} & \dd A := \bigwedge_{m \leq m'} \dd a_{mm'} = 2^{M} u_{11}^M u_{22}^{M-1} \cdots u_{MM} \bigwedge_{m \leq m'} \dd u_{mm'} = 2^M \prod_{m=1}^M u_{mm}^{M-m+1} \dd U \end{align}

この証明は、先ほどの成分の関係から以下の式が成り立つことからわかります。

\begin{align} & \dd a_{11} = 2 u_{11} \dd u_{11} \qc \dd a_{11} = u_{11} \dd u_{12} + \order{ \dd u_{11} } \qc \cdots \qc \dd a_{1M} = u_{11} \dd u_{1M} + \order{ \dd u_{11} } \\ & \dd a_{22} = 2 u_{22} \dd u_{22} + \order{ \dd u_{12} } \qc \cdots \qc \dd a_{2M} = 2 u_{22} \dd u_{22} + \order{ \dd u_{12}, \dd u_{1M} , \dd u_{22} } \\ & \vdots \\ & \dd a_{MM} = 2 u_{MM} \dd u_{MM} + \order{ \dd u_{11}, \dd u_{22}, \cdots , \dd u_{ M-1 M-1} } \end{align}

ここで$ \order{\dd x} $とは$ \dd x $を含んだ何かしらの一形式を表す記号で

\begin{align} & \dd x \wedge \order{\dd x} = 0 \end{align}

が成り立つような項です。この関係を導けは、具体的に面積要素を計算すれことで求める式

\begin{align} \dd A := \bigwedge_{m \leq m'} \dd a_{mm'} = 2^{M} u_{11}^M u_{22}^{M-1} \cdots u_{MM} \bigwedge_{m \leq m'} \dd u_{mm'} \end{align}

が得られることがわかります。これで正定値行列の面積要素について準備が整いました。


この表示で特に重要なのは、正定値行列$A$は対称な場合の成分の空間を一部分に制限しているため積分区間が複雑であるのに対して、$U$の成分は対角の符号が決まっていれば非対角は任意の値をとれる点です。

\begin{align} & A > 0 \to A = U^T U \qc u_{mm} \geq 0 \qc - \infty < u_{mm'} < \infty ~~ (m \neq m') \end{align}

マルチガンマ関数

マルチガンマ関数$\Gamma_M(P)$$M$次元の正定値行列$A$を用いて以下のように定義することができます。

\begin{align} & \Gamma_{M}(P) := \int_{A>0} \dd A ~ \det(A)^{P - \frac{ M + 1 }{2}} \exp( -\tr(A) ) \end{align}

特に$M=1$の場合は$ A = a > 0 $なので、よく知るガンマ関数に一致します。

\begin{align} & \Gamma_{M=1}(P) = \int_{0}^\infty \dd a ~ a^{P - 1 } \exp( - a ) = \Gamma(P) \end{align}

一方で一般の場合について、以下の関係が成り立つことを示すことができます。

\begin{align} & \Gamma_{M}(P) = \pi^{ \frac{M(M-1)}{4} } \Gamma \qty( P ) \Gamma \qty( P - \frac{1}{2} ) \cdots \Gamma \qty( P - \frac{ M -1 }{2} ) = \pi^{ \frac{M(M-1)}{4} } \prod_{m=1}^M \Gamma \qty( P - \frac{ m -1 }{2} ) \end{align}

証明は、先ほど示した

$A = U^T U$

を用いて行います。

\begin{align} & \dd A = 2^{M} u_{11}^M u_{22}^{M-1} \cdots u_{MM} \bigwedge_{m \leq m'} \dd u_{mm'} = 2^M \prod_{m=1}^M u_{mm}^{M-m+1} \dd U \\ & \tr(A) = \tr(U^TU) = \sum_{ m \leq m' } u_{mm'}^2 \qc \det( A ) = \det(U)^2 = \prod_{m=1}^M u_{mm}^2 \end{align}

の関係を用いてマルチガンマ関数を書き直すと

\begin{align} & \Gamma_{M}(P) = 2^{M} \int \dd U ~ \qty( \prod_{m=1}^M u_{mm}^{M-m+1} ) \qty( \prod_{m=1}^M u_{mm}^{2P-(M+1)} ) \exp( - \sum_{ m \leq m' } u_{mm'}^2 ) \\ & = 2^{M} \prod_{m < m'} \qty( \int_{- \infty}^{\infty} \dd u_{mm'} ~ \exp( - u_{mm'}^2 ) ) \prod_{m = 1}^M \qty( \int_{0}^{\infty} \dd u_{mm} ~ u^{2P-m} \exp( - u_{mm'}^2 ) ) \end{align}

となり、1変数の積分公式でよく知られている

\begin{align} & 2 \int_{0}^{\infty} \dd x ~ x^{ 2\nu } e^{- x^2} = \int_{0}^{\infty} \dd x^2 ~ \qty(x^2)^{\nu-1/2} e^{- x^2} = \Gamma \qty( \nu + \frac{1}{2} ) \end{align}

を用いることによって目的の式を得ることができます。

\begin{align} & \Gamma_{M}(P) = \prod_{m < m'} \qty( \sqrt{\pi} ) \prod_{m = 1}^M \Gamma \qty(P - \frac{m}{2} + \frac{1}{2} ) = \pi^{ \frac{M(M-1)}{4} } \prod_{m=1}^M \Gamma \qty( P - \frac{ m -1 }{2} ) \end{align}

ウィシャート分布

最後に本題であるウィシャート分布の正規化について話します。示したいことは正定値行列$\Sigma$について

\begin{align} & \int_{A>0} \dd A ~ \det(A)^{P - \frac{ M + 1 }{2}} \exp( - \frac{1}{2} \tr( \Sigma^{-1} A) ) = \det( 2 \Sigma )^P \Gamma_{M}(P) \end{align}

が成り立つことでした。これは変数変換を行ったマルチガンマ関数であることがわかります。実際に

\begin{align} & A = \sqrt{2\Sigma} B \sqrt{2\Sigma} \qc \dd A = \det( 2 \Sigma )^{\frac{ M(M+1) }{2} } \dd B \\ & \frac{1}{2} \tr( \Sigma^{-1} A ) = \tr( B ) \qc \det( A ) = \det( 2 \Sigma ) \det( B ) \end{align}

が成り立つため、積分は以下の通りに変形できます。

\begin{align} & \int_{A>0} \dd A ~ \det(A)^{P - \frac{ M + 1 }{2}} \exp( - \frac{1}{2} \tr( \Sigma^{-1} A) ) \\ & = \det( 2 \Sigma )^{P-\frac{M+1}{2}} \det( 2 \Sigma )^{\frac{M+1}{2}} \int_{B>0} \dd B ~ \det(B)^{P - \frac{ M + 1 }{2}} \exp( - \tr(B) ) \\ & = \det( 2 \Sigma )^{P} \Gamma_{M}(P) \end{align}

つまり、正定値行列$X$を確率変数としてもつウィシャート分布

\begin{align} & W( X | \Sigma , P ) := \frac{ \det(X)^{\frac{ P - D - 1 }{2}} \exp(- \frac{1}{2} \tr( \Sigma^{-1} X ) ) }{ \det( 2 \Sigma )^{P/2} \Gamma_D \qty(\frac{P}{2}) } \qc X > 0 \end{align}

は、確かに規格化されていることが確かめられたことになります。

終わりに

正規分布の学習の話でいきなり出てきて困惑しますよね、ウィシャート分布。そんな気持ちからの雑なメモでした。

あとMarkdownでインラインのままベクトルを二つ以上使おうとすると数式になってくれないの地味に困るので解決したいです。

$J(S)$の関数形の議論に付き合ってくれた後輩のK君、本当にありがとうございました。