stepwiselm

利用逐步回归拟合线性回归模型

描述

例子

MDL= stepwiselm(资源描述)创建用于表或数据集阵列变量的线性模型资源描述从常量模型开始,使用逐步回归添加或删除预测因子。stepwiselm的最后一个变量资源描述作为响应变量。stepwiselm使用前向和后向逐步回归来确定最终的模型。在每个步骤中,该函数根据的值搜索要将模型添加到模型或从模型中删除的项“标准”论点。

例子

MDL= stepwiselm(X,y)创建的响应的线性模型y到数据矩阵中的预测变量X

例子

MDL= stepwiselm(___,modelspec)指定初始模型modelspec在以前的语法中使用任何输入参数组合。

例子

MDL= stepwiselm(___,名称,值)指定使用一个或多个名称-值对参数的附加选项。例如,您可以指定分类变量、模型中要使用的最小或最大的术语集、要采取的最大步骤数,或者要确定的标准stepwiselm使用添加或删除条款。

例子

全部收缩

加载哈尔德数据集,其测量水泥组合物在它的硬化热量的影响。

加载哈尔德

此数据集包括的变量配料。矩阵配料包含存在于水泥四种化学品的百分数组合物。矢量包含每个水泥样品180天后的热硬化值。

对数据拟合逐步线性回归模型。指定0.06作为向模型添加术语的条件的阈值。

MDL = stepwiselm(成分,热,“囚禁”,0.06)
1.添加x4, FStat = 22.7985, pValue = 0.000576232 2。添加x1, FStat = 108.2239, pValue = 1.105281e-06 3。加入x2, FStat = 5.0259, pValue = 0.051687删除x4, FStat = 1.8633, pValue = 0.2054
MDL =线性回归模型为:y〜1个+ X1 + X2估计系数:估计SE TSTAT p值________ ______ __________(截距)52.577 2.2862 22.998 5.4566e-10 X 1 1.4683 0.1213 12.105 2.6922e-07×2 0.66225 0.045855 14.442 5.029e-08观察数:13,错误自由度:10均方根误差:2.41 R平方:0.979,调整R平方:0.974 F统计与常数模型:230,p值= 4.41e-09

默认情况下,初始模型是一个常量模型。stepwiselm执行前向选择并添加x4,x1x2术语(以该顺序),因为相应的p-值小于P输入值为0.06。stepwiselm然后使用淘汰落后及排除x4从模型,因为一旦x2在模型中p-的价值x4比默认值大PRemove0.1。

使用存储在数据集数组中的变量执行逐步回归。使用威尔金森符号指定启动模型,并使用可选参数识别响应和预测变量。

加载示例数据。

加载医院

医院数据集数组包括患者的性别、年龄、体重和吸烟情况。

适合的线性模型与一个常数项的起始模型和抽烟者作为预测变量。指定响应变量,重量和分类预测变量,性别,年龄抽烟者

