Fermi Dの学問&技術ブログ

物理、機械学習、プログラミングについて書きます

【統計力学】1変数のキュミュラント展開

1変数のキュミュラント展開

\xiをパラメータ, xを確率変数として,


\begin{align}
C(\xi) &= \langle e^{\xi x} \rangle \tag{1}                                                                 
\end{align}

としてC(\xi)を定義する.ここで確率変数xの取りうる範囲は-\infty \leq x \leq \infty, 確率分布関数をf(x)とすると(1)の右辺は,


\begin{align}
\langle e^{\xi x} \rangle &= \int_{-\infty}^{\infty} e^{\xi x} f(x) dx \tag{2}                                                                 
\end{align}

で表される.(1)の右辺をx = 0近傍でテイラー展開すると,


\begin{align}
C(\xi) &= \langle 1 \rangle + \xi  \langle x \rangle + \frac{1}{2} \xi^2 \langle x^2 \rangle + \cdots \\ 
           &= \sum_{n=0}^{\infty} \frac{\xi^n}{n!} \langle x^n \rangle = \sum_{n=0}^{\infty} \frac{\xi^n}{n!} \mu_n \tag{3}                                       
\end{align}

\mu_nn次のモーメントと呼ばれる.
選ぶ確率分布によって\mu_nが無限大になることもあるが, そのような場合は除外して今後の計算をしていく(例えばローレンツ分布を選べば\mu_2, \mu_4, \mu_6, ...の偶数次のモーメントが無限大になる).
次に, (3)に自然対数を底とする対数をとって,


\begin{align}
logC(\xi) &= \sum_{n=1}^{\infty} \frac{\xi^n}{n!} \lambda_n \tag{4}                 
\end{align}

と書けるとする.このとき, \lambda_nn次のキュミュラント, (4)の展開をキュミュラント展開と呼ぶ.また,n次のモーメントのようにn次のキュミュラントは以下のように表される.


\begin{align}
\lambda_n &= \langle x^n \rangle_c \tag{5}                 
\end{align}

ところで, (3)で対数をとったときに(4)の右辺にlogがどこにいったのかが疑問なると思うので, その部分を考慮しつつ, キュミュラント展開したときの最初の数項を書き下していく.
(3)を(4)の左辺にに代入すると,


\begin{align}
logC(\xi) &= log(1 + \xi \mu_1 + \frac{1}{2!} \xi^2 \mu_2 + \frac{1}{3!} \xi^3 \mu_3 + \cdots)    
\end{align}

となる. log(1+x)x=0近傍でのテイラー展開


\begin{align}
log(1+x) = \sum_{n=1}^{\infty} \frac{(-1)^{n-1}}{n} x^n   
\end{align}

を使う.


\begin{align}
x =  \xi \mu_1 + \frac{1}{2!} \xi^2 \mu_2 + \frac{1}{3!} \xi^3 \mu_3 + \cdots
\end{align}

だと思って展開し, \xiでまとめると,


\begin{align}
logC(\xi) &= \xi \mu_1 + \frac{\xi^2}{2!} (\mu_2 - \mu_1^2) +  \frac{\xi^3}{3!} (\mu_3 - 3 \mu_1 \mu_2 + 2 \mu_1^3) + \cdots \tag{6}     
\end{align}

(6)と(4)の各項を比較していくと, 1次から3次のキュミュラントは以下のようになる.


\begin{align}
\langle x \rangle_c &= \langle x \rangle \\
\langle x^2 \rangle_c &=  \langle x^2 \rangle -  \langle x \rangle^2 \\
\langle x^3 \rangle_c &= \langle x^3 \rangle - 3 \langle x \rangle \langle x^2 \rangle + 2  \langle x \rangle^3
\end{align}

4次以降のキュミュラントは(6)の第4項以降を計算すれば得られる.

まとめ

結論としては, exp()の平均の対数はキュミュラント平均が分かれば計算できることが分かりました.統計力学では分配関数や大分配関数の対数から様々な物理量(ヘルムホルツの自由エネルギーなど)が導かれるので、この展開は必要だなと感じました(1変数では使い道は限られますが...).
多変数に拡張したキュミュラント展開の記事も今後書きたいと思います.