通过指定分布类型,使用mle函数可以求得服从多种分布的总体的参数估计量。但MATLAB的统计工具箱中还提供了具体函数的参数估计函数,如表1-13所示。
表1-13 常见分布的参数估计函数及其语法格式
| 函 数 名 | 参数估计对应的分布 | 调 用 格 式 |
|---|---|---|
| betafit | 贝塔分布 | phat = betafit(x)
[phat, pci] = betafit(x, alpha) |
| betalike | 贝塔对数似然函数 | logL=betalike(params, data)
[logL, info]=betalike(params, data) |
| binofit | 二项分布 | phat=binofit(x, n)
[phat, pci]=binofit(x, n)
[phat, pci]=binofit(x, n, alpha) |
| expfit | 指数分布 | muhat=expfit(x)
[muhat, muci]=expfit(x)
[muhat, muci]=expfit(x, alpha) |
| gamfit | 伽马分布 | phat=gamfit(x)
[phat, pci]=gmfit(x)
[phat, pci]=gamfit(x, alpha) |
| gamlike | 伽马似然函数 | logL=gamlike(params, data)
[logL, info]=gamlike(params, data) |
| mle | 最大似然估计 | phat=mle(‘dist’, data)
[phat, pci]=mle(‘dist’, data)
[phat, pci]=mle(‘dist’, data, alpha)
[phat, pci]=mle(‘dist’,data, alpha, p1) |
| normlike | 正态对数似然函数 | L=normlike(params,data) |
| normfit | 正态分布 | [muhat,sigmahat,muci,sigmaci]=normfit(X)
[muhat,sigmahat,muci,sigmaci]=normfit(X,alpha) |
| poissfit | 泊松分布 | lambdahat=poissfit(X)
[lambdahat,lambdaci]=poissfit(X)
[lambdahat,lambdaci]=poissfit(X,alpha) |
| unifit | 均匀分布 | [ahat,bhat]=unifit(X)
[ahat,bhat,ACI,BCI]=unifit(X)
[ahat,bhat,ACI,BCI]=unifit(X,alpha) |
| weibfit | 韦伯分布 | phat=weibfit(x)
[phat,pci]=weibfit(x)
[phat,pci]=weibfit(x,alpha) |
| weiblike | 韦伯对数似然函数 | logL=weiblike(params,data)
[logL,info]=weiblike(params,data) |
例如,用normfit函数对正态分布总体进行参数估计。其语法格式和说明如下所示。
[muhat, sigmahat, muci, sigmaci] = normfit(X):对于给定的服从正态分布的矩阵X,返回参数 和 的估计值muhat和sigmahat。muci和sigmaci为 和 的95%置信区间。 muci和sigmaci向量分别有两行,其列数与矩阵X的列数相同。上下两行的数据分别为置信区间的下限和上限。
[muhat, sigmahat, muci, sigmaci] = normfit(X, alpha):进行参数估计并计算100(1-alpha)置信区间。如当alpha = 0.01时,给出99%置信区间。
用normfit函数求解例1-37。
code.matlab
>> X=[1050 1100 1120 1250 1280];
>> [muhat, sigmahat, muci, sigmaci] = normfit(X, 0.05)
muhat =
1160
sigmahat =
99.7497
muci =
1.0e+003 *
1.0361
1.2839
sigmaci =
59.7633
286.6363
现在求得灯泡寿命平均值的置信区间为[1036.1 1283.9],与用mle函数计算的结果相比略宽一些。