最大似然参数估计

本文介绍了最大似然估计方法,用于从样本数据中估计未知参数。以高斯分布为例,详细推导了均值和协方差的最大似然估计,并通过Matlab进行了验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        最普遍的情况是概率密度函数并不是已知的,在很多的问题中,潜在的概率密度函数必须从可用的数据中估计。例如有时可能知道概率密度函数的类型(高斯、瑞利等),但不知道具体的参数如方差或均值;相反,有时知道一些参数,但不知道概率密度的类型。有各种各样的方法解决这个问题,根据不同的已知信息采取不同的解决办法。这里介绍最大似然参数估计。

        考虑一个M类的问题,特征向量服从p(x|wi),i=1,2,…,M的概率分布。假设似然函数以参数的形式给出,相应的参数构成未知向量θi。为了表示与θi相关,概率密度函数记为p(x|wi;θi)。目的是利用每一类中已知的特征向量集合来估计未知参数。接着进一步加假设每一类中的数据不影响其他类参数的估计,就可以用公式表达这个问题,并简化符号。最后可以各类独立地解决这样的问题。

        设x1,x2,...,xN是从概率密度函数p(x|wi;θi)中随机抽取的样本,得到联合概率密度函数p(x;θi),其中x={x1,x2,...,xN}是样本集。假设不同的样本之间具有独立的统计性,则有

                                                                            (1)

     这是一个关于θ的函数,也称为θ关于x的似然函数。用最大似然估计法(Maximum Likelihood,ML)估计θ,计算似然函数的最大值,即

                                                                                      (2)

为了得到最大值,似然函数对θ的梯度必须为0,即

                                                                                          (3)

由于对数函数的单调性,定义对数似然函数为

                                                                                       (4)

于是式(3)等价于

                                      (5)

求解式(5)得到θ,即为参数的估计值。

        例如已知概率密度函数的类型为高斯分布,对参数进行最大似然估计:设x1,x2,...,xN是来源于已知协方差矩阵、未知均值的正态分布的样本向量,即联合概率密度函数的似然函数为

                                              (6)

其中,l为样本向量的维数。求未知均值向量的最大似然估计。

         对N个可用的样本,有对数似然函数为

                                   (7)

对未知向量μ计算梯度,得

                                                                             (8)

                                                                     即

                                                                                                   (9)

由此可知,对于高斯分布,均值向量的最大似然估计是样本均值。

同理,当均值向量和协方差均未知时可求得协方差的最大似然估计为

                                                                                       (10)

接下来以matlab语言进行实验,实验思路是通过给定均值向量和协方差矩阵生成高斯分布的40000个样本数据,然后运用最大似然估计求出样本的均值向量和协方差矩阵,其MATLAB代码如下:

mu=[2 1 3];
sigma=[1 0 0;0 4 0;0 0 2];
r=mvnrnd(mu,sigma,40000);%得到样本数据
[x,y] = size(r);
% 散点的均值计算
mu1 = sum(r)/x;%最大似然估计的均值是样本均值
% 散点的协方差矩阵计算
a = 0;
for i = 1:x
    a = a + (r(i,:,:) - mu1)' * (r(i,:,:) - mu1);
end
sigma1 = a/x;%根据最大似然估计的公式计算
disp(['最大似然估计方法估计的',num2str(y),'维均值矢量为:']);disp(mu1);
disp(['最大似然估计方法估计的',num2str(y),'维协方差矩阵为:']);disp(sigma1);

运行结果如下

                                              

从运行结果可知,有一定的估计误差,通过公式err=||u1-u2||来衡量估计误差,其中||·||表示向量和矩阵范数,一般取欧式范数。MATLAB代码如下

%估计误差
Emu = norm((mu1 - mu),2);
Esigma = norm((sigma1 - sigma),2);
fprintf(['最大似然估计方法估计的',num2str(y),'维高斯分布的均值误差为:',num2str(Emu),'\n']);
fprintf(['\n最大似然估计方法估计的',num2str(y),'维高斯分布的协方差误差为:',num2str(Esigma),'\n\n']);

运行结果如下:

                           

上文已经得到均值和协方差的ML估计,它们也能递归计算,即

                                                  (11)

且           (12)

证明过程如下


最大似然估计的Matlab可以通过使用Matlab函数来实现。一个常用的函数是"my_mle"函数,它可以用于估计参数最大似然估计值。该函数的输入参数包括一个函数句柄(fun)、初始参数(para0)和其他可选参数(varargin)。函数的输出包括估计的参数(para)、标准差(standard_deviation)和似然函数值(fv)。\[1\] 另外,最大似然估计的Matlab实现还可以使用网格搜索和Newton-Raphson迭代。网格搜索通过在一定范围内以固定间隔递增的方式搜索参数最大似然估计值。而Newton-Raphson迭代则通过解对数似然函数的导数为零的方程来获得参数的估计值。该方通过迭代计算,不断更新猜测值,直到收敛到真实的估计值。\[2\] 总结起来,最大似然估计的Matlab可以通过使用"my_mle"函数、网格搜索和Newton-Raphson迭代来实现。这些方可以帮助我们获得参数最大似然估计值,并用于解决复杂的估计问题。\[1\]\[2\] #### 引用[.reference_title] - *1* *3* [matlab最大似然估计](https://blog.youkuaiyun.com/weixin_28744423/article/details/115845590)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [最大似然估计的matlab实现](https://blog.youkuaiyun.com/weixin_30298733/article/details/116044034)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值