MATLAB参数估计与假设检验-参数估计


参数估计:

更多MATLAB数据分析视频请点击,或者在网易云课堂上搜索《MATLAB数据分析与统计》 http://study.163.com/course/courseMain.htm?courseId=1003615016

在很多实际问题中,为了进行某些统计推断,需要确定总体服从的分布,通常根据问题的实际背景或适当的统计方法可以判断总体分布的类型,但是总体分布中往往含有未知参数,需要用样本观测数据进行估计。即根据已有的数据来估算数分布函数中的参数的值。例如,某门课程的考试成绩服从正态分布N(u,a^2),其中u和a是未知的参数,就需要用样本观测数据来进行估计出u和a的值。

假设检验:

假设检验的基本任务是根据样本所提供的信息,对总体的某些方面(如总体的分布类型,参数的性质)做出判断。

1.参数估计

 1.1 常见分布的参数估计

(一)

  MATLAB统计工具箱中有这样一系列函数,函数名以fit三个字符串结尾,这些函数用来求常见分布的参数的最大似然估计和置信区间估计。

  (最大似然估计,只是一种概率论在统计学的应用,它是参数估计的方法之一。说的是已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干 次试验,观察其结果,利用结果推出参数的大概值。

 置信区间:展现的是这个参数的真实值有一定概率落在测量结果的周围的程度。置信区间给出的是被测量参数的测量值的可信程度,即前面所要求的“一定概率”。这个概率被称为置信水平

置信区间的两端被称为置信极限。对一个给定情形的估计来说,置信水平越高,所对应的置信区间就会越大。

α是显著性水平(例:0.05或0.10)
100%*(1-α)指置信水平(例:95%或90%)

函数名

     
调 用 形 式

函 数 说 明

binofit

PHAT= binofit(X, N)

[PHAT, PCI] = binofit(X,N)

[PHAT, PCI]= binofit (X, N, ALPHA)

二项分布的概率的最大似然估计

置信度为95%的参数估计和置信区间

返回水平α的参数估计和置信区间

poissfit

Lambdahat=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%

返回水平α的期望、方差值和置信区间

betafit

PHAT =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%的参数估计和置信区间

返回水平α的参数估计和置信区间

expfit

muhat =expfit(X)

[muhat,muci] = expfit(X)

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

指数分布参数的最大似然估计

置信度为95%的参数估计和置信区间

返回水平α的参数估计和置信区间

gamfit

phat =gamfit(X)

[phat,pci] = gamfit(X)

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

γ分布参数的最大似然估计

置信度为95%的参数估计和置信区间

返回最大似然估计值和水平α的置信区间

weibfit

phat = weibfit(X)

[phat,pci] = weibfit(X)

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

韦伯分布参数的最大似然估计

置信度为95%的参数估计和置信区间

返回水平α的参数估计及其区间估计

Mle

phat = mle(data,Name,Value)

phat = mle(data,‘distribution’,dist)

[phat,pci] = mle(........,'alpha',p1)

[phat,pci] = mle(data,'pdf',pdffun,'start',start,'alpha',p1)

分布函数名为dist的最大似然估计

置信度为95%的参数估计和置信区间

返回水平α的最大似然估计值和置信区间

仅用于二项分布,pl为试验总次数

例:若已知数据x=[15.14 14.81 15.11 15.26 15.08 15.17 15.12 14.95 15.05 14.87]

 服从正态分布N(u,a^2),其中u,a未知,通过已有的数据x,求u和a的最大似然估计和置信水平为90%的置信区间。

对于normfit函数,调用格式

[muhat,sigmahat,muci,sigmaci] = normfit(X, ALPHA):

x是已知的数据

ALPHA为显著性水平(1-置信水平),默认是0.05

返回值muhat为均值的最大似然估计,muci为均值的置信区间

sigmahat为标准差的最大似然估计,sigmaci为标准差的置信区间

%定义样本观测值的向量,通过这些值来估计参数的值
x=[15.14 14.81 15.11 15.26 15.08 15.17 15.12 14.95 15.05 14.87];

%调用normfit函数求正态总体参数的最大似然估计和置信区间。
%返回总体均值的最大似然估计muhat和90%置信区间muci
%还返回总体标准差的最大似然估计sigmahat和90%置信区间sigmaci
[muhat,sigmahat,muci,sigmaci]=normfit(x,0.1) %置信水平为90%,则显著性水平=1-90%=0.1

muhat =

   15.0560


sigmahat =

    0.1397


muci =

   14.9750
   15.1370


sigmaci =

    0.1019
    0.2298

(二)

   MATLAB统计工具箱中的mle函数可以用来根据样本观测值求指定分布参数的最大似然估计和置信区间。

  %定义样本观测值的向量,通过这些值来估计参数的值
x=[15.14 14.81 15.11 15.26 15.08 15.17 15.12 14.95 15.05 14.87];

%调用mle函数求正态总体参数的最大似然空间和置信区间
%返回参数的最大似然估计mu_sigma和90%置信区间mu_sigma_ci
%因为有两个参数均值和标准差,所以返回的返回的最大似然估计是1x2的向量
%置信区间是2x2的矩阵
%需要指定函数名为norm(正态分布),显著性水平0.1(1-置信水平)
[mu_sigma,mu_sigma_ci]=mle(x,'distribution','norm','alpha',0.1)


mu_sigma =

   15.0560    0.1325


mu_sigma_ci =

   14.9750    0.1019
   15.1370    0.2298

我们发现,通过normfit函数和mle函数求出的估计结果不完全相同,这是因为他们采用的算法不同,对于小样本(样本容量不超过30)的情况下,可以认为normfit函数的结果更可靠。

1.2 自定义分布的参数估计

 上节讲的是常见分布的参数估计,那么对于其他非常见分布的参数如何估计呢,这就是这节课的内容

 比如已知总体X的密度函数为,其中θ>0是未知参数,需要求的量。现从总体X中随机抽去容量为20的样本,得样本的观测值为

x=[0.7919 0.8448 0.9802 0.8481 0.7627 
  0.9013 0.9037 0.7399 0.7843 0.8424 
  0.9842 0.7134 0.9959 0.6444 0.8362 
  0.7651 0.9314 0.6515 0.7956 0.8733];

根据以上的观测值,求出参数θ的最大似然估计和置信水平为95%的置信区间。

给出的密度函数f不是常见的分布,无法调用函数名+fit,这种函数进行求解,需要调用mle函数求参数θ的最大似然估计和置信空间

[phat,pci] = mle(data,'pdf',pdffun,'start',start,'alpha',p1):

第一个输入参数是样本观测值向量,如果data是以矩阵的形式给出的,则在这应为data(:)把矩阵装换为向量

第2和第3个向量用来传递总体密度函数对应的函数句柄

第4和第5个参数指定参数的初始值,因为mle函数利用迭代算法求参数估计,需要指定参数初值

第6和第7用来确定置信水平=1-p1;默认p1=0.05,置信水平为95%

 x=[0.7919 0.8448 0.9802 0.8481 0.7627 0.9013 0.9037 0.7399 0.7843 0.8424 0.9842 0.7134 0.9959 0.6444 0.8362 0.7651 0.9314 0.6515 0.7956 0.8733];

% x=[0.7919 0.8448 0.9802 0.8481 0.7627 
%   0.9013 0.9037 0.7399 0.7843 0.8424 
%   0.9842 0.7134 0.9959 0.6444 0.8362 
%   0.7651 0.9314 0.6515 0.7956 0.8733];
% %如果x是以矩阵的形式输入的则mle函数应该这样
% [phat,pci]=mle(x(:),'pdf',pdffun,'start',1,'alpha',0.1)
% %因为输入数据x应是向量而不应是矩阵,x(:)就可以把矩阵x变换为向量

pdffun=@(x,theta)theta*x.^(theta-1).*(x>0&x<1);

%pdf密度函数,pdffun我概率密度函数的句柄
%指定初始值为1,因为mle函数利用迭代算法求参数的估计值,需要指定一个初始值
%显著性水平0.1=1-置信水平
[phat,pci]=mle(x,'pdf',pdffun,'start',1,'alpha',0.05)

phat =

    5.1467


pci =

    2.8911
    7.4023

得到总体参数θ的最大似然估计为5.1467,95%的置信区间为[2.8911,7.4023];

更多MATLAB数据分析视频请点击,或者在网易云课堂上搜索《MATLAB数据分析与统计》 http://study.163.com/course/courseMain.htm?courseId=1003615016
 

转:https://blog.csdn.net/MATLAB_matlab/article/details/55802815?utm_source=blogxgwz2

猜你喜欢

转载自blog.csdn.net/eric_e/article/details/83185251