主要内容

一步

通过添加或删除条款提高线性回归模型

描述

NewMdl=步骤(mdl)返回一个基于线性回归模型mdl用逐步回归来添加或删除一个预测。

例子

NewMdl=步骤(mdl,名称,值)使用一个或多个指定附加选项名称-值对参数。例如,您可以指定要使用的标准添加或删除条款和步骤的最大数量。

例子

全部折叠

适合一个线性回归模型和使用一步提高模型的添加或删除。这个例子也描述了一步函数将一个分类预测。

加载carsmall使用数据集,并创建一个表重量,Model_Year,英里/加仑变量。

负载carsmalltbl1 =表(MPG、重量);tbl1。一年= categorical(Model_Year);

创建一个线性回归模型英里/加仑的函数重量

mdl1 = fitlm (tbl1,英里/加仑~体重的)
mdl1 =线性回归模型:MPG ~ 1 +重量估计系数:估计SE tStat pValue __________ _____ _________ __________(拦截)e-49重量-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

调整模型包括“二次”通过使用条款一步。指定“NSteps”5允许最多5步骤逐步回归。指定“详细”2显示评价过程和决策采取每一步。

NewMdl1 =步骤(mdl1,“上”,“二次”,“NSteps”5,“详细”,2)
pValue添加一年是8.2284 e15汽油pValue添加重量^ 2是0.15454 - 1。增加一年,FStat = 47.5136, pValue = 8.22836 e15汽油pValue添加重量:0.0071637年pValue添加重量^ 2是0.0022303 - 2。增加体重^ 2,FStat = 9.9164, pValue = 0.0022303 pValue添加重量:0.19519年e-16 pValue消除年是2.9042
NewMdl1 =线性回归模型: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,调整平方:0.88 f统计量与常数模型:172年,假定值= 5.52 e-41

一步创建两个指标变量,Year_76Year_82,因为一年包括三个不同的值。一步没有考虑指标变量的平方项,因为一个指标变量的平方。

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

  • 一步计算p值添加一年体重^ 2。的p值为一年小于两个吗p值为体重^ 2和0.05的默认阈值;因此,一步增加了一年到模型中。

  • 一步计算p值添加重量:一年体重^ 2。因为p值为体重^ 2小于p值为重量:一年,一步功能补充道体重^ 2到模型中。

  • 在添加二次项之后,一步计算p价值增加重量:一年再次,但p值大于阈值。因此,一步不将项添加到模型。一步不检查添加体重^ 3因为指定的上限“上”名称-值对的论点。

  • 一步查找删除。一步已经检查了体重^ 2,所以它只计算p值为删除一年。因为p值小于0.10的默认阈值,一步不移除项。

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

一步将两个指标变量作为一个预测变量和补充道一年在一个步骤。把两个指标变量作为两种不同的预测变量,使用dummyvar创建单独的分类变量。

temp_Year = dummyvar (tbl1.Year);Year_76 = temp_Year (:, 2);Year_82 = temp_Year (: 3);

创建一个表包含英里/加仑,重量,Year_76,Year_82

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

创建一个线性回归模型英里/加仑的函数重量,并使用一步改善模型。

mdl2 = fitlm (tbl2,英里/加仑~体重的);NewMdl2 =步骤(mdl2,“上”,“二次”,“NSteps”5)
1。添加Year_82 FStat = 83.1956, pValue = 1.76163 e-14 2。增加体重:Year_82 FStat = 8.0641, pValue = 0.0055818 3。添加Year_76, FStat = 8.1284, pValue = 0.0054157
NewMdl2 =线性回归模型:MPG ~ 1 + Year_76 +重量* Year_82估计系数:估计SE tStat pValue __________ __________和__________(拦截)e-42重量-0.006272 0.00042673 -14.698 1.503 38.844 1.5294 25.397 1.5622 e-25 Year_76 Year_82 0.0054157 2.0395 0.71537 2.851 19.607 3.8731 5.0623 2.2163 e-06重量:Year_82 -0.0046268 0.0014979 -3.0888 0.0026806的观测数量:94年,错误自由度:89根均方误差:2.79平方:0.885,调整平方:0.88 f统计量与常数模型:171年,假定值= 6.54 e-41