mdl = stepwiselm(医院,的体重~ 1 +抽烟',...“ResponseVar”,'重量',“PredictorVars”{'性别','年龄',“抽烟”},...'CategoricalVar'{'性别',“抽烟”})
1.添加性别,FStat = 770.0158, pValue = 6.262758e-48 2。移除吸烟者,FStat = 0.21224, pValue = 0.64605
mdl =线性回归模型:体重~ 1 +性估计系数:估计SE tStat pValue ________交___________(拦截)130.47 1.1995 108.77 5.2762 e - 104 Sex_Male 50.06 1.7496 28.612 2.2464 e-49数量的观察:100年,错误自由度:98根均方误差:8.73平方:0.893,调整平方:0.892 f统计量与常数模型:819年,假定值= 2.25 e-49

在每个步骤中,stepwiselm搜索要添加和删除的术语。在第一步,逐步增加算法性别到a的模型 p 6.26 e-48的价值。然后,从模型中删除吸烟者,因为给定性别在该模型中,可变抽烟者成为多余的。stepwiselm仅包括性别在最终的线性模型。患者的体重似乎并没有按照年龄和吸烟的地位显著不同。

加载样本数据集,并定义预测器的矩阵。

加载carsmallX = [加速,重量];

限定的起始模型并使用术语矩阵的上模型。

t_start = [0 0 0]% a常数模型
T_starting =1×30 0 0
T_upper = [0 0 0;1 0 0;0 1 0;1 1 0]%与相互作用的线性模型
T_upper =4×30 0 0 1 0 0 0 1 0 1 1 0

创建使用逐步回归线性回归模型。指定起始模型和使用术语的矩阵的上界的模型,并指定“详细”as 2显示评估过程和每一步的决策。

T_starting mdl = stepwiselm (X,英里/加仑,“上”T_upper,“详细”,2)
p值,用于将x1为4.0973e-06 p值用于将X 2是1.6434e-28 1.添加X2,FSTAT = 259.3087,p值= 1.643351e-28 p值用于将x1为0.18493否候选词语,以除去
mdl =线性回归模型:y ~ 1 + x2估计系数:估计SE tStat pValue __________ _____ _________ __________(拦截)e-49 x2 -0.0086119 0.0005348 -16.103 2.7015 49.238 1.6411 30.002 1.6434即使数量的观察:94年,错误自由度:92根均方误差:4.13平方:0.738,调整平方:0.735 f统计量与常数模型:259年,即使假定值= 1.64

拟合线性回归模型使用逐步回归一个分类预测。stepwiselm在一步中添加或删除一组指示符变量,以添加或删除分类预测器。这个示例还展示了如何手动创建指示符变量并将它们传递给stepwiselmstepwiselm将每个指示器变量作为独立预测因子。

加载carsmall数据集,并使用重量,Model_YearMPG变量。

加载carsmall年=分类(Model_Year);tbl1 =表(MPG、重量、年);

适合的线性回归模型MPG利用逐步回归。将启动模型指定为的函数重量。将模型的上限设置为“poly21”,这意味着模型可以包括(至多)的恒定且术语重量,体重^ 2,重量*年。指定“详细”as 2显示评估过程和每一步的决策。

mdl1 = stepwiselm (tbl1,英里/加仑~体重的,“上”,“poly21”,“详细”,2)
增加年份的值是8.2284e-15增加重量^2的值是0.15454 1。添加年份,FStat = 47.5136, pValue = 8.22836e-15,添加重量^2的pValue为0.0022303,添加重量的pValue为0.0071637 2。添加重量^2,FStat = 9.9164, pValue = 0.0022303,添加重量的pValue:年份为0.19519,移除年份为2.9042e-16
mdl1 =线性回归模型:MPG ~体重重量1 + +年+ ^ 2估计系数:估计SE tStat pValue __________ __________和__________(拦截)e-19重量-0.016404 0.0031249 -5.2493 2.6648 54.206 4.7117 11.505 1.0283 e-06 Year_76 Year_82 0.0044137 2.0887 0.71491 2.9215 8.1864 0.81531 10.041 1.5573 2.6364 e-16体重^ 2 e-06 4.9454 e-07 3.149 - 0.0022303的观察:94年,错误自由度:89根均方误差:2.78平方:0.885,调整平方:f统计量0.88与常数模型:172,p-value = 5.52e-41

stepwiselm创建两个指标变量,Year_76Year_82,因为包括三个不同的值。

因为“详细”是2,stepwiselm显示评估过程:

  • stepwiselm创建了一个模型的功能重量

  • stepwiselm计算p- 值添加要么体重^ 2。的p值为小于两个p值为体重^ 2默认阈值为0.05;因此,stepwiselmADDS该模型。

  • stepwiselm计算p- 值添加重量:新年要么体重^ 2。由于p值为体重^ 2小于p值为重量:新年中,stepwiselm功能补充道体重^ 2该模型。

  • 加入二次项后,stepwiselm计算p价值增加重量:新年再次,但p- 值比阈值大。因此,stepwiselm不将术语添加到模型中。stepwiselm不检查添加体重^ 3因为上边界的由指定的“上”名称-值对的论点。

  • stepwiselm查找要删除的项。stepwiselm已经检查了体重^ 2,所以它只是计算p值为删除。由于p- 值是小于0.10的缺省阈值时,stepwiselm不会删除术语。

  • 虽然允许的最大步数是5,stepwiselm终止后两个步骤,因为模型不通过添加或删除一个项改进过程。

stepwiselm将两个指标变量视为一个预测变量并相加在一个步骤。若要将两个指标变量视为两个不同的预测变量,请使用dummyvar创建单独的分类变量。

temp_Year = dummyvar(年);Year_76 =逻辑(temp_Year(:,2));Year_82 =逻辑(temp_Year(:,3));

创建一个包含MPG,重量,Year_76Year_82

tbl2 =表(MPG、重量、Year_76 Year_82);

从相同的初始模型创建一个逐步线性回归模型mdl1

MDL2 = stepwiselm(TBL2,英里/加仑~体重的,“上”,'poly211')
1.加上Year_82, FStat = 83.1956, pValue = 1.76163e-14 2。添加权重:Year_82, FStat = 8.0641, pValue = 0.0055818添加Year_76, FStat = 8.1284, pValue = 0.0054157
MDL2 =线性回归模型:MPG〜1个+ Year_76 +重量* Year_82估计系数:估计SE TSTAT p值__________ _______ __________(截距)38.844 1.5294 25.397 1.503e-42重量-0.006272 0.00042673 -14.698 1.5622e-25 Year_76_1 2.0395 0.71537 2.8510.0054157 Year_82_1 19.607 3.8731 5.0623 2.2163e-06重量:Year_82_1 -0.0046268 0.0014979 -3.0888 0.0026806观测数:94,错误自由度:89均方根误差:2.79 R平方:0.885,调整R平方:0.88 F-统计与常数模型:171,p值= 6.54e-41

该模型mdl2包括相互作用项重量:Year_82_1而不是体重^ 2,该术语包括在mdl1

输入参数

全部收缩

输入数据,包括预测器和响应变量,指定为表或数据集数组。预测变量可以是数字、逻辑、类别、字符或字符串。响应变量必须是数字或逻辑的。

  • 默认情况下,stepwiselm以最后一个变量作为响应变量,其他变量作为预测变量。

  • 设置不同的列作为响应变量,使用ResponseVar名称-值对的论点。

  • 要使用的列作为预测的一个子集,使用PredictorVars名称-值对的论点。

  • 若要定义模型规范,请设置modelspec使用公式或术语矩阵的参数。公式或术语矩阵指定使用哪些列作为预测器或响应变量。

在一个表中的变量名不一定是有效的MATLAB®标识符。但是,如果名称无效,则不能在拟合或调整模型时使用公式;例如:

  • 你不能指定modelspec使用一个公式。

  • 你不能用一个公式来指定的条款中添加或当您使用删除addTerms功能或removeTerms功能,分别。

  • 你不能用一个公式时使用指定型号的上限和下限一步要么stepwiselm用名称 - 值对的参数函数“低”“上”, 分别。

您可以验证的变量名中资源描述通过使用isvarname函数。下面的代码返回逻辑1(真正)对于具有合法的变量名每个变量。

cellfun(@ isvarname,tbl.Properties.VariableNames)
如果变量名资源描述是无效的,然后使用它们转换matlab.lang.makeValidName函数。
tbl.Properties。VariableNames = matlab.lang.makeValidName (tbl.Properties.VariableNames);

预测变量,指定为n-通过-p矩阵,其中n是观测值和p是预测变量的数目。的每一列X表示一个变量,每一行表示一个观察值。

默认情况下,模型中有一个常数项,除非您显式地删除它,否则不要在其中包含1列X

数据类型:|

响应变量,指定为n1的向量,n是观测值的数量。在每个条目y对应行的响应是X

数据类型:||逻辑

开始逐步回归模型,具体如下:

  • 一个特征向量或串标命名模型。

    模型类型
    '不变' 模型只包含一个常数(截距)项。
    “线性” 模型包含每个预测器的截距和线性项。
    “互动” 模型包含的截距,对于每个预测线性项,以及对不同的预测结果的所有产品(没有平方项)。下载188bet金宝搏
    'purequadratic' 模型包含每个预测项的截距项、线性项和平方项。
    “二次” 模型包含每个预测项的截距项、线性项和平方项,以及不同预测项对的所有乘积。下载188bet金宝搏
    “聚ijk 模型是一个多项式,它的所有项在一定程度上都是多项式在第一预测,学位j在第二个预测中,等等。使用数字0到9指定每个预测器的最大度数。模型中包含交互项,但各交互项的度不超过指定度的最大值。例如,'poly13'具有截距和x1,x2,x22,x23.,x1*x2x1*x22项,其中x1x2分别是第一个和第二个预测因子。
  • 一个t-通过-(p+ 1)矩阵,或者a计算矩阵在模型指定条款,其中t是项数和p是预测变量的1个占响应变量的数量,并且。一个方面矩阵是方便时预测的数量大,并且要以编程方式生成的条件。

  • 表示向量A的字符向量或字符串标量在表单中

    'Y〜术语',

    其中,条款威尔金森符号。公式中的变量名称必须是合法的MATLAB标识符。

如果你想指定模型中最小或最大的项集stepwiselm适合,使用较低的名称-值对参数。

数据类型:烧焦|||

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。的名字是参数的名称和是对应的值。的名字必须出现引号内。您可以按照任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:判据', 'AIC', '上', '相互作用', '冗长',1指示stepwiselm使用赤池信息量准则,显示它需要在每个步骤中的动作,并且包括至多在模型中交互项。

类别变量列表,指定为逗号分隔的对组成'CategoricalVars'以及包含表或数据集数组中的分类变量名的字符向量的字符串数组或单元数组资源描述指示哪些列分类,或逻辑或数字索引向量。

  • 如果数据在表或数据集数组中资源描述,那么,在默认情况下,stepwiselm处理所有分类值,逻辑值,字符数组,字符串数组,和字符向量作为分类变量的单元阵列。

  • 如果数据是在矩阵X的默认值'CategoricalVars'是一个空矩阵[]。也就是说,没有任何变量是无条件的,除非你把它指定为无条件的。

例如,可以指定观察图2和3的6作为使用的以下的实施例或者分类。

例子:'CategoricalVars',[2,3]

例子:'CategoricalVars',逻辑([0 1 1 0 0 0])

数据类型:||逻辑||细胞

条件添加或删除术语,指定为逗号分隔的对,由“标准”这些值之一:

  • “上证所”- - - - - -p- 值对的F-test变化在平方误差的总和,从添加或删除的术语结果

  • “另类投资会议”- Akaike信息准则价值的变化(AIC)

  • 'BIC'-贝叶斯信息准则(BIC)值的变化

  • 'rsquared'-增加的价值R2

  • “adjrsquared”- 增加值的调整R2

例子:“标准”、“bic”

从配合中排除的观察值,指定为逗号分隔的对组成'排除'和一个逻辑或数字索引向量指示从拟合排除的观测。

例如,可以排除观察图2和3的6使用以下实施例任一。

例子:'排除',[2,3]

例子:“排除”,逻辑([0 1 1 0 0 0])

数据类型:||逻辑

指标为常数项(截距)在拟合中,指定为逗号分隔对组成“拦截”,要么真正包括或将常数项从模型中移除。

采用“拦截”只有当指定使用字符向量或标量的字符串,而不是一个公式或矩阵模型。

例子:“拦截”,假的

模型规范描述无法从模型中删除的术语,指定为逗号分隔的对“低”并为选项之一modelspec命名模型。

例子:“低”,“线性”

的要采取的步骤的最大数目,指定为逗号分隔的一对组成的“n步”和一个正整数。

例子:'n步',5

数据类型:|

阈值的判据来添加的一个术语,指定为逗号分隔的一对组成的“囚禁”和标量值,在该表中所描述的。

标准 默认值 决定
“上证所” 0.05 如果p价值的F-统计量小于P输入(p- 值进入),术语添加到模型。
“另类投资会议” 0 如果AIC模型的变化小于P输入,将该术语添加到模型中。
'BIC' 0 如果模型的BIC的变化小于P输入,将该术语添加到模型中。
“Rsquared” 0.1 如果模型的R平方值的增加大于P输入,将该术语添加到模型中。
'AdjRsquared' 0 如果模型调整后的R平方值的增加大于P输入,将该术语添加到模型中。

欲了解更多信息,请参阅标准名称-值对的论点。

例子:“囚禁”,0.075

预测变量在配合使用,指定为逗号分隔的一对组成的“PredictorVars”以及表或数据集数组中变量名的字符向量的字符串数组或单元数组资源描述,或指示哪些列是预测变量的逻辑或数值索引向量。

字符串值或字符向量应该在其中的名称中资源描述或指定的名称'VarNames'名称-值对的论点。

默认值是所有变量X,或所有变量资源描述除了ResponseVar

例如,可以指定第二和第三变量如使用以下实施例任一个预测变量。

例子:'PredictorVars',[2,3]

例子:'PredictorVars',逻辑([0 1 1 0 0 0])

数据类型:||逻辑||细胞

阈值,用于删除一个术语,指定为逗号分隔的对,由“PRemove”和标量值,在该表中所描述的。

标准 默认值 决定
“上证所” 0.10 如果p价值的F-统计量大于PRemove(p-value to remove),从模型中删除该术语。
“另类投资会议” 0.01 如果AIC模型的变化大于PRemove,从模型中移除术语。
'BIC' 0.01 如果模型的BIC值大于PRemove,从模型中移除术语。
“Rsquared” 0.05 如果在模型中的R平方值的增加小于PRemove,从模型中移除术语。
'AdjRsquared' -0.05 如果在模型中的经调整的R平方值的增加小于PRemove,从模型中移除术语。

在每一步,在stepwiselm函数还将检查某个项是否与当前模型中的其他项冗余(线性相关)。当任意项与当前模型中的其他项线性相关时stepwiselm函数删除冗余项,而不考虑准则值。

欲了解更多信息,请参阅标准名称-值对的论点。

例子:“PRemove”, 0.05

在fit中使用的响应变量,指定为逗号分隔的对“ResponseVar”以及一个字符向量或标量的字符串中含有表或数据集数组变量名资源描述或表示哪一列的逻辑或数字索引向量是响应变量。您通常需要使用“ResponseVar”拟合表或数据集阵列时资源描述

例如,您可以指定第四个变量,说收益率,作为响应的六个变量,以下列方式之一。

例子:“ResponseVar”、“收益”

例子:“ResponseVar”, [4]

例子:'ResponseVar',逻辑([0 0 0 1 0 0])

数据类型:||逻辑|烧焦|

模型规格描述拟合的最大集合的术语,指定为逗号分隔的一对组成的“上”并为选项之一modelspec命名模型。

例子:“上部”,“二次”

变量的名称,指定为逗号分隔的对'VarNames'和字符向量的字符串数组或单元数组,包括的列的名称X第一,和用于响应变量名称y最后一次。

'VarNames'并不适用于表或数据集数组变量,因为这些变量已经有了名字。

变量名不必是有效的MATLAB标识符。但是,如果名称无效,则不能在拟合或调整模型时使用公式;例如:

  • 你不能用一个公式来指定的条款中添加或当您使用删除addTerms功能或removeTerms功能,分别。

  • 你不能用一个公式时使用指定型号的上限和下限一步要么stepwiselm用名称 - 值对的参数函数“低”“上”, 分别。

前指定'VarNames',varNames,可以验证其中的变量名varNames通过使用isvarname函数。下面的代码返回逻辑1(真正)对于具有合法的变量名每个变量。

cellfun (@isvarname varNames)
如果变量名varNames是无效的,然后使用它们转换matlab.lang.makeValidName函数。
varNames = matlab.lang.makeValidName(varNames);

例子:VarNames,{“马力”,“加速”,“Model_Year”,“英里”}

数据类型:|细胞

控制的信息的显示,指定为逗号分隔的一对组成的“详细”这些值之一:

  • 0-禁止所有显示。

  • 1- 显示在每一步所采取的行动。

  • 2-显示评估过程和每一步采取的行动。

例子:'冗长',2

观察权重,指定为逗号分隔的一对组成的“权重”n-by-1的非负标量值,其中的矢量n是观测值的数量。

数据类型:|

输出参数

全部收缩

表示最小二乘线性模型拟合响应于数据的,返回为线性模型对象。

对于性能和线性模型对象的方法,MDL线性模型类页面。

更多关于

全部收缩

计算矩阵

一个方面矩阵T是一个t-通过-(p+ 1)矩阵中一个模型,其中指定术语t为项数,p是预测变量的1个占响应变量的数量,并且。的价值T(I,J)是变量的指数吗j在术语

例如,假设一个输入包含三个预测变量一个,BC响应变量Y的顺序一个,B,CY。每行T代表一个术语:

  • [0 0 0 0]- 常量术语或截距

  • [0 1 0 0]- - - - - -B;等价地,甲^ 0 * B ^ 1 * C ^ 0

  • [1 0 1 0]- - - - - -* C

  • [2 0 0 0]- - - - - -^ 2

  • [0 1 2 0]- - - - - -B *(C ^ 2)

0在每个术语的末尾表示响应变量。一般情况下,terms矩阵中的零列向量表示响应变量的位置。如果在矩阵和列向量中有预测器和响应变量,则必须包括0对于每行最后一列中的响应变量。

模型规范的公式是该形式的字符向量或字符串标量Y~条款

  • Y是响应名称。

  • 条款表示使用威尔金森符号在模型预测方面。

例如:

  • 'Y〜A + B + C'指定与截距的三变量线性模型。

  • 'Y〜A + B + C - 1'指定一个没有截距的三变量线性模型。注意,公式默认包含一个常数(截距)项。要从模型中排除常数项,必须包含-1的公式。

威尔金森符号

威尔金森符号描述的条款提出的模型。符号涉及的术语呈现在一个模型中,而不是那些术语的乘数(系数)。

威尔金森表示法使用这些符号:

  • +平均值包括下一个变量。

  • - - - - - -意味着不包含下一个变量。

  • :定义一个交互,它是术语的乘积。

  • *定义一个交互和所有低阶术语。

  • ^将预测器提升到一次方,完全一样*重复,所以^包括低级次项为好。

  • ()组条件。

这个表展示了威尔金森符号的典型例子。

威尔金森符号 术语标准符号
1 常数(拦截)
^ k,其中k是一个正整数 一个,一个2、……一个k
A + B 一个,B
A * B 一个,B,A * B
A:B A * B只有
-B 不包括B
A * B + C 一个,B,C,A * B
A + B + C + A:B 一个,B,C,A * B
* B * C - A: B: C 一个,B,C,A * B,* C,公元前
A *(B + C) 一个,B,C,A * B,* C

统计和机器学习工具箱™符号总是包含常数项,除非你明确地使用删除项-1

有关详细信息,请参阅威尔金森符号

提示

  • 不能使用稳健回归与逐步回归。检查您的数据离群使用前stepwiselm

  • 对于其他方法,例如方差分析的,或性质线性模型对象,看到线性模型

  • 在训练一个模型之后,您可以生成C/ c++代码来预测新数据的响应。生成C/ c++代码需要MATLAB编码器™。有关详细信息,请参阅介绍代码生成

算法

  • 逐步回归是一种根据响应变量的统计意义从线性或广义线性模型中添加或删除项的系统方法。该方法从一个初始模型开始,使用modelspec,然后比较大小递增模型的解释能力。

    stepwiselm函数使用前向和后向逐步回归来确定最终的模型。在每个步骤中,该函数根据的值搜索要添加到模型或从模型中删除的项“标准”名称-值对的论点。

    默认值“标准”对于线性回归模型是“上证所”。在这种情况下,stepwiselm一步线性模型使用p- 值的F-统计测试模型的每一步是否有一个潜在的术语。如果某项当前不在模型中,则零假设是,如果将该项添加到模型中,则该项的系数为零。如果有足够的证据来拒绝原假设,则该函数将该项添加到模型中。相反,如果一个项当前在模型中,则零假设是该项的系数为零。如果没有足够的证据来拒绝原假设,该函数将从模型中删除该项。

    逐步回归采取这些步骤时“标准”“上证所”:

    1. 适合初始模型。

    2. 检查一组不在模型中的可用术语。如果有的话p-小于入口公差的值(也就是说,如果向模型中添加的项不太可能系数为零),则添加具有最小值的项p- 值并重复此步骤;否则,转到步骤3。

    3. 如果模型中的任何可用的条款有p-大于出口容限的值(即不能拒绝零系数的假设),删除最大的项p- 值和返回到步骤2;否则,结束处理。

    在任何阶段,该功能不会增加高阶项,如果模型没有包括那些高阶项的子集所有低阶条款。例如,该功能不会尝试添加术语X1, X2 ^ 2除非两X1X2 ^ 2已经在模型中。同样,该功能不会删除是高阶项子集保留在模型低阶条款。例如,该功能不会尝试删除X1要么X2 ^ 2如果X1, X2 ^ 2仍然在模型中。

    默认值“标准”对于广义线性模型是“越轨”stepwiseglm一步GeneralizedLinearModel遵循用于添加或删除的术语类似的过程。

    属性指定其他条件“标准”名称-值对的论点。例如,您可以指定在赤池信息准则值的变化,贝叶斯信息准则,R平方,或经调整的R平方为准绳,以添加或删除条款。

    根据包含在初始模型中的项,并在其中的作用增加的顺序及排除条款,该功能可能会从同一组潜在的术语建立不同的模型。当没有单个步骤提高了模型的功能终止。然而,不同的初始模型或步骤不同的顺序并不能保证更好的贴合。在这个意义上,逐步模型是局部最优的,但可能不是全局最优。

  • stepwiselm对分类预测因子的处理如下:

    • 与具有一个分类预测模型l包括水平(类别)l- 1指标变量。该模型使用第一个类别作为参考级别,因此它不包含参考级别的指标变量。如果分类预测器的数据类型为分类,那么你可以通过检查类别的顺序类别和重新排序的类别,通过使用reordercats自定义参考电平。

    • stepwiselm治疗组l- 1指示器变量作为单一变量。如果你想治疗的指标变量作为不同的预测变量,通过使用手动创建指标变量dummyvar。然后使用指针变量,除了对应于所述分类变量的参考电平之一,当你适合的模型。对于分类预测X如果您指定的所有列dummyvar (X)而截距项作为预测项,则设计矩阵存在秩亏。

    • 连续预测项和分类预测项之间的交互项l级别由元素-明智的乘积组成l- 1指标变量与连续预测。

    • 有两个分类预测变量之间的相互作用方面l水平由的(l- 1)*(- 1)指标变量,包括两个分类预测级别的所有可能的组合。

    • 你不能为分类预测指定高阶项,因为指标的平方等于本身。

    因此,如果stepwiselm添加或删除一个分类预测器,该函数实际上在一步中添加或删除一组指标变量。类似地,如果stepwiselm添加或删除与范畴预测器的交互项,该函数实际上添加或删除包括范畴预测器在内的一组交互项。

  • stepwiselm认为,“”(空字符向量),“”(空字符串),<失踪><定义>资源描述,XY是缺失值。stepwiselm不与配合缺失值使用的意见。的ObservationInfo一个拟合模型的属性指示是否stepwiselm使用每个观察在适合。

选择功能

介绍了R2013b