【多项式拟合】
在 matlab 中,函数 polyfit() 用于多项式拟合,其采用最小二乘法进行计算
polyfit(x,y,n):找到次数为 n 的多项式系数polyval(x,y):计算多项式的误差
1 | >> x=ceil(randn(1,10)*10); |

注:除利用最小二乘法的多项式拟合外,常用的拟合方法有 WLS 拟合、非线性曲线拟合等,但由于 matlab 中没有集成的方法,且原理涉及到机器学习知识,故不再赘述
【参数估计】
常见分布的参数估计
在 matlab 中,对于常见分布的参数估计有集成的函数,下面以正态分布的参数估计为例,介绍该类函数的用法
[mu_hat,sigma_hat,mu_ci,sigma_ci]=normfit(x):对于给定的正态分布 x,返回参数为 u 的估计值 mu_hat,sigma 的估计值 sigma_ci,其中两个参数的置信区间均为 95%[mu_hat,sigma_hat,mu_ci,sigma_ci]=normfit(x,alpha):对于给定的正态分布 x,返回参数为 u 的估计值 mu_hat,sigma 的估计值 sigma_ci,其中两个参数的置信区间均为 (1-alpha)*100%
常见分布的参数估计集成函数见下表:
| 分布 | 函数 |
|---|---|
| 泊松分布 | poissfit |
| 均匀分布 | unifit |
| 正态对数似然函数 | normlike |
| 二项分布 | binofit |
| 伽马分布 | gamfit |
| 伽马似然函数 | gmalike |
| 指数分布 | expfit |
| 贝塔分布 | betafit |
| 贝塔对数似然函数 | betalike |
点估计
点估计的常用方法有最大似然法和矩法两种,在 matlab 中,分别利用 mle() 和 moment() 函数进行计算
p=mle(name,data):返回 name 指定的分布,关于数据 data 的最大似然估计m=moment(x,order):返回由 n 指定的 x 的中心矩
1 | >> x=30+(randn(1,10)*10); |
区间估计
在 matlab 中,求区间估计时,利用 mle() 来计算区间估计
[p_hat,p_ci]=mle(name,data):返回 name 指定分布,关于数据 data 最大似然估计和 95% 的置信区间[p_hat,p_ci]=mle(name,data,alpha):返回 name 指定分布,关于数据 data 最大似然估计和 (1-alpha)*100%% 的置信区间
1 | >> x=30+(randn(1,10)*10); |