该模型NewMdl2包括交互项重量:Year_82而不是体重^ 2,包括在这个词NewMdl1

输入参数

全部折叠

线性回归模型,指定为一个LinearModel对象创建使用fitlmstepwiselm

您可以使用一步只有当你创建mdl通过使用fitlm“RobustOpts”名称-值对参数设置为默认“关闭”

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“标准”、“另类投资会议”,“上”、“二次”、“详细”,2指示一步使用Akaike信息标准,包括二次项(最多)模型,并显示每一步采取的评价过程和决策。

标准添加或删除项,指定为逗号分隔组成的“标准”这些值之一:

  • 上交所的- - - - - -p价值的F以及变化的平方误差的总和,结果添加或删除

  • “另类投资会议”——改变Akaike信息的价值标准(AIC)

  • “bic”贝叶斯信息准则的价值变化(BIC)

  • “rsquared”——增加的价值R2

  • “adjrsquared”——增加价值的调整R2

例子:“标准”、“bic”

模型规范描述术语不能从模型中删除,指定为逗号分隔组成的“低”这些值之一:

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

    价值 模型类型
    “不变” 模型只包含一个常数(拦截)。
    “线性” 模型包含一个为每个预测拦截和线性项。
    “互动” 模型包含一个拦截,为每个预测线性项,和所有的产品对不同的预测(无平方项)。s manbetx 845
    “purequadratic” 模型包含一个截距项为每个预测和线性平方项。
    “二次” 模型包含一个拦截的术语,为每个预测线性和平方项,和所有的产品对不同的预测。s manbetx 845
    “聚ijk 模型是一个多项式与学位的所有条款在第一个预测,学位j在第二个预测,等等。为每个预测指定最大程度利用数字0到9。模型包含交互条款,但每个交互项的程度不超过指定的度的最大值。例如,“poly13”有一个拦截和x1,x2,x22,x23,x1*x2,x1*x22条款,x1x2分别是第一和第二预测。
  • 一个t————(p+ 1)矩阵,或计算矩阵在模型中指定条件,t术语的数量,p预测变量的数量,+ 1占响应变量。矩阵是方便当预测的数量很大,你想以编程方式生成条件。

  • 一个特征向量或字符串标量公式在表单中

    “Y ~条款”,

    在哪里条款威尔金森符号。公式中的变量名必须是有效的MATLAB®标识符。

例子:“低”,“线性”

数据类型:||字符|字符串

最大数量的步骤,指定为逗号分隔组成的“NSteps”和一个正整数。

例子:“NSteps”, 5

数据类型:|

阈值标准添加项,指定为逗号分隔组成的“囚禁”和一个标量值,在这个表中描述。

标准 默认值 决定
上交所的 0.05 如果p价值的F统计量小于被关闭的(p输入值),将项添加到模型中。
“另类投资会议” 0 如果模型的AIC的变化小于被关闭的词添加到模型。
“BIC” 0 如果模型的BIC的变化小于被关闭的词添加到模型。
“Rsquared” 0.1 如果模型的平方值的增加大于被关闭的词添加到模型。
“AdjRsquared” 0 如果增加模型的平方值大于调整被关闭的词添加到模型。

有关更多信息,请参见标准名称-值对的论点。

例子:“囚禁”,0.075

阈值标准删除一个术语,指定为逗号分隔组成的“PRemove”和一个标量值,在这个表中描述。

标准 默认值 决定
上交所的 0.10 如果p价值的F统计量大于PRemove(p值删除),从模型中删除这个词。
“另类投资会议” 0.01 如果模型的AIC的变化大于PRemove从模型中,删除这个词。
“BIC” 0.01 如果模型的BIC的变化大于PRemove从模型中,删除这个词。
“Rsquared” 0.05 如果模型的平方值的增加小于PRemove从模型中,删除这个词。
“AdjRsquared” -0.05 如果增加模型的平方值小于调整PRemove从模型中,删除这个词。

