(一)基本思想
给定一个概率分布 ,假设其概率密度函数是
,它与一个未知参数
相关。我们可以从这个分布中抽取
样本
,我们就可以得到这个概率是
.
但是,在这里我们并不知道参数 的值。如何估计参数
的取值就成为了关键之处。一个简单的想法就是从这个分布中随机抽取样本
,然后利用这些数据来估算
的值。
最大似然估计 (maximal likelihood estimator) 算法会计算参数 的最可能的值,也就是说参数的选择会使得这个采样的概率最大化。
用数学的语言来说,首先我们需要定义似然函数:
,
并且在 的所有取值上,使得这个函数的取值最大化。换言之,也就是函数
的一阶导数等于零。这个使得
最大化的参数
称为
的最大似然估计。
Remark. 最大似然函数不一定是唯一的,甚至不一定是存在的。
(二)基本算法
求解最大似然函数估计值的一般步骤:
(1)定义似然函数;
(2)对似然函数求导数,或者说对似然函数的对数求导数,目的都是为了更加方便地计算一阶导数;
(3)令一阶导数等于零,得到关于参数 的似然方程;
(4)求解似然方程,得到的参数就是最大似然估计。在求解的过程中,如果不能够直接求解方程的话,可以采取牛顿法来近似求解。
(三)例子
(i)Bernoulli 分布(Bernoulli Distribution)
假设我们有 个随机样本
. 如果第
个学生没有自行车,那么
; 否则
. 并且假设
是满足未知参数
的 Bernoulli 分布的。我们此时的目标是计算最大似然估计
,也就是全体学生中拥有自行车的比例。
如果 是相互独立的 Bernoulli 随机变量,那么对每一个
而言,它的概率函数则是:
.
因此,似然函数 可以定义为:
.
为了计算参数 的值,可以对
求导:
令 ,可以得到
.
也就是说最大似然估计是
.
(ii)Gaussian Distribution
假设 满足正态分布,并且该正态分布的参数
和
都是未知的。目标是寻找均值
和方差
的最大似然估计。
如果 是满足正态分布的,那么对于每一个变量
的概率密度函数就是:
.
似然函数就是:
令 和
,可以求解方程组得到:
,
.
(iii) Weibull 分布(Weibull Distribution)
首先,我们回顾一下 Weibull 分布的定义。Weibull 分布(Weibull Distribution)是连续型的概率分布,其概率密度函数是:
其中, 是随机变量,
是 scale parameter,
是 shape parameter。特别地,当
时,Weibull 分布就是指数分布;当
时,Weibull 分布就是 Rayleigh 分布。
Weibull 分布的累积分布函数是
,
.
Weibull 分布的分位函数(quantile function, inverse cumulative distribution)是
.
其次,我们来计算最大似然估计。
假设 满足 Weibull 分布,其未知参数是
那么对于每一个
而言,概率密度函数是:
.
定义似然函数为:
取对数之后得到:
计算一阶偏导数得到:
可以计算得出:
其中第一个式子可以计算出 的最大似然估计。第二个式子是关于
的隐函数,不能够直接求解,需要使用 Newton’s method 来计算。
令
求导得到:
根据 Cauchy’s Inequality, 可以得到:
所以,,换言之,
是关于
的递增函数,并且
那么对于递增函数 而言,就必定有一个零点。因此使用 Newton’s Iteration 的时候,初始点可以从靠近零的整数开始,比如
。如果从一个比较大的数开始的时候,可能使用 Newton 法的时候,会与负轴相交。但是如果从一个较小的数开始,就必定只与正数轴相交。其中 Newton 法的公式是:
当 的次数足够大的时候,
就可以被当作最大似然估计。