前言
最近学了不少回归分析的知识,用到了几个常用的Matlab命令,写在这里做个总结。
回归分析,就是研究几种变量之间的关系。如果你也很喜欢分析数据,这种技巧是基本的一项。(PS:高级的是机器学习。)
1 regress命令
用于一元及多元线性回归,本质上是最小二乘法。在Matlab 2014a中,输入help regress ,会弹出和regress的相关信息,一一整理。
调用格式:
- B = regress(Y,X)
- [B,BINT] = regress(Y,X)
- [B,BINT,R] = regress(Y,X)
- [B,BINT,R,RINT] = regress(Y,X)
- B,BINT,R,RINT,STATS] = regress(Y,X)
- [...] = regress(Y,X,ALPHA)
参数解释:
- B:回归系数,是个向量(“the vector B of regression coefficients in the linear model Y = X*B”)。
- BINT:回归系数的区间估计(“a matrix BINT of 95% confidence intervals for B”)。
- R:残差( “a vector R of residuals”)。
- RINT:置信区间(“a matrix RINT of intervals that can be used to diagnose outliers”)。
- STATS:用于检验回归模型的统计量。有4个数值:判定系数R^2,F统计量观测值,检验的p的值,误差方差的估计。
- ALPHA:显著性水平(缺少时为默认值0.05)。
2 regress函数例程
目标函数:y=Ax1^2+Bx1^2+Cx1+Dx2+Ex1*x2+F (这是一个二次函数,两个变量,大写的字母是常数)
结果截图:
b为对应的参数 b(1)为F(最后那个常数项) ,b(2)为A(第一个参数),b(3)为B,b(4)为C,b(4)为D,b(5)为E。bint为b的95%置信区间。
比较重要的stats分析:
stats的第三个参数为F检测的P值,p值很小(P<0.001),说明拟合模型有效。(这里的分析技巧,以后有时间的话,会专门总结。)
(注:*号是乘法的意思,*前面的数是矩阵的系数。)
下面数据可视化看下。
scatter3(x1,x2,y,'filled') %scatter可用于画散点图
截图:
后续的分析如下:
最终结果截图:
参考文献:
http://wenku.baidu.com/link?url=HkCnQVFa7s0TR1_I7GOrH_jBitSG3Cgg8rDxhn-1ac3rsGhbCWCe2BYKVUDL6jh2n84qv_gdn2ZHBj1CoGHhLNrR84Fc8hvmnVT8aF8ybCu