matlab常用分布极大似然估计函数用法(含例子实现)

本博文源于matlab概率论运用。学过《概率论》的同学都知道,极大似然估计一般用于区间估计的。而matlab已经将其封装好由我们自己调用。

参数估计的MATLAB函数

函数功能
[mu,sigma,muci,sigmaci] = normfit(x,alpha)正态总体的均值、标准差的极大似然估计mu和sigma,返回在显著性水平alpha下的均值、标准差的置信区间muci和sigmaci,x是样本(数组或矩阵),alpha默认设定为0.05
[mu,muci]= expfit(x,alpha)指数分布的极大似然估计,返回显著性水平alpha下的置信区间muci,x是样本(数组或矩阵),alpha默认设定为0.05
[a,b,aci,bci] = unifig(x,alpha)均匀分布的极大似然估计,返回显著性水平alpha下的置信区间aci,x是样本(数组或矩阵),alpha默认设定为0.05
[p,pci] = binofit(x,n,alpha)二项分布的极大似然估计,返回显著性水平alpha下的置信区间pci,x是样本(数组或矩阵),alpha默认设定为0.05
[lambda,labdaci] = poissfit(x,alpha)泊松分布的极大似然估计,返回显著性水平alpha下的置信区间lambdaci,x是样本(数组或矩阵),alpha默认设定为0.05

例子:下面是某厂的瓶装运动饮料体积,求均值、标准差的极大似然估计值及置信水平为0.90的置信区间

数据如下:

595 602 610 585 618 615 605 620 600 606

我们运用表格中的第一个函数即可求得

>> x=[595 602 610 585 618 615 605 620 600 606]

x =

   595   602   610   585   618   615   605   620   600   606


>> [mu,sigma,muci,sigmaci] = normfit(x,0.90)

mu =

  605.6000


sigma =

   10.8033


muci =

  605.1584
  606.0416


sigmaci =

   10.8864
   11.5724

>> 

答:置信水平为0.90时,均值及标准差的极大似然估计值分别是605.6000与10.8033.均值及标准差的置信区间分别为(605.1584,606.0416)和(10.8864,11.5724)

MATLAB中求解极大似然估计有多种方法,下面给出一个简单的例子来说明。 假设我们有一组从正态分布中抽取的样本数据,我们要使用极大似然估计估计正态分布的均值和标准差。 假设样本数据存储在一个名为"data"的向量中,通过以下代码来实现极大似然估计: ``` % 设定初始的参数估计值 mu0 = 0; % 均值初始估计 sigma0 = 1; % 标准差初始估计 % 构建似然函数 likelihood = @(mu, sigma) -sum(log(normpdf(data, mu, sigma))); % 求解极大似然估计 options = optimoptions('fminunc', 'Display', 'off'); % 配置优化选项 [estimates, ~] = fminunc(likelihood, [mu0, sigma0], options); % 使用优化器求解 % 输出估计结果 mu_est = estimates(1); % 估计得到的均值 sigma_est = estimates(2); % 估计得到的标准差 disp(['估计得到的均值为: ', num2str(mu_est)]); disp(['估计得到的标准差为: ', num2str(sigma_est)]); ``` 在这段代码中,我们首先设置了初始的参数估计值,然后定义了似然函数。似然函数使用 normpdf 函数计算出每个数据点在给定均值和标准差下的概率密度值,并对其取对数,最后将所有样本点的对数概率密度值求和。 接下来,我们使用 fminunc 函数来求解似然函数的最小值,以得到估计的结果。通过设置 optimoptions 可以配置优化选项,例如设置 Display 为 'off' 可以关闭优化过程的输出。 最后,我们输出估计得到的均值和标准差。 请注意,这只是一个简单的例子,实际应用中可能会有更复杂的问题需要考虑。对于不同的似然函数形式,可能需要调用不同的优化函数,例如 fmincon 或 fminsearch。同时还需要根据具体问题适当调整初始参数估计值和优化选项。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值