主要内容

一步

通过添加或删除项来改进广义线性回归模型

描述

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

例子

NewMdl=步骤(mdl名称,值使用一个或多个名称值对参数指定其他选项。例如,您可以指定用于添加或删除术语和最大步骤数的标准。

例子

全部折叠

使用随机数据和单个预测器拟合泊松回归模型,然后使用一步通过添加或删除预测项来改进模型。

生成具有20个预测变量的样本数据。使用三个预测器来生成泊松响应变量。

rng (“默认”%的再现性20 X = randn (100);mu = exp(X(:,[5 10 15])*[.4;.2;3) + 1);y = poissrnd(μ);

建立广义线性回归模型的泊松数据使用X (:, 2)作为唯一的预言者。

mdl = fitglm(x,y,'y〜x2'“分布”“泊松”
mdl =广义线性回归模型:log(y) ~ 1 + x2分布= Poisson估计系数:估计SE tStat pValue ________ ________ _______ __________ (Intercept) 1.1386 0.056722 20.073 1.2817e-89 x2 0.010768 0.056564 0.19037 0.84902 100个观测值,98个误差自由度分散:1 Chi^2-statistic vs. constant模型:0.0362, p-value = 0.849

改善mdl通过使用一步.指定'nsteps'为5,允许最多5步的逐步回归。

mdl1 =步骤(mdl,'nsteps'5)
1.添加X5,Deviance = 134.4375,Chi2stat = 52.21338,Pvalue = 4.978574E-13 2.添加X15,偏差= 106.1925,Chi2stat = 28.24496,Pvalue = 1.068927E-07 3.添加X10,Deviance = 94.708,Chi2stat = 11.4845,pvalue = 0.000701792 4.去除X2,偏差= 95.021,Chi2stat = 0.31263,Pvalue = 0.57607
MDL1 =广义线性回归模型:log(y)〜1 + x5 + x10 + x15分布=泊松估计系数:估计se tstat pvalue _____________________________________________________________________________________________________________09 x10 0.18863 0.05534 3.4085 0.053269 x15 0.2995 0.053269 5.4995 3.80892-08 100观察结果,96误差自由色散:1 chi ^ 2统计与常数型号:91.7,p值= 9.61e-20

一步将用于生成响应变量的三个预测变量添加到模型中并删除X (:, 2)从模型。

输入参数

全部折叠

广义线性回归模型,指定为GeneralizedLinearModel使用的对象fitglmstepwiseglm

名称-值对的观点

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

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

条件来添加或删除指定为逗号分隔对的项,由“标准”其中一个价值观是:

  • “异常”-P.价值的F-对增加或删除项的偏差变化进行检验或卡方检验。这F-test对单个模型进行检验,卡方检验对两个不同的模型进行比较。

  • 上交所的-P.价值的F-增加或删除项的平方和误差变化的检验。

  • 'AIC'—修改AIC (Akaike information criterion)的值。

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

  • “rsquared”-增加价值R.2

  • “adjrsquared”-调整值增加R.2

例子:“标准”、“bic”

模型规范描述无法从模型中删除的术语,指定为包括的逗号分隔对“低”其中一个价值观是:

  • 命名模型的字符向量或字符串标量。

    价值 模型类型
    “不变” 模型只包含一个常数(截距)项。
    “线性” 模型包含每个预测器的截距和线性术语。
    “互动” 模型包含每个预测器的截距,线性项,以及对不同预测器的所有乘积(没有平方项)。s manbetx 845
    'purequadratic' 模型包含截距项、线性项和平方项。
    “二次” 模型包含每个预测器的截距项、线性项和平方项,以及对不同预测器的所有乘积。s manbetx 845
    “聚ijk' 模型是一个多项式,所有项都达到次一世第一个预测因子是程度j在第二个预测中,等等。通过使用数字0到9指定每个预测器的最大程度。模型中包含交互项,但每个交互项的程度不超过指定程度的最大值。例如,“poly13”有一个拦截和X1X2X22X23.X1*X2,X1*X22条款,X1X2分别是第一和第二预测因素。
  • 一种T.————(P.+ 1)矩阵,或者a计算矩阵,在模型中指定项,其中T.是术语数量,P.为预测变量的个数,+1表示响应变量。当预测器的数量很大且您希望以编程方式生成术语时,术语矩阵是很方便的。

  • 字符向量或字符串标量公式在形式

    “Y ~条款”

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

例子:“低”,“线性”

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

要采取的最大步骤数,指定为逗号分隔的对,包括'nsteps'一个正整数。

例子:'nsteps',5

数据类型:|

添加术语的标准的阈值,指定为包括的逗号分隔对“囚禁”和标量值,如本表中所述。

标准 默认值 决定
“异常” 0.05 如果P.价值的F-统计量或卡方统计量小于被关闭的P.-value to enter),将术语添加到模型中。
上交所的 0.05 如果P.价值的F-统计数字小于被关闭的,将术语添加到模型中。
“另类投资会议” 0. 如果模型的AIC的变化小于被关闭的,将术语添加到模型中。
“BIC” 0. 如果模型中BIC的变化小于被关闭的,将术语添加到模型中。
“Rsquared” 0.1 如果模型的r平方值增加大于被关闭的,将术语添加到模型中。
“AdjRsquared” 0. 如果模型调整后的r平方值增加大于被关闭的,将术语添加到模型中。

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

例子:“囚禁”,0.075

用于删除术语的条件的阈值,指定为逗号分隔对,由“PRemove”和标量值,如本表中所述。

标准 默认值 决定
“异常” 0.10 如果P.价值的F-统计量或卡方统计量大于PRemoveP.-value to remove),从模型中移除术语。
上交所的 0.10 如果P.价值的F-统计量大于PRemove,将该术语从模型中删除。
“另类投资会议” 0.01 如果模型AIC的变化大于PRemove,将该术语从模型中删除。
“BIC” 0.01 如果模型中BIC的变化大于PRemove,将该术语从模型中删除。
“Rsquared” 0.05 如果模型r平方值的增加小于PRemove,将该术语从模型中删除。
“AdjRsquared” -0.05 若模型调整后的r平方值增加小于PRemove,将该术语从模型中删除。

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

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

例子:“PRemove”,0.05

模型规范描述了最大的适合的术语集,指定为逗号分隔对组成'上'其中一个价值观是:

  • 命名模型的字符向量或字符串标量。

    价值 模型类型
    “不变” 模型只包含一个常数(截距)项。
    “线性” 模型包含每个预测器的截距和线性术语。
    “互动” 模型包含每个预测器的截距,线性项,以及对不同预测器的所有乘积(没有平方项)。s manbetx 845
    'purequadratic' 模型包含截距项、线性项和平方项。
    “二次” 模型包含每个预测器的截距项、线性项和平方项,以及对不同预测器的所有乘积。s manbetx 845
    “聚ijk' 模型是一个多项式,所有项都达到次一世第一个预测因子是程度j在第二个预测中,等等。通过使用数字0到9指定每个预测器的最大程度。模型中包含交互项,但每个交互项的程度不超过指定程度的最大值。例如,“poly13”有一个拦截和X1X2X22X23.X1*X2,X1*X22条款,X1X2分别是第一和第二预测因素。
  • 一种T.————(P.+ 1)矩阵,或者a计算矩阵,在模型中指定项,其中T.是术语数量,P.为预测变量的个数,+1表示响应变量。当预测器的数量很大且您希望以编程方式生成术语时,术语矩阵是很方便的。

  • 字符向量或字符串标量公式在形式

    “Y ~条款”

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

例子:“上”、“二次”

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

控制信息显示,指定为逗号分隔的对“详细”其中一个价值观是:

  • 0.—禁止所有显示。

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

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

例子:“详细”,2

输出参数

全部折叠

广义线性回归模型,作为一个返回GeneralizedLinearModel对象。

覆盖输入参数mdl,将新模型分配给mdl

mdl =步骤(mdl);

更多关于

全部折叠

计算矩阵

一个条件矩阵T.是一个T.————(P.+ 1)指定模型中的项的矩阵,其中T.是术语数量,P.为预测变量的个数,+1表示响应变量。的价值T (i, j)是变量的指数j在术语一世

例如,假设一个输入包含三个预测变量x1x2,x3和响应变量y按顺序x1x2x3,y.每一行的T.代表一个术语:

  • [0 0 0]- 常数术语或拦截

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

  • [1 0 1 0]-x1 * x3

  • [2 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.是一个正整数 x1x12、……x1K.
x1 + x2 x1x2
x1 * x2 x1x2x1 * x2
x1, x2 x1 * x2只有
x2 不包括x2
x1 * x2 + x3 x1x2x3x1 * x2
X1 + x2 + x3 + X1:x2 x1x2x3x1 * x2
x1 * x2 * x3 - x1, x2, x3 x1x2x3x1 * x2x1 * x3x2 * x3
x1 *(x2 + x3) x1x2x3x1 * x2x1 * x3

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

算法

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

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

    的默认值“标准”对于线性回归模型是上交所的.在这种情况下,stepwiselm一步LinearModel使用P.- A.F- 在每个步骤中使用和没有潜在术语的测试模型。如果术语当前不是该模型中,则返回null假设是如果添加到模型中,术语将具有零系数。如果有足够的证据来拒绝零假设,则该函数将术语添加到模型中。相反,如果术语当前在模型中,则空假设是该术语具有零系数。如果没有足够的证据来拒绝空假设,则该函数从模型中删除术语。

    逐步回归采用这些步骤时“标准”上交所的

    1. 适合初始模型。

    2. 检查一组不在模型中的可用术语。如果有任何条款P.-Values小于入射容差(即,如果在模型中添加了零系数的术语不太可能的,则,如果添加到模型中,则添加最小的术语P.-value并重复此步骤;否则,请转步骤3。

    3. 如果模型中有任何可用的条款P.-值大于退出公差(即不能拒绝系数为零的假设),删除最大的项P.-value和返回步骤2;否则,结束该进程。

    在任何阶段,如果该模型也不包括较高阶项的子集的所有低阶项,则该函数将不会添加高阶项。例如,该函数不会尝试添加该术语X1, X2 ^ 2除非两X1X2 ^ 2已经在模型中了。类似地,该函数不会删除模型中保留的高阶项子集的低阶项。例如,函数不会尝试删除X1X2 ^ 2如果X1, X2 ^ 2保持在模型中。

    的默认值“标准”对于广义的线性模型是“异常”stepwiseglm一步GeneralizedLinearModel按照类似的程序添加或删除术语。

    属性可以指定其他条件“标准”名称-值对的论点。例如,您可以指定Akaike信息标准、贝叶斯信息标准、r平方或调整的r平方的值的更改作为添加或删除项的标准。

    根据初始模型中包含的术语以及函数添加和删除术语的顺序,该函数可以从同一组潜在术语构建不同的模型。当没有单个步骤改进模型时,该函数终止。然而,不同的初始模型或不同的步骤序列并不能保证更好的匹配。从这个意义上说,逐步模型是局部最优的,但可能不是全局最优的。

  • 一步对分类预测器的处理如下:

    • 具有分类预测指标的模型L.包括水平(类别)L.- 1指标变量。模型使用第一个类别作为参考级别,因此不包含参考级别的指标变量。如果分类预测器的数据类型为分类,则可以使用类别并通过使用重新排序类别reordercats自定义参考级别。创建指标变量的详细信息请参见虚拟变量的自动创建

    • 一步对待一组L.- 1指示器变量作为一个单独的变量。如果您想将指示器变量视为不同的预测变量,可以使用戴维尔.然后在拟合模型时,使用除分类变量参考水平对应的指标变量外的其他指标变量。对于绝对预测器X,如果指定的所有列dummyvar (X)并以截距项作为预测因子,使设计矩阵秩亏缺。

    • 连续预测器和分类预测器之间的交互项L.层次由元素的乘积组成L.- 1带有连续预测器的指标变量。

    • 两个类别预测因子之间的交互项L.m级别包括L.- 1)*(m- 1)指标变量包括两个分类预测水平的所有可能组合。

    • 不能为绝对预测器指定高阶项,因为指示器的平方等于它本身。

    因此,如果一步添加或删除分类预测器,函数实际上在一步中添加或删除指示器变量组。同样,如果一步添加或删除带有分类预测器的交互项,该函数实际添加或删除包含分类预测器的交互项组。

  • 一步认为(空字符向量),(空字符串),< >失踪,<定义>资源描述X,y丢失值。一步不使用缺少匹配值的观测值。这ObservationInfo拟合模型的性质表明是否一步把每个观察结果都用在合适的地方。

选择功能

  • 使用stepwiseglm在初始模型中指定术语,并继续改进模型,直到没有任何添加或删除术语的步骤是有益的。

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

扩展功能

介绍了R2012a