在每一步,一步函数也检查是否一个术语是多余的(线性相关的)与其他条款在当前的模型。当任何一项是线性相关与其他条款在当前模型,一步函数删除冗余项,无论价值标准。

有关更多信息,请参见标准名称-值对的论点。

例子:“PRemove”, 0.05

模型规范描述最大的组条件适合时,指定为逗号分隔组成的“上”这些值之一:

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

    价值 模型类型
    “不变” 模型只包含一个常数(拦截)。
    “线性” 模型包含一个为每个预测拦截和线性项。
    “互动” 模型包含一个拦截,为每个预测线性项,和所有的产品对不同的预测(无平方项)。s manbetx 845
    “purequadratic” 模型包含一个截距项为每个预测和线性平方项。
    “二次” 模型包含一个拦截的术语,为每个预测线性和平方项,和所有的产品对不同的预测。s manbetx 845
    “聚ijk 模型是一个多项式与学位的所有条款在第一个预测,学位j在第二个预测,等等。为每个预测指定最大程度利用数字0到9。模型包含交互条款,但每个交互项的程度不超过指定的度的最大值。例如,“poly13”有一个拦截和x1,x2,x22,x23,x1*x2,x1*x22条款,x1x2分别是第一和第二预测。
  • 一个t————(p+ 1)矩阵,或计算矩阵在模型中指定条件,t术语的数量,p预测变量的数量,+ 1占响应变量。矩阵是方便当预测的数量很大,你想以编程方式生成条件。

  • 一个特征向量或字符串标量公式在表单中

    “Y ~条款”,

    在哪里条款威尔金森符号。公式中的变量名必须是有效MATLAB标识符。

例子:“上”、“二次”

数据类型:||字符|字符串

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

  • 0——抑制所有显示。

  • 1——显示每一步的行动。

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

例子:“详细”,2

输出参数

全部折叠

线性回归模型中,作为一个返回LinearModel对象

覆盖输入参数mdl,分配新模式mdl

mdl =步骤(mdl);

更多关于

全部折叠

计算矩阵

一个条件矩阵T是一个t————(p+ 1)矩阵指定术语在一个模型中,在那里t术语的数量,p预测变量的数量,+ 1占响应变量。的价值T (i, j)是变量的指数吗j在术语

例如,假设一个输入包括三个预测变量x1,x2,x3和响应变量y的顺序x1,x2,x3,y。每一行的T代表一个术语:

  • [0 0 0 0]——常数项或拦截

  • [0 1 0 0]- - - - - -x2;同样,x1 ^ 0 * x2 ^ 1 * x3 ^ 0

  • (1 0 1 0)- - - - - -x1 * x3

  • (2 0 0 0)- - - - - -x1 ^ 2

  • [0 1 2 0]- - - - - -x2 * (x3 ^ 2)

0的每一项代表了响应变量。一般来说,一个列向量的零矩阵代表反应变量的位置。如果你有预测和响应变量在一个矩阵列向量,然后你必须包括0为响应变量在每一行的最后一列。

公式

规范是一个特征向量公式模型或字符串标量的形式y~条款

  • y是响应的名字。

  • 条款威尔金森代表了预测计算模型中使用符号。

代表预测和响应变量,使用的变量名称表输入资源描述或通过使用指定的变量名VarNames。的默认值VarNames{x1, x2,…,‘xn’,‘y’}

例如:

  • “y ~ x1 + x2 + x3”指定一个有三线性模型与拦截。

  • “y ~ x1 + x2 + x3 - 1”指定一个有三线性模型没有拦截。注意公式包括一个常数(拦截)默认项。排除一个常数项的模型中,您必须包括1的公式。

一个公式包括常数项,除非你显式地删除术语使用1

威尔金森符号

威尔金森符号描述术语出现在一个模型。符号相关条款存在于一个模型,而不是乘数(系数)的条款。

威尔金森符号使用这些符号:

  • +意味着包括下一个变量。

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

  • :定义了一个交互,这是一个产品的术语。

  • *定义了一个交互和所有低阶项。

  • ^提高预测能力,完全一样*重复,所以^包括低阶项。

  • ()组条件。

