matlab 的 regress、 nlinfit 、stepwise函数多元回归分析

 1.多元线性回归
    在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)


2.非线性回归

    非线性回归可由命令nlinfit来实现,调用格式为

    [beta,r,j] = nlinfit(x,y,'model’,beta0)

    其中,输人数据x,y分别为n×m矩阵和n维列向量,对一元非线性回归,x为n维列向量model是事先用 m-文件定义的非线性函数,beta0是回归系数的初值, beta是估计出的回归系数,r是残差,j是Jacobian矩阵,它们是估计预测误差需要的数据。

预测和预测误差估计用命令

[y,delta] = nlpredci(’model’,x,beta,r,j)

 3.逐步回归

    逐步回归的命令是stepwise,它提供了一个交互式画面,通过此工具可以自由地选择变量,进行统计分析。调用格式为:

    stepwise(x,y,inmodel,alpha)

    其中x是自变量数据,y是因变量数据,分别为n×m和n×l矩阵,inmodel是矩阵的列数指标(缺省时为全部自变量),alpha,为显著性水平(缺省时为0.5)

    结果产生三个图形窗口,在stepwise plot窗口,虚线表示该变量的拟合系数与0无显著差异,实线表示有显著差异,红色线表示从模型中移去的变量;绿色线表明存在模型中的变量,点击一条会改变其状态。在stepwise Table窗口中列出一个统计表,包括回归系数及其置信区间,以及模型的统计量剩余标准差(RMSE),相关系数 (R-square),F值和P值。


多元回归分析中的问题

1.regress拟合的效果主要看哪些指标?
答:r平方是模型能解释变异的多少 越大越好。
还要对多元线性回归方程的假设检验
包括:㈠ 模型检验和㈡ 偏回归系数检验:
至于如何剔除不显著项,这个有明确的指标:

多元线性回归方程中当涉及的自变量较多时,这些自变量可能并不是全部都对应变量有显著影响,同时有些自变量之间也可能相关的。通常情况下,我们希望将有统计学意义的自变量引入回归方程,以使方差更加简单,容易解释;更重要的是把不显著的自变量排除后可以使残差的均方减小,有理由揭示其他自变量的作用。为此可以使用三种变量筛选方法:

1.向后法(backward selection):
2.向前法(forward selection): 
3.逐步法(stepwise selection):

现在大家主要做的就是3.逐步法(stepwise selection)。具体来说太多了 建议你找本统计书看看。做很简单 但是模型效果评价和其他参数的理解才是真正的关键。
  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值