matlab 方差_Matlab数据统计与分析(四)——参数估计

319207d656febb56a036b8905b889dde.png点击“蓝字”关注我们吧 601824f3727497a8238de0d1e229805f.gif 本文将涉及到数理统计的最后一个模块——参数估计,后续将更新的模块是多项式计算、数据插值和曲线拟合。 在讲述使用matlab来实现参数估计之前,有必要去了解一些基本原理。 1.离散型随机变量的极大似然估计法:
(1) 似然函数
若X为离散型, 似然函数为

38a11834f17a81964a78a6bcb71f8246.png

(2) 求似然函数L(θ)的最大值点 θ, 则θ就是未知参数的极大似然估计值.2.连续型随机变量的极大似然估计法:(1) 似然函数若 X 为连续型, 似然函数为

62e56f8e75234b4311ae8ef8e1c31a9e.png

(2) 求似然函数L(θ)的最大值点θ, 则θ就是未知参数 的极大似然估计值. 406b2be1f4edcd4a8c26038276f12dda.png

一、矩估计

设总体X的均值、方差均存在,样本(X1,X2,……,X n),则不管总体服从什么分布,总体均值的矩估计均为样本均值,方差的矩估计均为样本二阶中心矩。

matlab中提供了下列函数来实现总体均值的矩估计值与方差的矩估计值的计算,如下:mu_ju=mean(X)     % 返回样本X的均值sigma2_ju =moment(X,2)    % 返回样本X的2阶中心矩例:来自某总体X的样本值如下:

232.50,  232.48,  232.15,  232.52,  232.53,  232.30,  232.48,  232.05,  232.45,  232.60,  232.47,  232.30,求X的均值与方差的矩估计。

>>x=[232.50,232.48,232.15,232.52,232.53,232.30,232.48,232.05,232.45,232.60,232.47,232.30]

 mu_ju=mean(x)

sigma2_ju= moment(x,2)

x =

  232.5000  232.4800  232.1500  232.5200  232.5300  232.3000  232.4800  232.0500  232.4500  232.6000  232.4700  232.3000

mu_ju =

  232.4025

sigma2_ju =

    0.0255

406b2be1f4edcd4a8c26038276f12dda.png

二、单个总体极大似然估计与区间估计(参数均未知)

命令: [a,b]=namefit (X, ALPHA)  % 返回总体参数的极大似然估计a与置信度为100(1- ALPHA)的置信区间 [a,b],若参数为多个,ab也是多个,若省略ALPHA,则置信度为0.95

下表列出了几种常用分布的参数估计函数:

函数名调  用  形  式函  数  说  明
binofitPHAT= binofit(X, N);
[PHAT, PCI] = binofit(X,N);
[PHAT, PCI]= binofit (X, N, ALPHA)
二项分布的概率的最大似然估计置信度为95%的最大似然估计和置信区间返回水平α的参数估计和置信区间
poissfitLambdahat=poissfit(X);
[Lambdahat, Lambdaci] = poissfit(X);
[Lambdahat, Lambdaci]= poissfit (X, ALPHA)
泊松分布的参数的最大似然估计置信度为95%的最大似然估计和置信区间返回水平α的λ参数和置信区间
normfit[muhat,sigmahat,muci,sigmaci] = normfit(X);
[muhat,sigmahat,muci,sigmaci] = normfit(X, ALPHA)
正态分布的最大似然估计,置信度为95%返回水平α的期望、方差值和置信区间
betafitPHAT =betafit (X);
[PHAT, PCI]= betafit (X, ALPHA)
返回β分布参数a和 b的最大似然估计返回最大似然估计值和水平α的置信区间
unifit[ahat,bhat] = unifit(X);
[ahat,bhat,ACI,BCI] = unifit(X);[ahat,bhat,ACI,BCI]=unifit(X, ALPHA)
均匀分布参数的最大似然估计置信度为95%的参数估计和置信区间返回水平α的参数估计和置信区间
expfitmuhat =expfit(X);[muhat,muci] = expfit(X);[muhat,muci] = expfit(X,alpha)指数分布参数的最大似然估计置信度为95%的参数估计和置信区间返回水平α的参数估计和置信区间
gamfitphat =gamfit(X);
[phat,pci] = gamfit(X);
[phat,pci] = gamfit(X,alpha)
γ分布参数的最大似然估计置信度为95%的参数估计和置信区间返回最大似然估计值和水平α的置信区间
weibfitphat = weibfit(X);
[phat,pci] = weibfit(X);
[phat,pci] = weibfit(X,alpha)
韦伯分布参数的最大似然估计置信度为95%的参数估计和置信区间返回水平α的参数估计及其区间估计
Mlephat = mle(‘dist’,data);[phat,pci] = mle(‘dist’,data);[phat,pci] = mle(‘dist’,data,alpha);[phat,pci] = mle(‘dist’,data,alpha,p1)分布函数名为dist的最大似然估计置信度为95%的参数估计和置信区间返回水平α的最大似然估计值和置信区间仅用于二项分布,pl为试验总次数

