【多项式拟合】
在 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); |