第9章 数学建模函数——9.2 参数估计函数

简介: 第9章 数学建模函数——9.2 参数估计函数

9.2  参数估计函数


参数估计的内容包括点估计和区间估计。MATLAB统计工具箱提供了很多与参数估计相关的函数,例如计算待估参数及其置信区间、估计服从不同分布的函数的参数。


9.2.1  常见分布的参数估计


MATLAB统计工具箱提供了多种具体函数的参数估计函数,如表9-1所示。


例如,利用normfit函数可以对正态分布总体进行参数估计。

● [muhat,sigmahat,muci,sigmaci]=normfit(x):对于给定的正态分布的数据x,返回参数μ的估计值muhatσ的估计值sigmahatμ95%置信区间muciσ95%置信区间sigmaci

● [muhat,sigmahat,muci,sigmaci]=normfit(x,alpha):进行参数估计并计算100(1-alpha)%置信区间。

9-1  常见分布的参数估计函数及其调用格式

分布

调用格式

贝塔分布

phat =   betafit(x)

[phat,   pci] = betafit(x, alpha)

贝塔对数似然函数

logL =   betalike(params, data)

[logL,   info] = betalike(params, data)

二项分布

phat =   binofit(x, n)

[phat,   pci] = binofit(x, n)

[phat,   pci] = binofit(x, n, alpha)

指数分布

muhat   = expfit(x)

[muhat,   muci] = expfit(x)

[muhat,   muci] = expfit(x, alpha)

伽马分布

phat =   gamfit(x)

[phat,   pci] = gamfit(x)

[phat,   pci] = gamfit(x, alpha)

伽马似然函数

logL =   gamlike(params, data)

[logL,   info] = gamlike(params, data)

最大似然估计

phat =   mle(‘dist’, data)

[phat,   pci] = mle(‘dist’, data)

[phat,   pci] = mle(‘dist’, data, alpha)

[phat,   pci] = mle(‘dist’, data, alpha, pl)

正态对数似然函数

L =   normlike(params, data)

正态分布

[muhat,   sigmahat, muci, sigmaci] = normfit(x)

[muhat,   sigmahat, muci, sigmaci] = normfit(x, alpha)

泊松分布

lambdahat   = poissfit(x)

[lambdahat,   lambdaci] = poissfit(x)

[lambdahat,   lambdaci] = poissfit(x, alpha)

均匀分布

[ahat,bhat]   = unifit(x)

[ahat,   bhat, aci, bci] = unifit(x)

[ahat,   bhat, aci, bci] = unifit(x, alpha)

威布尔分布

phat =   weibfit(x)

[phat,   pci] = weibfit(x)

[phat,   pci] = weibfit(x, alpha)

威布尔对数似然函数

logL =   weiblike(params, data)

[logL,   info] = weiblike(params, data)


9-4:观测20辆某型号汽车消耗10L汽油的行驶里程,具体数据如下所示。

59.6  55.2  56.6  55.8  60.2  57.4  59.8  56.0  55.8  57.4

56.8  54.4  59.0  57.0  56.0  60.0  58.2  59.6  59.2  53.8

假设行驶里程服从正态分布,请用normfit函数求解平均行驶里程的95%置信区间。根据题意在命令行窗口中依次输入:

clear all
x1 = [59.6  55.2  56.6  55.8  60.2  57.4  59.8  56.0  55.8  57.4];
x2 = [56.8  54.4  59.0  57.0  56.0  60.0  58.2  59.6  59.2  53.8];
x = [x1 x2]';
a = 0.05;
[muhat, sigmahat, muci, sigmaci] = normfit(x, a);
[p, ci] = mle('norm', x, a);
n = numel(x);
format long
muhat
p1 = p(1)
sigmahat
sigmahat1 = var(x).^0.5
p2 = p(2)
muci
ci
sigmaci
mucil = [muhat - tinv(1 - a / 2, n - 1) * sigmahat / sqrt(n), muhat + tinv(1 - a / 2, n - 1) * sigmahat / sqrt(n)]
sigmacil = [((n - 1).* sigmahat.^2 / chi2inv(1 -a / 2, n - 1)).^ 0.5, ((n - 1).*sigmahat.^2 / chi2inv(a / 2, n - 1)).^0.5]

运行结果如下:

muhat =
  57.390000000000001
p1 =
  57.390000000000001
sigmahat =
   1.966535826750873