此表显示了威尔金森符号的典型例子。

威尔金森符号 在标准符号
1 常数(拦截)
x1 ^ k,在那里k是一个正整数 x1,x12、……x1k
x1 + x2 x1,x2
x1 * x2 x1,x2,x1 * x2
x1, x2 x1 * x2只有
x2 不包括x2
x1 * x2 + x3 x1,x2,x3,x1 * x2
x1 + x2 + x3 + x1, x2 x1,x2,x3,x1 * x2
x1 * x2 * x3 - x1, x2, x3 x1,x2,x3,x1 * x2,x1 * x3,x2 * x3
x1 * (x2 + x3) x1,x2,x3,x1 * x2,x1 * x3

更多细节,请参阅威尔金森符号

算法

  • 逐步回归是一个系统性的方法来添加和删除从一个线性或广义线性模型基于统计学意义的解释变量的响应。使用指定的方法始于一个初始模型,modelspec,然后比较了增量较大和较小的模型的解释力。

    一步函数使用向前和向后逐步回归来确定最终的模型。每一步,函数搜索条件对模型添加或删除从模型基础上的价值“标准”名称-值对的论点。

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

    逐步回归的时候需要这些步骤“标准”上交所的:

    1. 初始模型。

    2. 检查一组可用的条款不能在模型中。如果任何条款p公差值不到一个入口(也就是说,如果一个词不太可能有一个零系数如果添加到模型),添加术语与最小的p值和重复这个步骤;否则,进入步骤3。

    3. 如果在模型中任何可用的条款p值大于退出公差(即零系数的假设不能被拒绝),删除与最大的术语p值并返回步骤2;否则,结束流程。

    在任何阶段,该函数不会增加一个高阶术语如果模型不包括所有低阶项的高阶项的子集。例如,函数不会试图添加X1, X2 ^ 2除非两X1X2 ^ 2已经在模型中。同样,这个函数不会删除低阶项高阶项保留在模型的子集。例如,函数不会试图删除X1X2 ^ 2如果X1, X2 ^ 2仍然在模型中。

    的默认值“标准”广义线性模型“异常”stepwiseglm一步GeneralizedLinearModel遵循类似的程序添加或删除。

    您可以指定使用的其他标准“标准”名称-值对的论点。例如,您可以指定的值的变化Akaike信息标准,贝叶斯信息准则,平方,或调整的平方为准绳添加或删除。

    根据条款包含在初始模型,和函数的顺序添加和删除条款,该函数可能会建立不同的模型相同的一组潜在的条款。函数终止当没有一步改善模型。然而,不同的初始模型或一个不同的一系列步骤并不能保证一个更好的选择。从这个意义上讲,分段模型的局部最优,但可能不是全局最优。

  • 一步对待分类预测如下:

    • 一个模型的分类预测l包括水平(类别)l- 1指标变量。模型使用第一类作为参考水平,所以它不包括参考的指标变量的水平。如果数据类型的分类预测分类,那你可以检查的顺序分类利用类别通过使用和重新排序的类别reordercats自定义参考水平。关于创建指标变量的更多细节,请参阅自动创建虚拟变量

    • 一步治疗组l- 1作为一个变量指标变量。如果你想把指标变量不同的预测变量,使用手动创建指标变量dummyvar。然后使用指标变量,除了一个对应的参考电平分类变量,当你适应一个模型。的分类预测X如果你指定的所有列dummyvar (X)和一个截距项预测,然后设计矩阵变得不足。

    • 交互条款之间的连续预测和分类预测l由element-wise产品的水平l- 1变量与连续预测指标。

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

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

    因此,如果一步添加或删除分类预测,实际上函数添加或删除的指标变量在一个步骤。类似地,如果一步添加或删除一个交互项分类预测,实际上这个函数添加或删除组交互条款包括分类预测。

选择功能

  • 使用stepwiselm指定条件的模型和持续改进模型开始,直到没有添加或删除一个术语的一步是有益的。

  • 使用addTermsremoveTerms添加或删除特定的术语。

扩展功能

版本历史

介绍了R2012a