主要内容

利用表格进行线性回归

这个例子展示了如何使用表格执行线性和逐步回归分析。

加载样例数据。

负载进口- 85

将预测变量和响应变量存储在表中。

tbl = table(X(:,7),X(:,8),X(:,9),X(:,15),“VariableNames”...“curb_weight”“engine_size”“生”“价格”});

拟合线性回归模型。

拟合一个线性回归模型,根据整流罩重量、发动机尺寸和内径来解释汽车的价格。

fitlm(资源描述,“价格~ curb_weight + engine_size +了”
ans =线性回归模型:价格~ 1 + curb_weight + engine_size + bore估计系数:估计SE tStat pValue __________ _________ _______ __________(截距)64.095 3.703 17.309 2.0481e-41 curb_weight -0.0086681 0.0011025 -7.8623 2.42e-13 engine_size -0.015806 0.013255 -1.1925 0.23452 bore -2.6998 1.3489 -2.0015 0.046711观测数量:201,误差自由度:197均方根误差:3.95 r -平方:0.674,调整r -平方:0.669 f统计量与常数模型:136,p值= 1.14e-47

命令fitlm(台)也返回相同的结果,因为fitlm默认情况下,假设响应变量在表的最后一列资源描述

重新创建表并重复分析。

这一次,将响应变量放在表的第一列中。

tbl = table(X(:,15),X(:,7),X(:,8),X(:,9),“VariableNames”...“价格”“curb_weight”“engine_size”“生”});

当响应变量在的第一列时资源描述,定义其位置。例如,fitlm,默认情况下,假设是响应变量。您可以在模型中使用以下任何一种方法定义响应变量:

fitlm(资源描述,“ResponseVar”“价格”);

fitlm(资源描述,“ResponseVar”,逻辑([1 0 0 0]));

执行逐步回归。

stepwiselm(资源描述,“二次”“低”“价格~ 1”...“ResponseVar”“价格”
1.拆卸孔^2,FStat = 0.01282, pValue = 0.909973.删除engine_size^2, FStat = 0.078043, pValue = 0.78027去除curb_weight:bore, FStat = 0.70558, pValue = 0.40195
ans =线性回归模型:价格~ 1 + curb_weight*engine_size + engine_size*bore + curb_weight^2估计SE tStat pValue ___________ __________ _______ __________(拦截)131.13 14.273 9.1873 6.2319e-17 curb_weight -0.043315 0.0085114 -5.0891 8.4682e-07 engine_size -0.17102 0.13844 -1.2354 0.21819 bore -12.244 4.999 -2.4493 0.015202 curb_weight:engine_size -6.3411e-05 2.6577e-05 -2.386 0.017996 engine_size:bore 0.092554 0.037263 2.4838 0.013847 curb_weight^2 8.0836e-06 1.9983e-06 4.0451 7.5432e-05观测数量:201,误差自由度:194根均方误差:3.59 r平方:0.735,调整后r平方:0.726 f统计量vs常数模型:89.5,p值= 3.58e-53

初始模型为二次公式,考虑的最低模型为常数。在这里,stepwiselm执行向后消去技术以确定模型中的项。最后一个模型是价格~ 1 + curb_weight*engine_size + engine_size*bore + curb_weight^2,对应于

P β 0 + β C C + β E E + β B B + β C E C E + β E B E B + β C 2 C 2 + ϵ

在哪里 P 是价格, C 是控制重量, E 是发动机尺寸, B 生, β 模型中对应项的系数,和 ϵ 是误差项。最后的模型包含了整流罩重量与发动机尺寸、发动机尺寸与内径的交互作用,以及整流罩重量的二阶项。

另请参阅

||

相关的话题