- 积分
- 36032
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-7-26
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 Aires 于 2013-4-4 16:56 编辑
这里简单介绍一下如何用Matlab做回归分析。
一、多元线性回归
regress函数:
比较复杂的输出用法:
[b bint r rint stats]=regress(y,X)
当然还可以设置信度(alpha).
Matlab对列资料矩阵处理,所以在开始准备数据的时候应该把预报量y和预报因子X矩阵放成列资料矩阵。在X矩阵的第一列应放置全是1的数,则求得的回归系数中包含常数项。
b是求得的回归系数(如果你在X矩阵左边加了一列1,则b中包含常数项b0),bint是回归系数95%的置信区间,r是残差,rint是残差95%的置信区间,stats包含4个参数:判定系数R方,F统计量的观测值,检验的p值,误差方差的估计值。
二、用Matlab实现逐步回归
用Matlab做逐步回归,非常的简单,如果你不设置特殊参数的话,只需要一步即可完成。
函数stepwise:
stepwise(X,y,inmodel,penter,premove)
X和y也是竖资料阵,在用stepwise函数的时候不需要在X矩阵的第一列加入全是1的数。该函数会自动加1。inmodel可以是一个与X列数相等的逻辑变量,也可以是一个下标变量。penter表示指定变量进入模型的最大显著性水平(默认值为0.05),小于这个值的变量不能被引入该模型。premove表示从模型中剔除变量的最小显著性水平(默认为penter和0.1的最大值),p值大于premove的变量被剔除。penter必须小于等于premove。
用这个函数做逐步回归非常的简单,可做交互式逐步回归分析。
首先准备X和y,把它们变成竖资料阵。然后调用stepwise函数。在界面中的具体各参数的意义就不多说了,有兴趣的可以help学习查看。
下面给出个例子。我用x1~x4 四个预报因子和预报量y做逐步回归分析。调用函数后如果你不关心中间过程,只需要点击右边的All steps,即可完成逐步回归。
图中可以看到,左侧有蓝线和红线,最左侧是预报因子x1~x4,蓝色表示引入的因子,而红色表示剔除的因子,所以x3因子被剔除。所得到的回归方程的系数为coeff.一列的数,常数项bo为下面的intercept。所以最后用逐步回归求得的回归方程为:
y^=-31.8001-0.421296x1+1.12928x2+0.53148x4
|
|