第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

相关文章
第9章 数学建模函数——9.1 曲线拟合函数
第9章 数学建模函数——9.1 曲线拟合函数
|
7月前
|
计算机视觉
Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择
Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择
Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择
Matlab非线性拟合函数——nlinfit
Matlab非线性拟合函数——nlinfit
407 0
Matlab非线性拟合函数——nlinfit
|
7月前
|
算法
数学建模函数插值与拟合
数学建模函数插值与拟合
63 0
|
7月前
|
机器学习/深度学习
MATLAB 单变量函数一阶及N阶求导
MATLAB 单变量函数一阶及N阶求导
97 1
|
数据挖掘 知识图谱
Matlab参数估计与假设检验(举例解释)
Matlab参数估计与假设检验(举例解释)
141 0
【MATLAB第60期】源码分享 | 基于MATLAB的ARMAX具有外生回归因子的移动平均自回归模型
ARMAX模型相比ARMA考虑了影响因素 ,即可以实现基于时间序列数据的回归预测。目前,ARMAX预测未来功能存在困难,本篇文章不予介绍。大致思路需要通过时间滞后构造数据,使前时间段的X预测后时间段的Y,即多步预测。此示例展示如何将时间序列中的时间划分为预采样期T0、训练期Ty和预测期Tf,并显示了如何提供适当数量的观测值来初始化用于估计和预测的动态模型。通过定义ARMA模型中的参数,可实现ARIMAX和SARIMAX模型。本文介绍最基础的ARMAX模型。
【MATLAB第60期】源码分享 | 基于MATLAB的ARMAX具有外生回归因子的移动平均自回归模型
|
存储 机器学习/深度学习 数据可视化
【MATLAB 数学建模】 插值方法 数据拟合
【MATLAB 数学建模】 插值方法 数据拟合
302 0
|
资源调度 算法
【MATLAB第52期】基于MATLAB的高斯过程GPR超参数(sigma)自动优化算法 时间序列预测模型 五折交叉验证
使用GPR自动优化函数,对sigma进行自动寻优。一列时间序列数据 ,滑动窗口尺寸为15。适应度值log(1+loss)。
【MATLAB第52期】基于MATLAB的高斯过程GPR超参数(sigma)自动优化算法 时间序列预测模型 五折交叉验证
数据生成 | MATLAB实现MCMC马尔科夫蒙特卡洛模拟的数据生成
数据生成 | MATLAB实现MCMC马尔科夫蒙特卡洛模拟的数据生成