sigmahat1 =
   1.966535826750873
p2 =
   1.916742027503963
muci =
  56.469632902339683
  58.310367097660318
ci =
  56.469632902339683   1.495531606349597
  58.310367097660318   2.872266449964584
sigmaci =
   1.495531606349597
   2.872266449964584
mucil =
  56.469632902339683  58.310367097660318
sigmacil =
   1.495531606349597   2.872266449964584



9.2.2  点估计


点估计是用单个数值作为参数的估计,目前使用较多的方法是最大似然法和矩法。


1.最大似然法


最大似然法是在待估参数的可能取值范围内,挑选使似然函数值最大的那个参数值为最大似然估计量。由于最大似然法得到的估计量通常不仅仅能满足无偏性、有效性等基本条件,还能保证其为充分统计量,所以,在点估计和区间估计中,一般推荐使用最大似然法。

MATLAB用函数mle进行最大似然估计,其调用格式如下。

● phat=mle('dist',data):使用data矢量中的样本数据,返回dist指定的分布的最大似然估计。


9-5:观测20辆某型号汽车消耗10L汽油的行驶里程,具体数据如下所示。

59.6  55.2  56.6  55.8  60.2  57.4  59.8  56.0  55.8  57.4

56.8  54.4  59.0  57.0  56.0  60.0  58.2  59.6  59.2  53.8

假设行驶里程服从正态分布,请用最大似然法估计总体的均值和方差。根据题意,编写最大似然估计求解程序,在命令行窗口中依次输入:

clear all
x1 = [59.6  55.2  56.6  55.8  60.2  57.4  59.8  56.0  55.8  57.4];
x2 = [56.8  54.4  59.0  57.0  56.0  60.0  58.2  59.6  59.2  53.8];
x = [x1 x2]';
p = mle('norm', x);
muhatmle = p(1)
sigma2hatmle = p(2)^2

运行结果如下:

muhatmle =
  57.390000000000001
sigma2hatmle =
   3.673900000000002


2.矩法


待估参数经常作为总体原点矩或原点矩的函数,此时可以用该总体样本的原点矩或样本原点矩的函数值作为待估参数的估计,这种方法称为矩法。

例如,样本均值总是总体均值的矩估计量,样本方差总是总体方差的矩估计量,样本标准差总是总体标准差的矩估计量。

MATLAB计算矩的函数为moment(X,order)


9-6:观测20辆某型号汽车消耗10L汽油的行驶里程,具体数据如下所示。

59.6  55.2  56.6  55.8  60.2  57.4  59.8  56.0  55.8  57.4

56.8  54.4  59.0  57.0  56.0  60.0  58.2  59.6  59.2  53.8

试估计总体的均值和方差。根据题意,在命令行窗口中依次输入:

clear all
x1 = [59.6  55.2  56.6  55.8  60.2  57.4  59.8  56.0  55.8  57.4];
x2 = [56.8  54.4  59.0  57.0  56.0  60.0  58.2  59.6  59.2  53.8];
x = [x1 x2]';
muhat = mean(x)
sigma2hat = moment(x, 2)
var(x, 1)

运行结果如下:

muhat =
  57.390000000000001
sigma2hat =
   3.673900000000002
ans =
   3.673900000000002


9.2.3  区间估计


求参数的区间估计,首先要求出该参数的点估计,然后构造一个含有该参数的随机变量,并根据一定的置信水平求该估计值的范围。

MATLAB中用mle函数进行最大似然估计时,有如下几种调用格式。

● [phat,pci]=mle('dist',data):返回最大似然估计值和95%置信区间。

● [phat,pci]=mle('dist',data,alpha):返回指定分布的最大似然估计值和100(1- alpha)%置信区间。

● [phat,pci]=mle('dist',data,alpha,p1):该形式仅用于二项分布,其中p1为实验次数。


9-7:观测20辆某型号汽车消耗10L汽油的行驶里程,具体数据如下所示。

59.6  55.2  56.6  55.8  60.2  57.4  59.8  56.0  55.8  57.4

56.8  54.4  59.0  57.0  56.0  60.0  58.2  59.6  59.2  53.8

假设行驶里程服从正态分布,求平均行驶里程的95%置信区间。根据题意,在命令行窗口中依次输入:

clear all
x1 = [29.8  27.6  28.3  27.9  30.1  28.7  29.9  28.0  27.9  28.7];
x2 = [28.4  27.2  29.5  28.5  28.0  30.0  29.1  29.8  29.6  26.9];
x = [x1 x2]';
[p, pci] = mle('norm', x, 0.05)

运行结果如下:

p =
  28.695000000000000   0.958371013751981
pci =
  28.234816451169841   0.747765803174798
  29.155183548830159   1.436133224982292

相关文章
|
8月前
|
机器学习/深度学习 人工智能 编解码
Lumina-Image 2.0:上海 AI Lab 开源的统一图像生成模型,支持生成多分辨率、多风格的图像
Lumina-Image 2.0 是上海 AI Lab 开源的高效统一图像生成模型,参数量为26亿,基于扩散模型和Transformer架构,支持多种推理求解器,能生成高质量、多风格的图像。
487 17
Lumina-Image 2.0:上海 AI Lab 开源的统一图像生成模型,支持生成多分辨率、多风格的图像
|
10月前
|
算法
基于Adaboost模型的数据预测和分类matlab仿真
AdaBoost(Adaptive Boosting)是一种由Yoav Freund和Robert Schapire于1995年提出的集成学习方法,旨在通过迭代训练多个弱分类器并赋予分类效果好的弱分类器更高权重,最终构建一个强分类器。该方法通过逐步调整样本权重,使算法更关注前一轮中被误分类的样本,从而逐步优化模型。示例代码在MATLAB 2022A版本中运行,展示了随着弱分类器数量增加,分类错误率的变化及测试数据的分类结果。
410 13
|
网络协议 网络安全 数据安全/隐私保护
如何在IDEA中使用固定公网地址SSH远程连接服务器开发环境(三)
在IDEA中通过固定公网地址SSH远程连接服务器开发环境,需要配置固定TCP端口以避免地址随机变化。首先,升级cpolar至专业版及以上,然后在官网保留一个固定TCP地址。进入cpolar管理界面,编辑隧道信息,将保留的固定地址填入,更新隧道。最后,在IDEA中新建SSH连接,输入固定地址和端口,验证连接。成功后,即可稳定远程开发。
|
人工智能 前端开发 搜索推荐
移动应用开发的未来趋势:跨平台框架与AI的融合
【7月更文挑战第4天】随着移动设备的普及和用户需求的多样化,移动应用开发正面临前所未有的挑战与机遇。本文将深入探讨跨平台框架在提高开发效率、降低成本方面的优势,以及人工智能技术如何赋能移动应用,提供更加智能化的用户体验。我们将分析当前市场上流行的跨平台工具如Flutter和React Native,并探讨AI技术在移动应用中的具体应用案例,预测未来移动应用开发的发展方向。
227 2
|
自然语言处理 监控 BI
ERP系统中的多语言与多币种支持
【7月更文挑战第25天】 ERP系统中的多语言与多币种支持
736 3
|
存储 算法 计算机视觉
Baumer工业相机堡盟工业相机软件CameraExplorer常见功能使用说明一
Baumer工业相机堡盟工业相机软件CameraExplorer常见功能使用说明一
458 0
|
C++ 容器
项目案例一:基于C++的图书馆管理系统
项目案例一:基于C++的图书馆管理系统
491 0
|
算法 C++
【基础算法】开平方算法 & C++实现
在数学中,因为很多数的开平方都是无理数,所以我们需要借助数值计算的方式来进行近似值的求解。
515 0
【基础算法】开平方算法 & C++实现
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】什么是贝叶斯网络?
【5月更文挑战第10天】【机器学习】什么是贝叶斯网络?
vos3000外呼系统非标准的11位手机号码开启国内业务和黑白名单时需设置忽略前缀
登录VOS3000管理界面: 使用管理员账号登录VOS3000管理界面。 进入业务配置界面: 在管理界面中找到业务配置或类似的选项,进入到业务配置的设置界面。 设置国内业务规则: 找到国内业务规则设置选项,一般会有关于号码长度、号码前缀等的设置。在此处设置忽略前缀,使系统能够识别非标准的11位手机号码。 设置黑白名单: 进入到黑白名单的设置界面,在添加黑白名单规则时,同样需要设置忽略前缀,以确保能够正确匹配非标准的手机号码。 保存设置: 在完成配置后,记得保存设置,确保所做的修改生效。 测试验证: 设置完成后,进行一些测试验证,确保系统能够正确识别和处理非标准的手机号码,以及正确应用