主要内容

逐步回归

逐步回归来选择适当的模型

stepwiselm创建一个线性模型,自动添加或者修剪模型。创建一个小模型,从一个常数模型。创建一个大型模型,从模型包含许多条件。一个大型的模型通常有较低的错误适合原始数据,但可能没有任何优势在预测新数据。

stepwiselm可以使用的所有名称选项fitlm,附加选项有关启动和边界模型。特别是:

  • 一个小模型,开始用默认降低边界模型:“不变”(一个模型没有预测计算)。

  • 默认的上部边界模型线性项和交互项对预测的(产品)。下载188bet金宝搏的上边界模型,还包括平方项,设置名称-值对“二次”

比较大型和小型分段模型

这个例子展示了如何比较模型stepwiselm返回从一个常数模型,从一个完整的交互模型。

加载carbig数据和创建一个表的数据。

负载carbig台=表(加速度、位移、马力、体重、MPG);

创建一个里程模型逐步从常数模型。

mdl1 = stepwiselm(资源描述,“不变”,“ResponseVar”,“英里”)
1。增加体重,FStat = 888.8507, pValue = 2.9728 e - 103 2。增加马力,FStat = 3.8217, pValue = 0.00049608 3。增加马力:体重,FStat = 64.8709, pValue = 9.93362 e15汽油
mdl1 =线性回归模型:MPG ~ 1 +马力*重量估计系数:估计SE tStat pValue __________ __________和__________(拦截)63.558 2.3429 27.127 1.2343 e - 91马力e-18重量-0.010772 0.00077381 -13.921 2.3226 -0.25084 0.027279 -9.1952 5.1372 e-36马力:体重5.3554 e-05 6.6491 e-06 8.0542 9.9336 e15汽油数量的观察:392年,错误自由度:388根均方误差:3.93平方:0.748,调整平方:0.746 f统计量与常数模型:385年,假定值= 7.26 e - 116

创建一个里程模型逐步从完整的交互模型。

mdl2 = stepwiselm(资源描述,“互动”,“ResponseVar”,“英里”)
1。消除加速度:位移函数= 0.024186,pValue = 0.8765 - 2。消除位移:体重,FStat = 0.33103, pValue = 0.56539 3。消除加速度:马力,FStat = 1.7334, pValue = 0.18876 4。消除加速度:体重,FStat = 0.93269, pValue = 0.33477 - 5。删除马力:重量,FStat = 0.64486, pValue = 0.42245
mdl2 =线性回归模型:MPG ~ 1 + +重量+位移加速度*马力估计系数:估计SE tStat pValue __________ __________和__________(拦截)e - 69 1.8593 61.285 2.8052 21.847 -0.34401 0.11862 -2.9 0.0039445位移加速度e15汽油马力9.5014 -0.081198 0.010071 -8.0623 -0.24313 0.026068 -9.3265 8.6556 e-19重量-0.0014367 0.00084041 -1.7095 0.088166位移:马力9.3531 - 7.0527 0.00054236 - 5.7987 e-05 e-19观测数量:392年,错误自由度:386根均方误差:3.84平方:0.761,调整平方:0.758 f统计量与常数模型:246年,假定值= 1.32 e - 117

注意:

  • mdl1有四个系数(估计列),mdl2有六个系数。

  • 调整后的平方的mdl10.746,(更糟糕的)略低于mdl2,0.758

创建一个里程模型逐步与一个完整的二次模型作为上界,从完整的二次模型:

mdl3 = stepwiselm(资源描述,“二次”,“ResponseVar”,“英里”,“上”,“二次”);
1。消除加速度:马力,FStat = 0.075209, pValue = 0.78405 - 2。消除加速度:体重,FStat = 0.072756, pValue = 0.78751 3。删除马力:体重,FStat = 0.12569, pValue = 0.72314 - 4。删除重^ 2,FStat = 1.194, pValue = 0.27521 - 5。消除位移:体重,FStat = 1.2839, pValue = 0.25789 6。消除位移^ 2,FStat = 2.069, pValue = 0.15114 7。消除功率^ 2,FStat = 0.74063, pValue = 0.39

比较三个模型的复杂性通过检查他们的公式。

mdl1.Formula
ans = MPG ~ 1 +马力*重量
mdl2.Formula
ans = MPG ~ 1 + +重量+位移加速度*马力
mdl3.Formula
ans = MPG ~ 1 +重量*马力+ + *位移加速度+位移加速度^ 2

的调整 R 2 值略有改进的模型变得越来越复杂:

RSquared = [mdl1.Rsquared.Adjusted,mdl2.Rsquared。调整,mdl3.Rsquared.Adjusted]
RSquared =1×30.7465 0.7580 0.7599

比较三个模型的残块。

次要情节(1,1)plotResiduals (mdl1)次要情节(3,1,2)plotResiduals (mdl2)次要情节(3、1,3)plotResiduals (mdl3)

图包含3轴对象。坐标轴对象1标题残差的柱状图包含一个补丁类型的对象。坐标轴对象2标题残差的柱状图包含一个补丁类型的对象。坐标轴对象3标题残差的柱状图包含一个补丁类型的对象。

模型残差相似。目前尚不清楚的数据吻合得更好。

有趣的是,更复杂的模型有更大的剩余工资的最大偏差:

Rrange1 = [min (mdl1.Residuals.Raw), max (mdl1.Residuals.Raw)];Rrange2 = [min (mdl2.Residuals.Raw), max (mdl2.Residuals.Raw)];Rrange3 = [min (mdl3.Residuals.Raw), max (mdl3.Residuals.Raw)];Rranges = [Rrange1; Rrange2; Rrange3]
Rranges =3×2-10.7725 14.7314 -11.4407 16.7562 -12.2723 16.7927

另请参阅

|||

相关的话题