Matlab_逐步回归

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_32095939/article/details/76375684

例:
(Hald,1960)Hald 数据是关于水泥生产的数据。某种水泥在凝固时放出的热量 Y(单位:卡/克)与水泥中 4 种化学成品所占的百分比有关:
在生产中测得 12 组数据,见表5,试建立 Y 关于这些因子的“最优”回归方程。

这里写图片描述
对于例 4 中的问题,可以使用多元线性回归、多元多项式回归,但也可以考虑使用逐步回归。从逐步回归的原理来看,逐步回归是以上两种回归方法的结合,可以自动使得方程的因子设置最合理。对于该问题,逐步回归的代码如下:

X=[7,26,6,60;1,29,15,52;11,56,8,20;11,31,8,47;7,52,6,33;11,55,9,22;3,71,17,6;1,31,22,44;2,54,18,22;21,47,4,26;1,40,23,34;11,66,9,12];   %自变量数据
Y=[78.5,74.3,104.3,87.6,95.9,109.2,102.7,72.5,93.1,115.9,83.8,113.3];  %因变量数据
stepwise(X,Y,[1,2,3,4],0.05,0.10)
% in=[1,2,3,4]表示X1、X2、X3、X4均保留在模型中
 
 
  • 1
  • 2
  • 3
  • 4

注:这里的stepwise函数表示逐步回归,第一个参数为自变量数据矩阵,第二个参数为因变量数据,第三个参数表示哪几个向量应该在最初的模型中,第四个参数为Max P-value,不设置时默认为0.05,第个参数为Min P-value,不设置时默认为0.10。正常使用直接使用默认值。

程序运行后一直点Next Step,直到变灰为止。得到最终运行结果后,查看R-square值和p值,前者越接近1,后者越接近0,模型越准。

这里写图片描述

最后的回归方程为:

        Y=51.6241+1.47601*X1+0.686734*X2

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
多元逐步回归是一种常用的统计分析方法,用于确定多个自变量对一个因变量的影响程度。在MATLAB中,可以使用“stepwiselm”函数来实现多元逐步回归分析。以下是一个使用“stepwiselm”函数的示例代码: ```matlab % 定义自变量和因变量 x1 = [1.2, 2.5, 3.7, 4.9, 5.1, 6.3, 7.6, 8.8, 9, 10.2]; x2 = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]; y = [2.5, 3.7, 5.1, 7.3, 8.1, 9.4, 11.2, 12.5, 15.4, 17.2]; % 创建自变量矩阵 X = [x1', x2']; % 创建模型对象 model = stepwiselm(X, y, 'linear'); % 展示回归结果 disp(model) % 绘制回归方程图像 scatter3(x1, x2, y, 'filled') hold on x1_range = min(x1):0.1:max(x1); x2_range = min(x2):0.1:max(x2); [x1_grid, x2_grid] = meshgrid(x1_range, x2_range); y_grid = model.predict([x1_grid(:), x2_grid(:)]); y_grid = reshape(y_grid, size(x1_grid)); mesh(x1_grid, x2_grid, y_grid) xlabel('x1') ylabel('x2') zlabel('y') hold off ``` 以上代码首先定义了两个自变量x1和x2,以及一个因变量y。然后,使用这些数据创建自变量矩阵X。接下来,通过调用“stepwiselm”函数,并传入自变量矩阵X和因变量y,创建了一个多元逐步回归模型对象model。最后,使用“disp”函数展示了回归结果,以及绘制了回归方程的图像。 需要注意的是,在实际应用中,可以根据具体需求调整自变量和因变量的数据以及步骤。另外,还可以通过设置其他参数来进一步优化回归模型的性能。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值