主要内容

逐步回归

逐步回归选择适当的模型

步骤行程创建线性模型,并自动添加或修剪模型。要创建一个小型模型,从常量模型开始。要创建一个大型模型,请从包含许多术语的模型开始。大型模型通常具有较低的误差,如拟合到原始数据测量,但在预测新数据时可能没有任何优势。

步骤行程可以使用所有名称值选项Fitlm.,与启动和边界模型有关的其他选项。特别是:

  • 对于一个小型模型,从默认的较低限制模型开始:'不变'(没有预测器术语的模型)。

  • 默认的上限模型具有线性术语和交互条款(预测器对的产品)。s manbetx 845对于还包括平方术语的上限模型,设置名称 - 值对'二次'

比较大而小的逐步型号

此示例显示如何比较模型步骤行程从常量模型开始并从完整的交互模型开始返回。

加载CARBIG.数据并从某些数据中创建表。

加载CARBIG.TBL =表(加速,位移,马力,重量,MPG);

从恒定模型开始逐步创建里程模型。

mdl1 = stepwiselm(tbl,'不变''responsevar''mpg'
1.添加重量,fstat = 888.8507,pvalue = 2.9728e-103 2.添加马力,fstat = 3.8217,pvalue = 0.00049608 3.添加马力:重量,fstat = 64.8709,pvalue = 9.93362e-15
MDL1 =线性回归模型:MPG〜1 +马力*重量估计系数:估计系数PVALUE __________ ______________________________________0.0272-18重量-0.25084 2.32262-18重量-0.07381 -13.9215.1372E-36马力:重量5.3554E-05 6.6491C-06 8.6491C-06 8.0542 9.9336E-15观察数:392,误差自由度:388根均匀误差:3.93 R线:0.748,调整R线:0.746F函数与常量型号:385,p值= 7.26e-116

从完整交互模型开始逐步创建里程模型。

mdl2 = stepwiselm(tbl,'互动''responsevar''mpg'
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 _______________________10.8593E-69加速-0.3440-69 0.010071  -8.0623 9.5014E-15马力-0.24313 0.026068 -9重量-0.0014367 0.00084041 -1.7095 0.08041 -1.7095 0.088166位移:马力0.00054236 5.7987E-05 9.3531 7.3531 7.0527E -19观察数:392,误差自由度:386根均匀误差:3.84 R线:0.761,调整R线:0.758 F统计与常数型号:246,P值= 1.32E-117

请注意:

  • MDL1有四个系数(估计列),和MDL2.有六个系数。

  • 调整后的r树MDL10.746,这略低于(更差)MDL2.0.758

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

mdl3 =步骤行令(TBL,'二次''responsevar''mpg''上''二次');
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.Adjusted,mdl3.rsquared.adjusted]
RSQUARED =1×30.7465 0.7580 0.7599

比较三种模型的残余图。

子图(3,1,1)plotresids(mdl1)子图(3,1,2)plotresids(mdl2)子图(3,1,3)plotresids(mdl3)

图包含3个轴。具有残差标题直方图的轴1包含类型补丁的对象。带有残差标题直方图的轴2包含类型补丁的对象。具有残差标题直方图的轴3包含类型补丁的对象。

模型具有类似的残差。尚不清楚它适合更好的数据。

有趣的是,更复杂的模型具有更大的残差最大偏差:

rrange1 = [min(mdl1.resids.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

也可以看看

|||

相关话题