最大似然估计(1922 by Filch)
例1 估计两点分布 b(1,p) 的参数 p. 其分布列为 P(X=x)=px(1−p)1−x,x=0,1.
解 抽取n个样本x1,⋯,xn, 这批观测值发生的概率为
P(X1=x1,⋯,Xn=xn;p)=独立性i=1∏npxi(1−p)1−xi=p∑i=1nxi(1−p)n−∑i=1nxi(eq1)
Note1: 注意这里是n个两点分布b(1,p), 而不是1个二项分布b(n,p). 因为我们观测的是n次抽取的结果, 即n个b(1,p), 而不是整体n个产品中的合格数, 即1个b(n,p). 两者计算过程中相差一个二项系数Cnk,k=∑i=1nxi.
Note2: 对于事件Xi=xi, pxi(1−p)1−xi为其发生的概率, 因为
P(Xi=xi)=pxi(1−p)1−xi={p1(1−p)0=p,p0(1−p)1=1−p,xi=1;xi=0.
由于p是未知的, 根据最大似然原理, 我们应该选择p使得eq1式中的概率尽可能大. 将eq1式看作位置参数p的函数, 用L(p)表示, 称作似然函数
L(p)=p∑i=1nxi(1−p)n−∑i=1nxi(eq2)
求似然函数eq2式的最大值并不难, 它是一个幂函数的形式, 对其关于p求导令其为0, 得到下面方程, 称其为似然方程:
令∑i=1n(xi)=k, 于是L(p)=pk(1−p)n−k
∂p∂L(p)⇔k(1−p)⇔p=kpk−1(1−p)n−k−(n−k)pk(1−p)n−k−1=0=(n−k)p=k/n=n1i=1∑nxi(恰好是样本均值)
除了上面的直接求导还有另外一种常用的方式, 对eq2式两边取对数再求导, 这种方式计算导数要更简单
lnL(p)两边对 p 求导→∂p∂lnL(p)求解得到: p=kln(p)+(n−k)ln(1−p),k=i=1∑nxi=pk−1−pn−k=0=k/n=n1i=1∑nxi
定义 设总体的概率函数为p(x;θ),θ∈Θ, 其中θ是一个未知参数或几个未知参数组成的参数向量, Θ是参数空间, x1,⋯,xn是来自该总体的独立的样本, 将样本的联合概率函数看成θ的函数, 用L(θ;x1,⋯,xn)表示, 简记为L(θ),
L(θ)=L(θ;x1,⋯,xn)=p(x1;θ)p(x2;θ)⋯p(xn;θ),
L(θ)称为样本的似然函数. 如果某统计量θ^=θ^(x1,⋯,xn)满足
L(θ^)=θ∈ΘmaxL(θ),
则称θ^是θ的最大似然估计, 简记为MLE (Maximum Likelihood Estimate).
由于lnx 是 x 的单调增函数, 因此, 使对数似然函数 lnL(θ) 达到最大与使 L(θ) 达到最大是等价的. 当 L(θ) 可微时, 求导是求最大似然估计的常用方法, 而对数似然函数的求导更加简单, 所以大家通常更习惯于由 lnL(θ) 出发寻找 θ 的最大似然估计.
Note: 从最大似然估计的定义可以看出, 若 L(θ) 与联合概率函数相差一个与 θ 无关的比例因子, 不会影响最大似然估计, 因此, 可以在L(θ) 中剔去与 θ 无关的因子
EM算法(1977 by Dempster)
MLE是一种非常有效的参数估计方法, 但当分布中有多余参数或者数据为截尾或者缺失时, 求其MLE是比较困难的. 于是Dempster等人于1977年提出了EM算法, 其出发点是要把求MLE的过程分两步走, 第一步求期望, 以便把多余的部分去掉, 第二步求极大值.
例2 设有多项分布 M(1,21−4θ,41−θ,41+θ,4θ),θ∈(0,1), 现进行了197次试验, 四种结果出现的次数分别为75, 18, 70, 34. 试估计参数 θ.
解 以 y1,y2,y3,y4表示四种结果发生的次数, 多项分布的似然函数为:
L(θ;y)∝(21−4θ)y1(41−θ)y2(41+θ)y3(4θ)y4∝(2−θ)y1(1−θ)y2(1+θ)y3θy4.
其对数似然函数为一个关于 θ 的三次多项式
lnL∝(y1+y2+y3+y4)θ3+(−y2−3y3−2y4)θ2+(−y1+2y2+2y3−y4)θ+2y4(eq8)
通过它求 θ 的MLE就是要求 eq8 式在 (0,1) 上的零点.
我们通过引入2个变量 z1,z2 后, 使得求解变得比较容易. 现假设第一种结果可以分成两部分, 其发生的概率分别为 41−θ 和 41, 令 z1 和 y1−z1 分别表示落入这两部分的次数. 再假设第三种结果也分成两部分, 其发生的概率分别为 4θ 和 41, 令 z2 和 y3−z2 分别表示落入这两部分的次数. 由于 z1,z2 是人为引入的, 是不可观测的, 我们称它们为 潜变量(latent variable). 称数据 (y,z) 为完全数据(complete data), 而观测到的数据 y 称为不完全数据.
引入潜变量 z1,z2 后, 此时, 完全数据的似然函数为
L(θ;y,z)∝(41)y1−z1(41−θ)z1+y2(41)y3−z2(4θ)z2+y4∝θz2+y4(1−θ)z1+y2,
其对数似然函数为
lnL(θ;y,z)=(z2+y4)lnθ+(z1+y2)ln(1−θ).
如果 (y,z) 均已知, 则由上式很容易求得 θ 的MLE, 但是很遗憾我们仅知道 y, 而不知道 z 的值. 虽然我们不能知道 z 的值, 但是当 y 和 θ 已知时, 我们可以知道 z 的分布
z1∼b(y1,2−θ1−θ),z2∼b(y3,1+θθ)
Note: P(Z1∣Y1)=Z1⊂Y1P(Y1)P(Z1)=(2−θ)/4(1−θ)/4=2−θ1−θ,P(Z2∣Y3)=Z2⊂Y3P(Y3)P(Z2)=(1+θ)/4θ/4=1+θθ
于是, Dempster等人建议分两步迭代求解 θ
E步: 在已有观测数据 y 及第 i 步 θ 的估计值 θ(i) 的条件下, 求 lnL(θ;y,z) 关于 z 的期望
Ez[lnL(θ;y,z)],z∼F(z∣y,θ(i))(eq11)
Note1: 这一步的目的是把其中关于 z 的部分积分掉.
Note2: 求 z 的期望需要知道 z 的分布, 而 z 的分布是与 y 和 θ 相关的, 其中 y 是可观测的已知的, 而 θ 是未知的, 所以这里采用第 i 步的估计值 θ(i) 做为 θ 的值.
M步: 求 eq11 式关于 θ 的最大值 θ(i+1), 即找 θ(i+1) 使得
θ(i+1)=θargmax{Ez[lnL(θ;y,z)]}.(eq12)
这样就完成了由 θ(i) 到 θ(i+1) 的一次迭代. 重复 eq11 式和 eq12 式, 直至收敛, 即可得到 θ 的 MLE 的一个数值解.
对于本例, 其 E 步为
EzlnL=E[(z2+y4)lnθ+(z1+y2)ln(1−θ)]=(E[z2y3,θ(i)]+y4)lnθ+(E[z1y1,θ(i)]+y2)ln(1−θ)=(1+θ(i)θ(i)y3+y4)lnθ+(2−θ(i)1−θ(i)y1+y2)ln(1−θ)
M 步为对 EzlnL 关于 θ 求导, 并令其等于 0 , 得到
θ1+θ(i)θ(i)y3+y4−1−θ2−θ(i)1−θ(i)y1+y2=0
解得如下迭代公式
θ(i+1)=1+θ(i)θ(i)y3+y4+2−θ(i)1−θ(i)y1+y21+θ(i)θ(i)y3+y4(eq16)
实际上 eq16 式等号右边就是 eq8 式的一个不动点迭代函数. eq16 式可以整理为下面的形式
θ=(y1+y2+y3+y4)θ2−(y2+2y3+y4)θ−(y1+2y2+2y4)(y3+y4)θ2−(2y3+y4)θ−2y4
最后使用题设的数据75, 18, 70, 34计算 θ 的MLE的近似值
| i |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
| θi |
0.5 |
0.571 492 |
0.594 816 |
0.602 681 |
0.605 357 |
0.6067 271 |
0.606 584 |
0.606 697 |
0.606 728 |
0.606 746 |
0.606 744 |