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