在matlab中regress()函数和polyfit()函数都可以进行回归分析。
(1)regress()函数主要用于线性回归,一元以及多元的。它可以提供更多的信息,残差之类的。
(2)polyfit()函数是利用多项式拟合。可以是线性也可以是非线性的。
(1)regress()函数详解
[b,bint,r,rint,stats]=regress(y,X,alpha)
说明:b是线性方程的系数估计值,并且第一值表示常数,第二个值表示回归系数。bint是系数估计值的置信度为95%的置信区间,r表示残差,rint表示各残差的置信区间,stats是用于检验回归模型的统计量,有三个数值其中有表示回归的R2统计量和F以及显著性概率P值,alpha为置信度。
相关系数r^2越大,说明回归方程越显著;与F对应的概率P<alpha时候拒绝H0,回归模型成立。
y表示一个n-1的矩阵,是因变量的值,X是n-p矩阵,自变量x和一列具有相同行数,值是1的矩阵的组合。 如:对含常数项的一元回归模型,可将X变为n-2矩阵,其中第一列全为1。
ONES(SIZE(A)) is the same size as A and all ones。
利用它实现X=[ones(size(x))x]
p=polyfit(x,y,n)
[p,s]= polyfit(x,y,n)
说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p。x必须是单调的。矩阵s用于生成预测值的误差估计。(见下一函数polyval)
多项式曲线求值函数:polyval( )
调用格式: y=polyval(p,x)
[y,DELTA]=polyval(p,x,s)
说明:y=polyval(p,x)为返回对应自变量x在给定系数P的多
(1)regress()函数主要用于线性回归,一元以及多元的。它可以提供更多的信息,残差之类的。
(2)polyfit()函数是利用多项式拟合。可以是线性也可以是非线性的。
(1)regress()函数详解
[b,bint,r,rint,stats]=regress(y,X,alpha)
说明:b是线性方程的系数估计值,并且第一值表示常数,第二个值表示回归系数。bint是系数估计值的置信度为95%的置信区间,r表示残差,rint表示各残差的置信区间,stats是用于检验回归模型的统计量,有三个数值其中有表示回归的R2统计量和F以及显著性概率P值,alpha为置信度。
相关系数r^2越大,说明回归方程越显著;与F对应的概率P<alpha时候拒绝H0,回归模型成立。
y表示一个n-1的矩阵,是因变量的值,X是n-p矩阵,自变量x和一列具有相同行数,值是1的矩阵的组合。 如:对含常数项的一元回归模型,可将X变为n-2矩阵,其中第一列全为1。
ONES(SIZE(A)) is the same size as A and all ones。
利用它实现X=[ones(size(x))x]
(2)polyfit()函数详解-------------摘自sina小雪儿博客
p=polyfit(x,y,n)
[p,s]= polyfit(x,y,n)
说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p。x必须是单调的。矩阵s用于生成预测值的误差估计。(见下一函数polyval)
多项式曲线求值函数:polyval( )
调用格式: y=polyval(p,x)
[y,DELTA]=polyval(p,x,s)
说明:y=polyval(p,x)为返回对应自变量x在给定系数P的多