多元正态分布的极大似然估计
1. 一元正态分布的密度函数
一元正态分布的密度函数表示为:
f(x)=1(2π)−−−−√σe−(x−μ)22σ2
其中,
σ>0
。由于
x
、
μ
均为一维的数值,
(x−μ)T
与
(x−μ)
是等价的,所以上述密度函数又可以写成如下形式:
f(x)=1(2π)12(σ2)12e−12(x−μ)T(σ2)−1(x−μ)
将上式推广,就得到多元正态分布的定义。
2. 多元正态分布的密度函数
设
K
维随机向量
x=⎡⎣⎢x1...xK⎤⎦⎥
的密度函数为:
fμ,Σ(x)=fμ,Σ(x1,...,xK)=1(2π)K2⋅1|Σ|12⋅e−12(x−μ)TΣ−1(x−μ)
其中,
K
表示向量
x
的维度。均值向量
μ
是
K
维向量,协方差矩阵
Σ
是一个
K×K
的对称正定阵,则称
x
服从
K
元正态分布,也称
x
为
K
维正态随机向量,简记为:
x
~
NK(μ,Σ)
。显然当
K=1
时,即为一元正态分布的密度函数。
注意,当
|Σ|=0
时,
Σ−1
不存在,
x
也就不存在通常意义下的密度函数,然而可以形式的给出一个表达式。有些问题可以利用这一形式对
|Σ|≠0
及
|Σ|=0
的情况给出一个统一的处理。
3. 多元正态分布的极大似然估计
对于
N
个样本点:
{x1,...,xN}
,其似然函数为:
L(μ,Σ)=fμ,Σ(x1)fμ,Σ(x2)...fμ,Σ(xN)
=(2π)−KN2⋅|Σ|−N2⋅e−12∑Nn=1(xn−μ)TΣ−1(xn−μ)
对数似然函数:
lnL(μ,Σ)=−KN2ln(2π)−N2ln|Σ|−12∑n=1N(xn−μ)TΣ−1(xn−μ)
=C−N2ln|Σ|−12∑n=1N(xn−μ)TΣ−1(xn−μ)
其中,
C=−KN2ln(2π)
为一个常数。
一元微积分中,导数(标量对标量的导数)与微分有联系:
df=f′(x)dx
。
多元微积分中,梯度(标量对向量的导数)也与微分有联系:
df=∑ni=1∂f∂xidxi=∂f∂xTdx
。这里第一个等号是全微分公式,第二个等号表达了梯度与微分的联系:全微分
df
是
n×1
梯度向量
∂f∂x
与
n×1
微分向量
dx
的内积。
据此,矩阵导数与微分也可建立联系:
df=∑mi=1∑nj=1∂f∂XijdXij=tr(∂f∂XTdX)
。其中,
tr
代表迹(trace)
,是方阵对角线元素之和,满足性质:对尺寸相同的矩阵
A
、
B
有
tr(ATB)=∑i,jAijBij
,即
tr(ATB)
是矩阵
A
、
B
的内积。与梯度相似,这里第一个等号是全微分公式,第二个等号表达了矩阵导数矩阵与微分的联系:全微分
df
是
m×n
导数
∂f∂X
与
m×n
微分矩阵
dX
的内积。
矩阵微分的运算法则
加减法:
d(X±Y)=dX±dY
矩阵乘法:
d(XY)=dXY+XdY
转置:
d(XT)=(dX)T
迹:
dtr(X)=tr(dX)
逆:
dX−1=−X−1dXX−1
。此式可在
XX−1=I
两侧求微分来证明
行列式:
d|X|=tr(X∗dX)
,其中
X∗
表示
X
的伴随矩阵,在
X
可逆时又可以写作
d|X|=|X|tr(X−1dX)
。此式可用Laplace展开来证明,详见张贤达《矩阵分析与应用》第279页
通过矩阵导数与微分的联系:
df=tr(∂f∂XTdX)
,在求出左侧的微分
df
后,可以利用如下一些迹技巧(trace trick)写成右侧的形式并得到导数:
矩阵求导的运算法则
∂XTAX∂X=(A+AT)X
,当
A
为实对称矩阵时,
∂XTAX∂x=2AX
当
A
为实对称矩阵时,
∂(XTAX)∂A=XXT
,
∂ln|A|∂A=A−1
∂(X−1)∂t=−X−1∂X∂tX−1
对数似然函数分别对
μ
、
Σ
求偏导
由上,对数似然函数:
lnL(μ,Σ)=C−N2ln|Σ|−12∑n=1N(xn−μ)TΣ−1(xn−μ)
lnL(μ,Σ)
对
μ
求偏导,并令偏导为
0
,即求解
∂[∑Nn=1(xn−μ)TΣ−1(xn−μ)]∂μ=0
,记为
∂l1∂μ=0
将
l1=∑Nn=1(xn−μ)TΣ−1(xn−μ)
展开:
∑n=1N[(xn)TΣ−1xn−2(xn)TΣ−1μ+μTΣ−1μ]
=∑n=1N(xn)TΣ−1xn−2∑n=1N(xn)TΣ−1μ+NμTΣ−1μ
对第2项求微分:
d(−2∑Nn=1(xn)TΣ−1μ)=−2∑Nn=1(xn)TΣ−1dμ=−2∑Nn=1tr((xn)TΣ−1dμ)
所以第2项对
μ
的偏导为:
∂[−2∑Nn=1(xn)TΣ−1μ]∂μ=−2∑n=1N((xn)TΣ−1)T=−2∑n=1NΣ−1xn
第3项对
μ
的偏导为:
∂(NμTΣ−1μ)∂μ=2NΣ−1μ
l1
对
μ
的偏导:
∂l1∂μ=−2∑n=1NΣ−1xn+2NΣ−1μ
令其等于
0
,解得极大似然估计为:
μ^=1N∑n=1Nxn=x¯¯¯
lnL(μ,Σ)
对
Σ
求偏导,并令偏导为
0
,即求解
∂[ln|Σ|+1N∑Nn=1(xn−μ)TΣ−1(xn−μ)]∂Σ=0
,记为
∂l2∂Σ=0
首先求微分,使用矩阵乘法、行列式、逆等运算法则
第一项:
d[ln|Σ|]=|Σ|−1d|Σ|=tr(Σ−1dΣ)
第二项:
d[1N∑Nn=1(xn−μ)TΣ−1(xn−μ)]
=1N∑Nn=1(xn−μ)TdΣ−1(xn−μ)
=−1N∑Nn=1(xn−μ)TΣ−1dΣΣ−1(xn−μ)
套上迹,作交换
第一项不变
tr(Σ−1dΣ)
第二项:
tr(−1N∑Nn=1(xn−μ)TΣ−1dΣΣ−1(xn−μ))
=−1N∑Nn=1tr((xn−μ)TΣ−1dΣΣ−1(xn−μ))
=−1N∑Nn=1tr(Σ−1(xn−μ)(xn−μ)TΣ−1dΣ)
=tr(−Σ−11N∑Nn=1(xn−μ)(xn−μ)TΣ−1dΣ)
其中,第一个等号先交换了
tr
与
∑
,第二个等号将
dΣ
右边式子交换到左边,第三个等号再一次交换
tr
与
∑
。
所以,
dl2=tr((Σ−1−Σ−11N∑Nn=1(xn−μ)(xn−μ)TΣ−1)dΣ)
,对照导数与微分的联系有:
∂l2∂Σ=(Σ−1−Σ−11N∑n=1N(xn−μ)(xn−μ)TΣ−1)T
令其等于
0
,解得极大似然估计为:
Σ^=1N∑n=1N(xn−μ)(xn−μ)T
将
μ^=x¯¯¯
代入上式得:
Σ^=1N∑Nn=1(xn−x¯¯¯)(xn−x¯¯¯)T
。
定义样本离差矩阵(又称为交叉乘积阵)
V=∑Nn=1(xn−x¯¯¯)(xn−x¯¯¯)T
,它是一个
K×K
的矩阵。
定义样本协差阵
S=1NV=1N∑Nn=1(xn−x¯¯¯)(xn−x¯¯¯)T
,它也是一个
K×K
的矩阵。
计算结果
综上,多维正态分布的极大似然估计为:
μ^=x¯¯¯,Σ^=S
其中,
S=1N∑Nn=1(xn−x¯¯¯)(xn−x¯¯¯)T
,
N
为样本个数。
参考资料:
矩阵代数_pdf
矩阵求导术(上)
第一章 矩阵代数_pdf
第二章 多元正态分布的参数估计_ppt
第二章 多元正态分布及参数的估计_pdf
多元正态分布参数的估计和数据的清洁与变换_pdf