主要内容

使用表格的线性回归

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

加载示例数据。

负载进口- 85

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

台=表(X (:, 7) X (:, 8), X (:, 9), X (:, 15),“VariableNames”...“整备重量”“engine_size”“生”“价格”});

拟合线性回归模型。

适合一个线性回归模型,解释了价格的汽车在其控制重量,引擎大小,和内径。

fitlm(资源描述,'价格~整备重量+发动机尺寸+孔'
ans =线性回归模型:price ~ 1 + curb_weight + engine_size + boreEstimate SE tStat pValue __________ _________ _______ __________ (Intercept) 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-Squared: 0.669 F-statistic vs. constant model: 136, p-value = 1.14e-47

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

重新创建表并重复分析。

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

台=表(X (:, 15), X (:, 7), X (:, 8), X (:, 9),“VariableNames”...“价格”“整备重量”“engine_size”“生”});

当响应变量位于tbl,定义它的位置。例如,fitlm,默认情况下,假设是响应变量。您可以使用以下任一方法在模型中定义响应变量:

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

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

执行逐步回归。

stepwiselm(资源描述,“二次”“更低”“价格~ 1”...“ResponseVar”“价格”
1.移除孔^2,FStat = 0.01282, pValue = 0.90997移除engine_size^2, FStat = 0.078043, pValue = 0.78027移除curb_weight:bore, FStat = 0.70558, pValue = 0.40195
ans =线性回归模型:price ~ 1 + curb_weight*engine_size + engine_size*bore + curb_weight^2Estimate SE tStat pValue ___________ __________ _______ __________ (Intercept) 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观测数:201,误差自由度:194,均方根误差:3.59 R-squared: 0.735,校正R-squared: 0.726 F-statistic vs. constant model: 89.5, p-value = 3.58e-53

初始模型是一个二次公式,考虑的最低模型是常数。在这里,stepwiselm执行向后消除技术以确定模型中的术语。最后一个模型是价格~1+整备重量*发动机尺寸+发动机尺寸*孔+整备重量^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 生, β 模型中对应项的系数,和 ϵ 是错误项。最终模型包括所有三个主要影响,整备重量和发动机尺寸以及发动机尺寸和孔径的交互影响,以及整备重量的二阶项。

另请参阅

||

相关话题