1、多元线性回归 形式:
回归系数的检验 (1)F检验
(2)r检验
matlab语言:
代码语言:javascript复制[b,bint,r,rint,stats]=regress(Y,X,alpha)
b:回归系数点估计 bint:回归系数区间估计 r:残差 rint:置信区间 stats:用于检验的统计量,有三个数值,相关系数r^2,F值,与F对应的概率p alpha:显著性水平(缺省时为0.05)
说明:相关系数r^2越接近1,说明回归方程越显著; F越大,说明回归方程越显著 与F对应的概率p<a(显著性水平),回归模型成立 画出残差及其置信区间:
代码语言:javascript复制rcoplot(r,rint)
看个例子:
2、一元多项式回归 形式:
确定多项式系数:
代码语言:javascript复制[p,S]=polyfit(x,y,m)
p:系数,即a1,a2,a3,…a(m 1) S:矩阵,用来估计预测误差
预测:
代码语言:javascript复制Y=polyval(p,x)
求polyfit所得的回归多项式在x处的预测值Y
预测误差估计:
代码语言:javascript复制[Y,DELTA]=polyconf(p,x,S,alpha)
求polyfit所得回归多项式在x处的预测值Y及预测值的显著性为1-alpha的置信区间DELTA alpha缺省时为0.5
3、多元二项式回归 命令:
代码语言:javascript复制rstool(x,y,'model',alpha)
x:n*m矩阵 y:n维列向量 alpha:缺省时0.05 model:(默认线性) linear(线性),purequadratic(纯二次),interaction(交叉),quadratic(完全二次)
使用示例:
在左下方下拉式菜单选”all“,则beta,rmse和residuals都传送到MATLAB工作区中
4、非线性回归 命令确定回归系数:
代码语言:javascript复制[beta,r,J]=nlinfit(x,y,'model',beta0)
beta:估计出的回归系数 r:残差 J:Jacobi矩阵 x:n*m矩阵 y:n维列向量 model:M文件定义的非线性函数 beta0:回归系数的初值
非线性回归命令:
代码语言:javascript复制nlintool(x,y,'model',beta0,alpha)
预测和预测误差分析:
代码语言:javascript复制[Y,DELTA]=nlpredci('model',x,beta,r,J)
求得回归函数在x处的预测值Y 预测值的显著性水平为1-alpha的置信区间(Y-DELTA,Y DELTA)
示例:
5、逐步回归 命令:
代码语言:javascript复制stepwise(x,y,inmodel,alpha)
(比较少见,暂不作详细记录)