对于上表函数,以均匀分布的参数估计为例说明:例、产生 100 行1列服从区间(1, 10)上的均匀分布的随机数, 计算区间端点“a”和“b”的极大似然估计值, 求出置信度为0.95的这两个参数的置信区间。

本例结合了上节讲述过的常见分布随机数产生的知识,要用到unifrnd函数产生随机数。

>> r = unifrnd(1, 10, 100, 1);

>> [ahat, bhat, aci, bci] = unifit(r)

ahat =

    1.0104

bhat =

    9.7178

aci =

    0.7456

    1.0104

bci =

    9.7178

    9.9826

结果表明: 区间端点a和b的极大似然估计值分别是1.0104(比“1”略大)和9.7178(比“10”略小), 置信度为0.95的两个参数的置信区间分别是(0.7456, 9.7178)和(1.0104,9.9826).

上面的表中,有一个较为特殊的函数,Mle函数,现对其具体用法有如下说明:

[phat, pci]=mle(’ name ‘, X);  % 同时进行区间估计, 默认置信度为95%.[phat, pci]=mle(’ name ‘, X, alpha);   %同时进行区间估计, 置信度由 alpha确定.[phat, pci]=mle(’ name ', X, alpha, pl);  %仅用于二项分布, pl为试验次数.说明:name为分布函数名,如 beta(β分布)、bino(二项分布)等, X 为数据样本,alpha 为显著水平α, 100(1-α)%为置信度.

例、产生参数为N=100,p=0.35的200个二项分布的随机数, 求出置信度为 0.95的参数p的置信区间.

>> X=binornd(100,0.35,200,1); 

>> [p,pci]=mle('bino',X,0.05,100)

p =

    0.3511

pci =

    0.3445

    0.3578

406b2be1f4edcd4a8c26038276f12dda.png

三、单个正态总体参数估计

设X1,X2,……Xn,为来自正态总体N(u,sigma^2)的一个样本,求u,sigma ^2的极大似然估计与区间估计。此处会较多用到数理统计的知识,参见下表。

c136914fc571ef06c6333016fbb78ee1.png

只需要按照表中所对应的估计函数计算即可。只不过在计算之前,有必要去了解一下matlab中如何去计算某一分布的临界值,见下表。

7541495df9b75cfdbef3a6ebb12aef8d.png

例、设总体服从正态分布, sigma^2为待估参数。样本的一组观察值为(14.6,15.1,14.9,14.8,15.2,15.1),置信度为95%,求 u=14.5时sigma的置信区间.

>> x=[14.6,15.1,14.9,14.8,15.2,15.1];    %样本数据

>> alpha=0.05;   %给定的显著性水平

n=length(x);   %计算样本容量

mu=14.5;     %给定的样本均值

chi2=sum((x-mu).^2);    %计算离差的平方和

lambda1=chi2inv(1-alpha/2,n);    %计算卡方分布的临界值

lambda2=chi2inv(alpha/2,n);

sigma=[sqrt(chi2/lambda1),sqrt(chi2/lambda2)]  %计算方差的置信区间

sigma =

    0.3190    1.0900

分析:先分析题设,sigma^2为待估参数,并且 u=14.5,从表中找到估计函数服从卡方分布。chi2inv函数是计算卡方分布的临界值的函数。

对于两个正态总体区间估计,在这里就不过多重复数理统计的知识,有需要者可以自己温习一下这部分的高数知识,下面就直接通过一个简单的例子进行讲解。

例、从甲乙两个蓄电池厂生产的产品中,分别抽取10个产品,测得它们的电容量(单位:Ah)为:

甲厂:146  141  138  142  140  143  138  137  142  137 乙厂:141  143  139  139  140  141  138  140  142  136 若蓄电池的电容量服从正态分布,求两个工厂生产的蓄电池的电容量方差之比的置信水平为0.90的置信区间。

>> x1=[146 141 138 142 140 143 138 137 142 137]; 

x2=[141 143 139 139 140 141 138 140 142 136]; 

s1=var(x1); 

 s2=var(x2); 

 f1=finv(0.95,9,9);

 f2=finv(0.05,9,9); 

 d1=s1/s1*(1/f1) 

 d2=s1/s2*(1/f2)

d1 =

    0.3146

d2 =

    6.7541

406b2be1f4edcd4a8c26038276f12dda.png

END

至此,对于matlab在数理统计部分的应用就讲述到这里,难度较大的就是参数估计这一部分,希望大家在了解matlab实现某些统计问题简化运算的同时,还是要回归书本,认真去了解参数估计的数学原理。

关于MATLAB的学习:

大家可以关注我们的知乎专栏——数据可视化和数据分析中matlab的使用:

https://zhuanlan.zhihu.com/c_1131568134137692160

欢迎大家加入我们的MATLAB学习交流群:

953314432

文章精选

Matlab数据统计与分析(三)——常见分布随机数的产生及统计作图

Matlab数据统计与分析(二)——常见的概率分布以及分位数

MATLAB数据统计与分析(一)

3af07e53a3d3b3d894db15983b61dfc3.png扫码关注我们发现更多精彩出品:Asoul水云天课堂工作室 f2cc98988dbe402432444a4f25dedbb3.png
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值