stepwiselm
创建一个线性模型,并自动添加或调整模型。要创建一个小模型,从一个常量模型开始。要创建一个大型模型,首先要创建一个包含许多术语的模型。一个大的模型通常具有较低的误差,通过对原始数据的拟合来衡量,但可能在预测新数据方面没有任何优势。
stepwiselm
可以使用所有的名值选项Fitlm.
,附加了与起始和边界模型相关的选项。特别是:
对于一个小型模型,从默认的较低限制模型开始:'不变'
(一个没有预测词的模型)。
默认的上限模型具有线性术语和交互条款(预测器对的产品)。下载188bet金宝搏对于还包括平方术语的上限模型,设置上
名称-值对“二次”
。
此示例显示如何比较模型stepwiselm
从常量模型和完整交互模型开始返回。
加载CARBIG.
数据并从某些数据中创建表。
加载CARBIG.TBL =表(加速,位移,马力,重量,MPG);
从恒定模型开始逐步创建里程模型。
mdl1 = stepwiselm(资源描述,'不变'那'responsevar'那'mpg')
1.添加权重,FStat = 888.8507, pValue = 2.9728e-103添加马力,FStat = 3.8217, pValue = 0.00049608添加马力:重量,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(资源描述,“互动”那'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树mdl1
是0.746
,这略低于(更差)mdl2
那0.758
。
从完整的二次模型开始,逐步创建一个里程模型作为上限,从完整的二次模型开始:
mdl3 = stepwiselm(资源描述,“二次”那'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。公式
ans = MPG ~ 1 +马力*重量
mdl2.formula.
ANS = MPG〜1 +加速+重量+位移*马力
mdl3。公式
ANS = MPG〜1 +重量+加速*位移+位移*马力+加速^ 2
的调整 随着模型变得更复杂,值会稍微改善:
RSQUARED = [mdl1.rsquared.adjusted,......mdl2.rsquared.Adjusted,mdl3.rsquared.adjusted]
RSQUARED =.1×3.0.7465 0.7580 0.7599
比较三种模型的残余图。
子图(3,1,1)plotresids(mdl1)子图(3,1,2)plotresids(mdl2)子图(3,1,3)plotresids(mdl3)
模型有相似的残差。目前还不清楚哪种数据更适合。
有趣的是,更复杂的模型具有更大的残差最大偏差:
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.44407 16.7562 -12.2723 16.7927
Fitlm.
|LinearModel
|plotResiduals
|stepwiselm