matlab中的regress函数。。。。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中的regress函数。。。。相关的知识,希望对你有一定的参考价值。

在Matlab软件包中有一个做一般多元回归分析的命令regress,调用格式如下:
[b, bint, r, rint, stats] = regress(y,X,alpha) 或者
[b, bint, r, rint, stats] = regress(y,X) 此时,默认置信度alpha = 0.05。
这里,y是一个 的列向量,X是一个 的矩阵,其中第一列是全1向量(这一点对于回归来说很重要,这一个全1列向量对应回归方程的常数项),一般情况下,需要人工造一个全1列向量。回归方程具有如下形式(待定参数 具有线性关系):

其中, 是残差。
在返回项[b,bint,r,rint,stats]中,
① 是回归方程的系数;
② 是一个 矩阵,它的第 行表示 的(1-alpha)可信区间;
③ 是 的残差列向量;
④ 是 矩阵,它的第 行表示第 个残差 的(1-alpha)可信区间;
参考技术A   matlab中的regress函数等号右边完整为:regress(Y,X,alpha)
  bint是回归系数的区间估计,r是残差,rint是置信区间,stats是用于检验回归模型的统计量,有三个数值:相关系数r^2,F值,与F对应的概率P,alpha是显著性水平(缺省的时候为0.05)。相关系数r^2越大,说明回归方程越显著;与F对应的概率P<alpha时候拒绝h0,回归模型成立。

  例如:
  t=[90 210 330 570 690 1350]';
  R=[1.9010 1.7875 1.5169 1.1658 0.9845 0.2695]';
  t=[ones(6,1),t]
  [b,bint,r,rint,stats]=regress(R,t,0.05)
  regress函数是回归一下r和t之间的线性关系。
参考技术B 多元线性回归
在Matlab统计工具箱中使用命令regress()实现多元线性回归,调用格式为
b=regress(y,x) 或 [b,bint,r,rint,statsl = regess(y,x,alpha)
其中因变量数据向量y和自变量数据矩阵x按以下排列方式输入
对一元线性回归,取k=1即可。alpha为显著性水平(缺省时设定为0.05),输出向量b,bint为回归系数估计值和它们的置信区间,r,rint为残差及其置信区间,stats是用于检验回归模型的统计量,有四个数值,第一个是R2,其中R是相关系数,第二个是F统计量值,第三个是与统计量F对应的概率P,第四个是 an estimate of the error variance(一个错误的方差估计)。
stats参数解释如下:
R2表示方差解释率,R2越接近1说明数据拟合程度越好。
F统计量用于检验模型是否通过检验。通过查F分布表,如果F>F分布表中对应的值,则通过检验。P为F 统计量对应的概率,越接近0越好,当P<α时拒绝h0,回归模型成立!!!
第4个参数不知何用。画出残差及其置信区间,用命令rcoplot(r,rint)

以上是关于matlab中的regress函数。。。。的主要内容,如果未能解决你的问题,请参考以下文章

求Matlab中regress函数的源程序代码

如何用matlab线性回归分析?

MATLAB | 逻辑回归(Logistic Regression)+书推

matlab---logistic regression-----spamdata数据集

MATLAB | 赠书 | 逻辑回归(Logistic Regression)

机器学习 | Logistic Regression(逻辑回归)中的损失函数