chpt.1 补充——斯特灵近似

2019-12-22  本文已影响0人  有限与微小的面包

斯特灵近似(Stirling approximation)

n非常大时,n!可以被近似为:

n! \simeq (2\pi n)^{1/2}n^n\exp\left[-n + \frac{1}{12n}+0\left(\frac{1}{n^2}\right)\right]

或者,写成对数形式:

\log n! \simeq \frac{1}{2}\log 2\pi + \left(n+\frac{1}{2}\right)\log n -n + \frac{1}{12n} + 0\left(\frac{1}{n^2}\right)

其中\frac{1}{12n}\frac{1}{n}的一阶展开项;0\left(\frac{1}{n^2}\right)代表当n非常大时,任何大于二阶的高阶项均可被忽略。很多时候甚至连一阶项\frac{1}{12n}也可以被忽略。

之前讨论高斯分布时,我并没有道明该近似的由来而是直接使用了上述结论。所以本篇作为补充,将致力于斯特灵近似的具体推导。

注意:本篇会使用较多的数学语言,不适合快速浏览!如果你对数学表达式眩晕或已经对斯特灵近似有很充分的了解,那么本篇将不适合你;如果你完全不了解或是感兴趣,推荐阅读时一边用笔亲自验证,这样即加深印象又练习数学。(数学高手或学神请忽略)


根据伽马函数的定义及其性质,

n! = \Gamma(n+1) = \int_0^{\infty}x^{n}e^{-x}dx

根据对数函数与指数函数的关系:s = e^{\log s}

被积函数可被表示成:

x^ne^{-x} = e^{\log(x^ne^{-x})} = e^{n\log x -x}

不妨令f(x) = n\log x -x,可将积分写成:

n! =  \int_0^{\infty}e^{f(x)}dx

做代换:x = n + yn^{1/2} = n(1 + yn^{-1/2});\quad dx = n^{1/2}dy

利用对数函数的性质,函数f(x)可以被代换为关于y的函数:

\begin{align*}f(y) &= n\log n(1 + yn^{-1/2}) -n(1 + yn^{-1/2})\\       &= n\log n + n\log yn^{-1/2} - n - yn^{1/2}\\          &= n\log n - n + g(y)\end{align*}

其中g(y) = n\left[\log(1+yn^{-1/2})-yn^{-1/2}\right]

于是

n! = n^{1/2}n^ne^{-n}\int_{-n^{1/2}}^{\infty}e^{g(y)}dy

函数g(y)y = 0点处取得最大值g(0) =0 ,对\log(1 + yn^{-1/2})使用泰勒展开:

\begin{align*}\log(1 + yn^{-1/2}) &= \log\left[1+(y^2/n)^{1/2}\right]\\&=\sum_{k=0}^{\infty}\frac{1}{k!}\left(\frac{d}{d(y^2/n)^{1/2}}\right)^k\log[1+(y^2/n)^{1/2}]\left(\frac{y^2}{n}\right)^{k/2}\\                             &= \left(\frac{y^2}{n}\right)^{1/2} - \frac{y^2}{2n} + \frac{1}{3}\left(\frac{y^2}{n}\right)^{3/2} - \frac{1}{4}\left(\frac{y^2}{n}\right)^{2} +...  \end{align*}

代入g(y)得到

\begin{align*}g(y) &= n\left[-\frac{1}{2}\frac{y^2}{n} + \frac{1}{3}\left(\frac{y^2}{n}\right)^{3/2}-...\right]\\\end{align*}

因为s = (y^2/n)^{1/2},当n \rightarrow \infty s \rightarrow 0,所以

\lim_{n\rightarrow \infty} g(y) = -\frac{1}{2}y^2

代入积分:

\lim_{n \rightarrow \infty}\int_{-n^{1/2}}^{\infty}e^{g(y)}dy = \int_{-\infty}^{\infty}e^{-y^2/2}dy = 2\int_{0}^{\infty}e^{-y^2/2}dy

做代换:\zeta = y^2/2;\quad dy = \frac{1}{\sqrt{2}}\zeta^{-1/2}d\zeta

\lim_{n \rightarrow \infty}\int_{-n^{1/2}}^{\infty}e^{g(y)}dy = \sqrt{2}\int_0^{\infty}\zeta^{-1/2}e^{-\zeta}d\zeta = \sqrt{2}\;\Gamma(1/2) = \sqrt{2\pi}

于是

n! \simeq (2\pi n)^{1/2}n^ne^{-n}n\rightarrow \infty

对比一开始给出的公式,我们还缺少对\frac{1}{n}的一阶展开项。

设一阶项系数为A,可将\log n!写成:

\log n! = \frac{1}{2}\log 2\pi + \left(n+\frac{1}{2}\right)\log n - n + \frac{A}{n} + 0\left(\frac{1}{n^2}\right)

同样,高于等于二阶的展开项均可被忽略。

n -1替换n

\log (n-1)! = \frac{1}{2}\log 2\pi + \left(n-\frac{1}{2}\right)\log (n-1) - (n-1) + \frac{A}{n-1} + 0\left(\frac{1}{n^2}\right)

做差:

\begin{align*}\log n! - \log(n-1)! &= \log\frac{n!}{(n-1)!} = \log n\\                             &= \left(n+\frac{1}{2}\right)\log n - \left(n-\frac{1}{2}\right)\log (n-1) - 1 \\&\quad+ \frac{A}{n} - \frac{A}{n-1} +0\left(\frac{1}{n^3}\right)\end{align*}

其中

\frac{A}{n} - \frac{A}{n-1} = -\frac{A}{n(n-1)} = -\frac{A}{n^2}+0\left(\frac{1}{n^3}\right)

将所有三阶项整理到一起,代入之间做差得到的表达式:

\frac{A}{n^2} = \left(n - \frac{1}{2}\right)\log \frac{n}{n-1} - 1 + 0\left(\frac{1}{n^3}\right)

其中\log \frac{n}{n-1}可以写成-\log \left(1- \frac{1}{n}\right)

再次使用泰勒展开:

-\log \left(1- \frac{1}{n}\right) = \frac{1}{n} + \frac{1}{2n^2} + \frac{1}{3n^3} + 0\left(\frac{1}{n^4}\right)

代入后得到:

\frac{A}{n^2} = 1 + \frac{1}{12n^2} - 1 + 0\left(\frac{1}{n^3}\right)

\implies A = \frac{1}{12}

最后:

n! \simeq (2\pi n)^{1/2}n^n\exp\left[-n + \frac{1}{12n}+0\left(\frac{1}{n^2}\right)\right] (n >\!> 1)

或者

\log n! \simeq \frac{1}{2}\log 2\pi + \left(n+\frac{1}{2}\right)\log n -n + \frac{1}{12n} + 0\left(\frac{1}{n^2}\right)

n足够大时,我们可以选择忽略任何除n的线性项以外的所有项,于是

\log n! \simeq n\log n - n

是一个很常见的表达式。

上一篇 下一篇

猜你喜欢

热点阅读