主要内容

stepwiselm

进行逐步回归

描述

例子

mdl=逐步(资源描述为表或数据集数组中的变量创建线性模型资源描述使用逐步回归来添加或删除预测,从一个常数模型开始。stepwiselm使用的最后一个变量资源描述作为响应变量。stepwiselm使用正向和向后逐步回归来确定最终模型。在每一步中,该函数都根据属性的值搜索术语,以便向模型中添加或从模型中删除“标准”论点。

例子

mdl=逐步(Xy创建响应的线性模型y到数据矩阵中的预测变量X

例子

mdl=逐步(___modelspec指定起始模型modelspec使用前面语法中的任何输入参数组合。

例子

mdl=逐步(___名称、值使用一个或多个名称-值对参数指定其他选项。例如,您可以指定分类变量,在模型中使用的最小或最大的术语集,采取的最大步骤数,或标准stepwiselm用于添加或删除术语。

例子

全部折叠

加载哈尔德数据集,用于测量水泥成分对其硬化热的影响。

负载哈尔德

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

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

mdl = stepwiselm(成分、热、“囚禁”,0.06)
1.添加x4, FStat = 22.7985, pValue = 0.000576232添加x1, FStat = 108.2239, pValue = 1.105281e-063 .添加x2, FStat = 5.0259, pValue = 0.051687移除x4, FStat = 1.8633, pValue = 0.2054
mdl=线性回归模型:y~1+x1+x2估计系数:估计当前值(截距)52.577 2.2862 22.998 5.4566e-10 x1 1.4683 0.1213 12.105 2.6922e-07 x2 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执行前向选择并添加x4x1,x2术语(按该顺序),因为对应的p-值小于被关闭的值为0.06。stepwiselm然后使用反向消除和删除x4因为,曾经x2是在模型中p价值的x4大于的默认值预先移动0.1点。

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

加载示例数据。

负载医院

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

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

mdl=stepwiselm(医院、,的体重~ 1 +抽烟'...“响应者”“重量”“PredictorVars”,{“性”“年龄”“抽烟”},...“卡尔瓦尔”,{“性”“抽烟”})
1.添加性别,FStat = 770.0158, pValue = 6.262758e-48移除吸烟者,FStat = 0.21224, pValue = 0.64605
mdl = Linear regression model: Weight ~ 1 + Sex Estimated Coefficients: Estimate SE tStat pValue ________ ______ ______ ___________ (Intercept) 130.47 1.1995 108.77 5.2762e-104 Sex_Male 50.06 1.7496 28.612 2.2464e-49观测数:100,误差自由度:98均方根误差:8.73 r²:0.893,校正r²:0.892 F-statistic vs. constant model: 819, p-value = 2.25e-49

在每个步骤中,stepwiselm搜索要添加和删除的词汇。第一步,逐步算法添加性别到模型的a p 6.26 e-48的价值。然后,从模型中删除吸烟者,因为给定性别在模型中,变量吸烟者成为多余的。stepwiselm只包括性别在最终的线性模型中。根据年龄或吸烟状况,患者的体重似乎没有显著差异。

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

负载卡斯莫尔X=[加速度,重量];

使用术语矩阵定义起始模型和上部模型。

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

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

T_starting mdl = stepwiselm (X,英里/加仑,“上”T_upper,“详细”,2)
添加x1的P值为4.0973e-06添加x2的P值为1.6434e-28 1。添加x2,FStat=259.3087,pValue=1.643351e-28添加x1的pValue为0.18493无需删除的候选术语
mdl = Linear regression model: y ~ 1 + x2 Estimated Coefficients: Estimate SE tStat pValue __________ _________ _______ __________ (Intercept) 49.238 1.6411 30.002 2.7015e-49 x2 -0.0086119 0.0005348 -16.103 1.6434e-28观测数:94,误差自由度:92均方根误差:4.13 r平方:0.738,校正r平方:0.735 F-statistic vs. constant model: 259, p-value = 1.64e-28

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

加载卡斯莫尔数据集,并使用重量车型年款,MPG变量。

负载卡斯莫尔年=分类(Model_Year);tbl1 =表(MPG、重量、年);

拟合的线性回归模型MPG采用逐步回归法。将起始模型指定为的函数重量.将模型的上限设置为“poly21”,这意味着模型最多可以包含一个常量和术语重量重量^2一年,体重*年.指定“详细”如2,显示评估过程和每一步所做的决定。

mdl1 = stepwiselm (tbl1,英里/加仑~体重的“上”“poly21”“详细”,2)
添加Year的pValue为8.2284e-15。添加Weight^2的pValue为0.15454 1。添加年份,FStat = 47.5136, pValue = 8.22836e-15添加重量^2的pValue为0.0022303 pValue为添加重量:年份为0.0071637 2。添加Weight^2, FStat = 9.9164, pValue = 0.0022303添加Weight的pValue:Year为0.19519 pValue删除Year为2.9042e-16
mdl1=线性回归模型:MPG~1+权重+年份+权重^2估计系数:估计当前价值uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu(截距)54.206 4.7117 11.505 2.6648e-19权重-0.016404 0.0031249-5.2493 1.0283e-06年(U 76 2.0887 0.71491 2.9215 0.0044137年)82 8.1864 0.81531 10.041 2.6364e-16权重^2 1.5573e-06 4.9454e-07 3.149 0.00222303观察次数:94,误差自由度:89均方根误差:2.78 R平方:0.885,调整后的R平方:0.88 F统计与常数模型:172,p值=5.52e-41

stepwiselm创建两个指标变量,第76年第82年,因为一年包括三个不同的值。

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

  • stepwiselm创建一个模型作为重量

  • stepwiselm计算p-用于添加的值一年重量^2.的p值为一年比两者都少p值为重量^2且默认阈值为0.05;因此,stepwiselm加上一年到模型中。

  • 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创建单独的分类变量。

温度年=dummyvar(年);年份=逻辑(临时年份(:,2));年份82=逻辑(临时年份(:,3));

创建一个包含MPG重量第76年,第82年

tbl2=表(MPG,重量,第76年,第82年);

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

mdl2=逐步LM(tbl2,英里/加仑~体重的“上”“poly211”
1.添加Year_82, FStat = 83.1956, pValue = 1.76163e-14添加重量:Year_82, FStat = 8.0641, pValue = 0.0055818添加Year_76, FStat = 8.1284, pValue = 0.0054157
mdl2 =线性回归模型:MPG ~ 1 + Year_76 + Weight*Year_82Estimate SE tStat pValue __________ __________ _______ __________ (Intercept) 38.844 1.5294 25.397 1.503e-42 Weight -0.006272 0.00042673 -14.698 1.5622e-25 Year_76_1 2.0395 0.71537 2.851 0.0054157 Year_82_1 19.607 3.8731 5.0623 2.2163e-06 Weight:Year_82_1 -0.0046268 0.0014979 -3.0888 0.0026806观测数:94、误差自由度:89均方根误差:2.79 R-squared: 0.885,调整R-squared: 0.88 F-statistic vs. constant model: 171, p-value = 6.54e-41

模型mdl2包括交互项重量:Year_82_1而不是重量^2,包括在其中的术语mdl1

输入参数

全部折叠

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

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

  • 要将其他列设置为响应变量,请使用ResponseVar名称-值对的论点。

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

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

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

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

  • 使用时,不能使用公式指定要添加或删除的术语addTerms函数或removeTerms函数,分别。

  • 属性时,不能使用公式来指定模型的上下限一步stepwiselm函数的名称-值对参数“低”“上”分别地

您可以验证变量名资源描述通过使用isvarname作用如果变量名无效,则可以使用matlab.lang.makeValidName函数。

预测变量,指定为n-借-p矩阵,在哪里n是观察次数和p是预测变量的数量。每列X表示一个变量,每行表示一个观察值。

默认情况下,模型中有一个常数项,除非你明确地删除它,所以不要在其中包含一列1X

数据类型:|双重的

响应变量,指定为n-by-1向量,其中n是观察数。中的每个条目y对应一行的响应是X

数据类型:|双重的|逻辑

逐步回归的起始模型,指定为以下之一:

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

    价值 模型类型
    “常数” 模型只包含一个常量(截距)项。
    “线性” 模型包含每个预测器的截距和线性项。
    “互动” 该模型包含一个截距、每个预测器的线性项以及不同预测器对的所有乘积(无平方项)。s manbetx 845
    “纯二次型” 模型包含截距项、线性项和平方项。
    “二次” 该模型包含一个截距项、每个预测器的线性项和平方项,以及不同预测器对的所有乘积。s manbetx 845
    “聚ijk 模型是一个多项式,所有项都达到次在第一个预测器中,度j在第二个预测中,等等。通过使用数字0到9指定每个预测器的最大程度。模型中包含交互项,但每个交互项的程度不超过指定程度的最大值。例如,“poly13”有一个截距x1x2x22x23.x1x2,x1x22条件,在哪里x1x2分别是第一个和第二个预测值。
  • 一个t-借-(p+ 1)矩阵,或者a计算矩阵,指定模型中的术语,其中t是多少项和p是预测变量的数量,+1表示响应变量。当预测器的数量很大并且您希望以编程方式生成术语时,术语矩阵非常方便。

  • 字符向量或字符串标量公式在表单中

    “y ~条款”

    在哪里条款威尔金森符号. 公式中的变量名必须是公式中的变量名资源描述或指定的变量名Varnames.此外,变量名必须是有效的MATLAB标识符。

    该软件通过使用中术语的顺序来确定拟合模型中术语的顺序资源描述X.因此,模型中项的顺序可能与指定公式中项的顺序不同。

如果要在该模型中指定最小或最大的术语集stepwiselm如果合适,请使用较低的上面的名称-值对参数。

数据类型:烧焦|一串||双重的

名称-值对参数

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

例子:另类投资会议”、“标准”、“‘上’,‘互动’,‘详细’,1指示stepwiselm来使用Akaike信息标准,显示它在每个步骤中所采取的操作,并在模型中最多包含交互项。

分类变量列表,指定为逗号分隔对,由“卡尔瓦尔”以及在表或数据集数组中包含分类变量名称的字符向量的字符串数组或单元格数组资源描述,或指示哪些列是分类列的逻辑或数字索引向量。

  • 如果数据位于表或数据集数组中资源描述,那么默认情况下,stepwiselm将字符向量的所有分类值、逻辑值、字符数组、字符串数组和单元格数组视为分类变量。

  • 如果数据在矩阵中X,则为的默认值“卡尔瓦尔”是一个空矩阵[].也就是说,没有一个变量是绝对的,除非你指定它为绝对的。

例如,可以使用以下任一方法将六个变量中的第二个和第三个变量指定为分类变量:

例子:“卡尔瓦尔分类法”[2,3]

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

数据类型:|双重的|逻辑|一串|单间牢房

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

  • 上交所的- - - - - -p-价值F-由于添加或删除项而导致的误差平方和变化的测试

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

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

  • “rsquared”-增加价值R2

  • “adjrsquared”-调整后资产价值的增加R2

例子:“标准”,“bic”

要从匹配中排除的观察值,指定为由逗号分隔的对组成“排除”以及逻辑或数字索引向量,指示要从拟合中排除哪些观测值。

例如,您可以使用下面的任何一个示例排除6个观察值中的2个和3个。

例子:“排除”,[2,3]

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

数据类型:|双重的|逻辑

适应度中的常数项(截距)指示符,指定为逗号分隔的对组成“拦截”,要么真正的包括或从模型中移除常数项。

使用“拦截”仅当使用字符向量或字符串标量指定模型时,而不是使用公式或矩阵。

例子:“拦截”,假的

描述不能从模型中删除的术语的模型规范,由逗号分隔的对组成“低”其中一个选择是modelspec命名模型。

例子:“低”,“线性”

要执行的最大步骤数,指定为逗号分隔对,由“NSteps”和一个正整数。

例子:“NSteps”,5

数据类型:|双重的

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

标准 默认值 决定
上交所的 0.05 如果p-价值F-统计数字低于被关闭的p-value to enter),将术语添加到模型中。
“AIC” 0 如果模型AIC的变化小于被关闭的,将术语添加到模型中。
“BIC” 0 如果模型中BIC的变化小于被关闭的,将术语添加到模型中。
“Rsquared” 0.1 如果模型R平方值的增加大于被关闭的,将术语添加到模型中。
“AdjRsquared” 0 如果模型的调整R平方值的增加大于被关闭的,将术语添加到模型中。

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

例子:“囚禁”,0.075

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

中的名称应包含字符串值或字符向量资源描述,或使用“VarNames”名称-值对的论点。

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

例如,您可以使用以下任意一个示例指定第二个和第三个变量作为预测变量。

例子:“PredictorVars”,[2,3]

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

数据类型:|双重的|逻辑|一串|单间牢房

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

标准 默认值 决定
上交所的 0.10 如果p-价值F-统计量大于预先移动p-值),从模型中删除术语。
“AIC” 0.01 如果模型的AIC变化大于预先移动,将该术语从模型中删除。
“BIC” 0.01 如果模型中BIC的变化大于预先移动,将该术语从模型中删除。
“Rsquared” 0.05 如果模型的R平方值的增加小于预先移动,将该术语从模型中删除。
“AdjRsquared” -0.05 如果模型的调整R平方值的增加小于预先移动,将该术语从模型中删除。

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

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

例子:“PRemove”,0.05

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

例如,您可以指定第四个变量,例如产量,作为六个变量中的响应,采用以下方式之一。

例子:“ResponseVar”、“收益”

例子:“ResponseVar”,[4]

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

数据类型:|双重的|逻辑|烧焦|一串

描述拟合中最大术语集的模型规范,指定为逗号分隔对,由“上”其中一个选择是modelspec命名模型。

例子:“上”、“二次”

用逗号分隔的变量对指定的变量名,由“VarNames”以及字符向量的字符串数组或单元格数组,包括X首先是响应变量的名称y最后一次。

“VarNames”不适用于表或数据集数组中的变量,因为这些变量已经有了名称。

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

在指定“VarNames”,VarNames,可以验证变量名varNames通过使用isvarname作用如果变量名无效,则可以使用matlab.lang.makeValidName函数。

例子:‘VarNames’、{‘马力’、‘加速’、‘车型年’、‘MPG’}

数据类型:一串|单间牢房

控件,指定为逗号分隔的对,由“详细”其中一个价值观是:

  • 0-抑制所有显示。

  • 1-显示在每个步骤中执行的操作。

  • 2-显示评估过程以及在每个步骤中采取的操作。

例子:“冗长”,2

观察权重,指定为逗号分隔对,由“重量”和一个n-非负标量值的by-1向量,其中n为观察次数。

数据类型:|双重的

输出参数

全部折叠

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

对于线性模型对象的属性和方法,mdl,请参阅线性模型班级网页。

更多关于

全部折叠

计算矩阵

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

例如,假设一个输入包含三个预测变量x1x2,x3以及响应变量y的顺序x1x2x3,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是一个正整数 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

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

提示

  • 你不能在逐步回归中使用稳健回归。在使用之前检查数据中的异常值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已经在模型中了。类似地,该函数不会删除模型中保留的高阶项子集的低阶项。例如,函数不会尝试删除X1X2 ^ 2如果X1:X2^2保持在模型中。

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

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

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

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

    • 一个有绝对预测器的模型l包括水平(类别)l– 1指标变量。模型使用第一个类别作为参考级别,因此不包含参考级别的指标变量。如果分类预测器的数据类型为分类,然后您可以使用类别并使用重装猫自定义参考级别。创建指标变量的详细信息请参见虚拟变量的自动创建

    • stepwiselm治疗组l– 1指标变量作为单个变量。如果要将指标变量视为不同的预测变量,请使用手动创建指标变量dummyvar. 然后,在拟合模型时,使用指标变量,但与分类变量的参考级别相对应的变量除外。对于分类预测器X,如果指定dummyvar(X)和截距项作为预测器,则设计矩阵变得秩亏。

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

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

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

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

  • stepwiselm认为(空字符向量),""(空字符串),< >失踪,<未定义>资源描述X,Y将丢失值。stepwiselm不使用拟合中缺少值的观测值。这个ObservationInfo拟合模型的属性表示是否stepwiselm在fit中使用每个观察值。

替代功能

在R2013b中引入