第185行:
第185行:
***待翻譯***
***待翻譯***
== 例子1:斯特靈近似 ==
== 例子1:斯特靈公式 ==
拉普拉斯方法可以用在推導 [[Stirling's approximation]] 上;當 ''N'' 很大時,
拉普拉斯方法可以用在推導 [[斯特靈公式 ]] 上;當 ''N'' 很大時,
:<math>N!\approx \sqrt{2\pi N} N^N e^{-N}\,</math>
:<math>N!\approx \sqrt{2\pi N} N^N e^{-N}\,</math>
在数学 上,以皮埃尔-西蒙·拉普拉斯 命名的拉普拉斯方法 是用于得出下列积分 形式的近似解的方法:
∫
a
b
e
M
f
(
x
)
d
x
{\displaystyle \int _{a}^{b}\!e^{Mf(x)}\,dx}
其中的 ƒ (x ) 是一個二次可微 函数 , M 是一個很大的數,而積分邊界點 a 與 b 則允許為無限大。此外,函數 ƒ (x ) 在此積分範圍內的 全域極大值 所在處必須是唯一的並且不在邊界點上。則它的近似解可以寫為
∫
a
b
e
M
f
(
x
)
d
x
≈
2
π
M
|
f
″
(
x
0
)
|
e
M
f
(
x
0
)
as
M
→
∞
.
{\displaystyle \int _{a}^{b}\!e^{Mf(x)}\,dx\approx {\sqrt {\frac {2\pi }{M\left|f''(x_{0})\right|}}}e^{Mf(x_{0})}{\text{ as }}M\to \infty .\,}
其中的 x 0 為極大值所在處。這方法最早是拉普拉斯在 (1774, pp. 366–367) 所發表。(待考查)
拉普拉斯方法的想法概論
1. 相對誤差
首先,我們得先知道的是,這裡所謂的近似解是以 相對誤差 在講,而不是指 絕對誤差 。因此,令
s
=
2
π
M
|
f
″
(
x
0
)
|
{\displaystyle s={\sqrt {\frac {2\pi }{M\left|f''(x_{0})\right|}}}}
,
此 s 很顯然的當 M 很大時為一個微小的數,則上述的積分可以寫為
∫
a
b
e
M
f
(
x
)
d
x
=
s
e
M
f
(
x
0
)
1
s
∫
a
b
e
M
(
f
(
x
)
−
f
(
x
0
)
)
d
x
=
s
e
M
f
(
x
0
)
∫
(
a
−
x
0
)
/
s
(
b
−
x
0
)
/
s
e
M
(
f
(
s
y
+
x
0
)
−
f
(
x
0
)
)
d
y
{\displaystyle {\begin{aligned}\int _{a}^{b}\!e^{Mf(x)}\,dx&=se^{Mf(x_{0})}{\frac {1}{s}}\int _{a}^{b}\!e^{M(f(x)-f(x_{0}))}\,dx\\&=se^{Mf(x_{0})}\int _{(a-x_{0})/s}^{(b-x_{0})/s}\!e^{M(f(sy+x_{0})-f(x_{0}))}\,dy\end{aligned}}}
因此,我們的相對誤差很顯然的為
|
∫
(
a
−
x
0
)
/
s
(
b
−
x
0
)
/
s
e
M
(
f
(
s
y
+
x
0
)
−
f
(
x
0
)
)
d
y
−
1
|
{\displaystyle \left|\int _{(a-x_{0})/s}^{(b-x_{0})/s}e^{M(f(sy+x_{0})-f(x_{0}))}dy-1\right|}
現在,讓我們把積分分為
y
∈
[
−
D
y
,
D
y
]
{\displaystyle y\in [-D_{y},D_{y}]}
的與餘下的部分。
基於上述四點,就有辦法證明拉普拉斯方法的可靠性。而 Fog(2008) 又將此方法推廣到任意精確。 ***待考查***
此方法的正式表述與證明:
假設
f
(
x
)
{\displaystyle f(x)}
是一個在
x
0
∈
(
a
,
b
)
{\displaystyle x_{0}\in (a,b)}
這點滿足 (1)
f
(
x
0
)
=
max
[
a
,
b
]
f
(
x
)
{\displaystyle f(x_{0})=\max _{[a,b]}f(x)}
,(2)唯一全域最大,(3)
x
0
{\displaystyle x_{0}}
附近為二階可微且
f
″
(
x
0
)
<
0
{\displaystyle f''(x_{0})<0}
(4) 當拉普拉斯方法的積分範圍為無限大時,此積分會收斂,
則,
lim
n
→
+
∞
(
∫
a
b
e
n
f
(
x
)
d
x
(
e
n
f
(
x
0
)
2
π
n
(
−
f
″
(
x
0
)
)
)
)
=
1
{\displaystyle \lim _{n\to +\infty }\left({\frac {\int _{a}^{b}e^{nf(x)}\,dx}{\left(e^{nf(x_{0})}{\sqrt {\frac {2\pi }{n(-f''(x_{0}))}}}\right)}}\right)=1}
證明部分請參閱 Laplace's method 。 ***待翻譯***
其他形式
有時拉普拉斯方法也會被寫成其他形式,如:
∫
a
b
h
(
x
)
e
M
g
(
x
)
d
x
≈
2
π
M
|
g
″
(
x
0
)
|
h
(
x
0
)
e
M
g
(
x
0
)
as
M
→
∞
{\displaystyle \int _{a}^{b}\!h(x)e^{Mg(x)}\,dx\approx {\sqrt {\frac {2\pi }{M|g''(x_{0})|}}}h(x_{0})e^{Mg(x_{0})}{\text{ as }}M\to \infty \,}
其中
h
{\displaystyle h}
為正 (好像不必要)。
重要的是,這方法精確度與函數
g
(
x
)
{\displaystyle g(x)}
和
h
(
x
)
{\displaystyle h(x)}
有關。 [ 1] ***待考查***
百分誤差的推導
首先,由於極大值所在設為
x
0
=
0
{\displaystyle x_{0}=0}
並不影響計算結果,所以以下的推導皆如此假設。此外,我們想要的是百分誤差
|
R
|
{\displaystyle \left|R\right|}
,所以
∫
a
b
h
(
x
)
e
M
g
(
x
)
d
x
=
h
(
0
)
e
M
g
(
0
)
s
∫
a
/
s
b
/
s
h
(
x
)
h
(
0
)
e
M
[
g
(
s
y
)
−
g
(
0
)
]
d
y
⏟
1
+
R
{\displaystyle \int _{a}^{b}\!h(x)e^{Mg(x)}\,dx=h(0)e^{Mg(0)}s\underbrace {\int _{a/s}^{b/s}{\frac {h(x)}{h(0)}}e^{M\left[g(sy)-g(0)\right]}dy} _{1+R}}
其中
s
≡
2
π
M
|
g
″
(
0
)
|
{\displaystyle s\equiv {\sqrt {\frac {2\pi }{M\left|g''(0)\right|}}}}
,所以,若我們令
A
≡
h
(
s
y
)
h
(
0
)
e
M
[
g
(
s
y
)
−
g
(
0
)
]
{\displaystyle A\equiv {\frac {h(sy)}{h(0)}}e^{M\left[g(sy)-g(0)\right]}}
且
A
0
≡
e
−
π
y
2
{\displaystyle A_{0}\equiv e^{-\pi y^{2}}}
,則
|
R
|
=
|
∫
a
/
s
b
/
s
A
d
y
−
∫
−
∞
∞
A
0
d
y
|
{\displaystyle \left|R\right|=\left|\int _{a/s}^{b/s}A\,dy-\int _{-\infty }^{\infty }A_{0}\,dy\right|}
所以,只要我們求得上式的上限為何,即可得百分誤差。注意,這裡的推導還可以再優化,不過,由於此處我只想顯示它會收斂到0,因此,不再細推。
由於
|
A
+
B
|
≤
|
A
|
+
|
B
|
{\displaystyle \left|A+B\right|\leq |A|+|B|}
,因此
|
R
|
<
|
∫
D
y
∞
A
0
d
y
|
⏟
(
a
1
)
+
|
∫
D
y
b
/
s
A
d
y
|
⏟
(
b
1
)
+
|
∫
−
D
y
D
y
(
A
−
A
0
)
d
y
|
⏟
(
c
)
+
|
∫
a
/
s
−
D
y
A
d
y
|
⏟
(
b
2
)
+
|
∫
−
∞
−
D
y
A
0
d
y
|
⏟
(
a
2
)
{\displaystyle |R|<\underbrace {\left|\int _{D_{y}}^{\infty }A_{0}dy\right|} _{(a_{1})}+\underbrace {\left|\int _{D_{y}}^{b/s}Ady\right|} _{(b_{1})}+\underbrace {\left|\int _{-D_{y}}^{D_{y}}\left(A-A_{0}\right)dy\right|} _{(c)}+\underbrace {\left|\int _{a/s}^{-D_{y}}Ady\right|} _{(b_{2})}+\underbrace {\left|\int _{-\infty }^{-D_{y}}A_{0}dy\right|} _{(a_{2})}}
其中
(
a
1
)
{\displaystyle (a_{1})}
與
(
a
2
)
{\displaystyle (a_{2})}
雷同,所以只算
(
a
1
)
{\displaystyle (a_{1})}
,經過
z
≡
π
y
2
{\displaystyle z\equiv \pi y^{2}}
的變換後,得到
(
a
1
)
=
|
1
2
π
∫
π
D
y
2
∞
e
−
z
z
−
1
/
2
d
z
|
<
e
−
π
D
y
2
2
π
D
y
{\displaystyle (a_{1})=\left|{\frac {1}{2{\sqrt {\pi }}}}\int _{\pi D_{y}^{2}}^{\infty }e^{-z}z^{-1/2}dz\right|<{\frac {e^{-\pi D_{y}^{2}}}{2\pi D_{y}}}}
也就是說,只要
D
y
{\displaystyle D_{y}}
取得夠大,它就會趨近於0。
而
(
b
1
)
{\displaystyle (b_{1})}
與
(
b
2
)
{\displaystyle (b_{2})}
也雷同,所以也只算一個:
(
b
1
)
≤
|
∫
D
y
b
/
s
[
h
(
s
y
)
h
(
0
)
]
max
e
M
m
(
s
y
)
d
y
|
{\displaystyle (b_{1})\leq \left|\int _{D_{y}}^{b/s}\left[{\frac {h(sy)}{h(0)}}\right]_{\text{max}}e^{Mm(sy)}dy\right|}
其中
m
(
x
)
≥
1
M
ln
h
(
x
)
h
(
0
)
+
g
(
x
)
−
g
(
0
)
as
x
∈
[
s
D
y
,
b
]
{\displaystyle m(x)\geq {\frac {1}{M}}\ln {\frac {h(x)}{h(0)}}+g(x)-g(0)\,\,{\text{as}}\,\,x\in [sD_{y},b]}
並且
h
(
x
)
{\displaystyle h(x)}
在此範圍內要與
h
(
0
)
{\displaystyle h(0)}
同號。
這裡讓我們選過
x
=
s
D
y
{\displaystyle x=sD_{y}}
的切線為
m
(
x
)
{\displaystyle m(x)}
吧!即
m
(
s
y
)
=
g
(
s
D
y
)
−
g
(
0
)
+
g
′
(
s
D
y
)
(
s
y
−
s
D
y
)
{\displaystyle m(sy)=g(sD_{y})-g(0)+g'(sD_{y})\left(sy-sD_{y}\right)}
,如圖所示:
m
(
x
)
{\displaystyle m(x)}
以斜直線代表,為通過位於
x
=
s
D
y
{\displaystyle x=sD_{y}}
的切線
由圖可以看出,當
s
{\displaystyle s}
或者
D
y
{\displaystyle D_{y}}
變小時,滿足上列不等式的區間會變大,因此,為了涵蓋整個區間,
D
y
{\displaystyle D_{y}}
有了上限。此外,
e
−
α
x
{\displaystyle e^{-\alpha x}}
的積分也相對容易,因此,很適合用來預估誤差。
由泰勒展開我們得知,
M
[
g
(
s
D
y
)
−
g
(
0
)
]
=
M
[
g
″
(
0
)
2
s
2
D
y
2
+
g
‴
(
ξ
)
6
s
3
D
y
3
]
as
ξ
∈
[
0
,
s
D
y
]
=
−
π
D
y
2
+
(
2
π
)
3
/
2
g
‴
(
ξ
)
D
y
3
6
M
|
g
″
(
0
)
|
3
/
2
,
{\displaystyle {\begin{aligned}M\left[g(sD_{y})-g(0)\right]&=M\left[{\frac {g''(0)}{2}}s^{2}D_{y}^{2}+{\frac {g'''(\xi )}{6}}s^{3}D_{y}^{3}\right]\,\,{\text{as}}\,\,\xi \in [0,sD_{y}]\\&=-\pi D_{y}^{2}+{\frac {(2\pi )^{3/2}g'''(\xi )D_{y}^{3}}{6{\sqrt {M}}|g''(0)|^{3/2}}},\end{aligned}}}
且
M
s
g
′
(
s
D
y
)
=
M
s
(
g
″
(
0
)
s
D
y
+
g
‴
(
ζ
)
2
s
2
D
y
2
)
,
as
ζ
∈
[
0
,
s
D
y
]
=
−
2
π
D
y
+
2
M
(
π
|
g
″
(
0
)
|
)
3
/
2
g
‴
(
ζ
)
D
y
2
{\displaystyle {\begin{aligned}Msg'(sD_{y})&=Ms\left(g''(0)sD_{y}+{\frac {g'''(\zeta )}{2}}s^{2}D_{y}^{2}\right),\,\,{\text{as}}\,\,\zeta \in [0,sD_{y}]\\&=-2\pi D_{y}+{\sqrt {\frac {2}{M}}}\left({\frac {\pi }{|g''(0)|}}\right)^{3/2}g'''(\zeta )D_{y}^{2}\end{aligned}}}
然後將它們代回
(
b
1
)
{\displaystyle (b_{1})}
的計算裡,不過,您可以看到,上述的兩個餘項皆與
M
{\displaystyle M}
的開根號成反比,為了式子的漂亮,讓我省略它們吧!不省略只是看起來較醜陋而已,不過,那樣子較嚴謹便是。
(
b
1
)
≤
|
[
h
(
s
y
)
h
(
0
)
]
max
e
−
π
D
y
2
∫
0
b
/
s
−
D
y
e
−
2
π
D
y
y
d
y
|
≤
|
[
h
(
s
y
)
h
(
0
)
]
max
e
−
π
D
y
2
1
2
π
D
y
|
.
{\displaystyle {\begin{aligned}(b_{1})&\leq \left|\left[{\frac {h(sy)}{h(0)}}\right]_{\text{max}}e^{-\pi D_{y}^{2}}\int _{0}^{b/s-D_{y}}e^{-2\pi D_{y}y}dy\right|\\&\leq \left|\left[{\frac {h(sy)}{h(0)}}\right]_{\text{max}}e^{-\pi D_{y}^{2}}{\frac {1}{2\pi D_{y}}}\right|.\end{aligned}}}
所以,原則上也是
D
y
{\displaystyle D_{y}}
越大則越趨近於0。只不過,在決定
m
(
x
)
{\displaystyle m(x)}
的過程,設下了
D
y
{\displaystyle D_{y}}
的上限。
至於靠近極大值的點的積分,我們一樣可以利用泰勒展開來求,當
h
(
x
)
{\displaystyle h(x)}
在此點的一階微分不為0時,
(
c
)
≤
∫
−
D
y
D
y
e
−
π
y
2
|
s
h
′
(
ξ
)
h
(
0
)
y
|
d
y
<
2
π
M
|
g
″
(
0
)
|
|
h
′
(
ξ
)
h
(
0
)
y
|
max
(
1
−
e
−
π
D
y
2
)
{\displaystyle {\begin{aligned}(c)&\leq \int _{-D_{y}}^{D_{y}}e^{-\pi y^{2}}\left|{\frac {sh'(\xi )}{h(0)}}y\right|\,dy\\&<{\sqrt {\frac {2}{\pi M|g''(0)|}}}\left|{\frac {h'(\xi )}{h(0)}}y\right|_{\text{max}}\left(1-e^{-\pi D_{y}^{2}}\right)\end{aligned}}}
會看到它原則上與
M
{\displaystyle M}
的開根號成反比,其實,當
h
(
x
)
{\displaystyle h(x)}
為常數時,積分出來的也會有如此的行為。
所以,概括的講,靠近極大點的附近的積分原則上會隨著
M
{\displaystyle {\sqrt {M}}}
的增大而變小,而其餘的部分,只要
D
y
{\displaystyle D_{y}}
夠大,也會趨近於0,只是這
D
y
{\displaystyle D_{y}}
是有上限的,取決於我們所找的上限函數
m
(
x
)
{\displaystyle m(x)}
是否在這區間內總是大於
g
(
x
)
−
g
(
0
)
{\displaystyle g(x)-g(0)}
;不過,一旦有一個滿足條件的
m
(
x
)
{\displaystyle m(x)}
被找到,由於切線的起點為
x
=
s
D
y
{\displaystyle x=sD_{y}}
,因此,
D
y
{\displaystyle D_{y}}
可以取正比於
M
{\displaystyle {\sqrt {M}}}
即可,所以,
M
{\displaystyle M}
越大,
D
y
{\displaystyle D_{y}}
也可以設越大。
至於多維的情形,由於我對於 Laplace's method 裡所用的
d
x
{\displaystyle d\mathbf {x} }
的定義有疑慮,暫不翻譯。
拉普拉斯方法的推廣:最速下降法
此拉普拉斯方法可以被推廣到 複分析 裡頭使用,搭配 留數定理 ,以找出一個過最速下降點的 contour (翻路徑的話,會與path integral 相衝,所以,這裡還是以英文原字稱呼) 的 曲線積分 ,用來取代原有的複數空間的 contour積分。因為有時
f
(
z
)
{\displaystyle f(z)}
的一階微分為0的點未必就在實數軸上,而就算真在實數軸上,也未必二階微分在
x
{\displaystyle x}
方向上為小於0 的實數;此種情況下,就得使用最速下降法了。由於最速下降法中,已經利用另一條通過最速下降的鞍點來取代原有的 contour 積分,經過變數變換後就會變得有如拉普拉斯方法,因此,我們可以透過這新的 contour ,找到原本的積分的漸進近似解,而這將大大的簡化整個計算。就好像原本的路徑像是在蜿蜒的山路開車,而新的路徑就像乾脆繞過這座山開,反正目的只是到達目的地而已,留數定理已經幫我們把中間的差都算好了。請讀 Erdelyi (1956) 的書裡有關 steepest descents 的章節 ***未考證***。
以下就是該方法在z 平面下的形式:
∫
a
b
e
M
f
(
z
)
d
z
≈
2
π
−
M
f
″
(
z
0
)
e
M
f
(
z
0
)
as
M
→
∞
.
{\displaystyle \int _{a}^{b}\!e^{Mf(z)}\,dz\approx {\sqrt {\frac {2\pi }{-Mf''(z_{0})}}}e^{Mf(z_{0})}{\text{ as }}M\to \infty .\,}
其中 z 0 就是新的路徑通過的鞍點。
注意,開根號裡的負號是用來指定最速下降的方向,千萬別認為取
f
″
(
z
0
)
{\displaystyle f''(z_{0})}
的絕對值來取代這個負號,若然,那就大錯特錯了。
另外要注意的是,如果該被積函數是 meromorphic ,就有必要將被新舊 contour 包到的極點所貢獻的留數給加入, (請看example section 3 of Okounkov's paper Symmetric functions and random partitions ). ***待考查***
更進一步一般化
***待翻譯***
複數積分
***待翻譯***
例子1:斯特靈公式
拉普拉斯方法可以用在推導 斯特靈公式 上;當 N 很大時,
N
!
≈
2
π
N
N
N
e
−
N
{\displaystyle N!\approx {\sqrt {2\pi N}}N^{N}e^{-N}\,}
證明:
由 Gamma function 的積分定義,我們可以得到
N
!
=
Γ
(
N
+
1
)
=
∫
0
∞
e
−
x
x
N
d
x
.
{\displaystyle N!=\Gamma (N+1)=\int _{0}^{\infty }e^{-x}x^{N}\,dx.}
接著讓我們做變數變換,
x
=
N
z
{\displaystyle x=Nz\,}
因此
d
x
=
N
d
z
.
{\displaystyle dx=N\,dz.}
將這些代回 Gamma function 的積分定義裡,我們可以得到
N
!
=
∫
0
∞
e
−
N
z
(
N
z
)
N
N
d
z
=
N
N
+
1
∫
0
∞
e
−
N
z
z
N
d
z
=
N
N
+
1
∫
0
∞
e
−
N
z
e
N
ln
z
d
z
=
N
N
+
1
∫
0
∞
e
N
(
ln
z
−
z
)
d
z
.
{\displaystyle {\begin{aligned}N!&=\int _{0}^{\infty }e^{-Nz}\left(Nz\right)^{N}N\,dz\\&=N^{N+1}\int _{0}^{\infty }e^{-Nz}z^{N}\,dz\\&=N^{N+1}\int _{0}^{\infty }e^{-Nz}e^{N\ln z}\,dz\\&=N^{N+1}\int _{0}^{\infty }e^{N(\ln z-z)}\,dz.\end{aligned}}}
經由此變數變換後,我們有了拉普拉斯方法所需要的
f
(
x
)
{\displaystyle f(x)}
為
f
(
z
)
=
ln
z
−
z
{\displaystyle f\left(z\right)=\ln {z}-z}
而它乃為二次可微函數,且
f
′
(
z
)
=
1
z
−
1
,
{\displaystyle f'(z)={\frac {1}{z}}-1,\,}
f
″
(
z
)
=
−
1
z
2
.
{\displaystyle f''(z)=-{\frac {1}{z^{2}}}.\,}
因此, ƒ (z ) 的極大值出現在 z 0 = 1 而且在該點的二次微分為
−
1
{\displaystyle -1}
。因此,我們得到
N
!
≈
N
N
+
1
2
π
N
e
−
N
=
2
π
N
N
N
e
−
N
.
{\displaystyle N!\approx N^{N+1}{\sqrt {\frac {2\pi }{N}}}e^{-N}={\sqrt {2\pi N}}N^{N}e^{-N}.\,}
例子2:參數估計與概率推論
***待翻譯***
相關維基百科文章
參考文獻
請參閱 Laplace's method 的 References。
^ Butler, Ronald W. Saddlepoint approximations and applications. Cambridge University Press. 2007. ISBN 978-0-521-87250-8 .