主要内容

addTerms

向线性回归模型中添加项

描述

例子

NewMdl= addTerms (mdl条款返回使用输入数据和中设置拟合的线性回归模型mdl与条款条款补充道。

例子

全部折叠

创建线性回归模型carsmall数据集没有任何交互,再添加一个交互项。

加载carsmall数据集,并创建一个模型的MPG作为权重和模型年的函数。

负载carsmall台=表(MPG、重量);资源描述。年=分类(Model_Year);mdl = fitlm(资源描述,'MPG ~年+重量^2'
mdl =线性回归模型:MPG ~ 1 + Weight + Year + Weight^2估计SE tStat pValue __________ __________ _______ __________(截距)54.206 4.7117 11.505 2.6648e-19 Weight -0.016404 0.0031249 -5.2493 1.0283e-06 Year_76 2.0887 0.71491 2.9215 0.0044137 Year_82 8.1864 0.81531 10.041 2.6364e-16 Weight^2 1.5573e-06 4.9454e-07 3.149 0.0022303观测数:94,误差自由度:89均方根误差:2.78 r -平方:0.885,调整r -平方:0.88 f -统计量与常数模型:172,p值= 5.52e-41

该模型包括五个术语,拦截重量Year_76Year_82,体重^ 2,在那里Year_76Year_82指标变量是分类变量吗一年它有三个不同的值。

控件之间添加交互项一年重量变量mdl

条款=“年*重量”;NewMdl = addTerms (mdl条款)
NewMdl =线性回归模型:MPG ~ 1 + Weight*Year + Weight^2估计SE tStat pValue ___________ __________ ________ __________(截距)48.045 6.779 7.0874 3.3967e-10 Weight -0.012624 0.0041455 -3.0454 0.0030751 Year_76 2.7768 3.00538 0.90931 0.3657 Year_82 16.416 4.9802 3.2962 0.0014196 Weight:Year_76 -0.00020693 0.00092403 -0.22394 0.82333 Weight:Year_82 -0.0032574 0.0018919 -1.7217 0.088673 Weight^21.121e -06 6.12e-07 1.6538 0.10177观测数:94,误差自由度:87均方根误差:2.76 R-squared: 0.89,调整R-squared: 0.882 F-statistic vs. constant model: 117, p-value = 1.88e-39

NewMdl包括两个附加条款,重量* Year_76重量* Year_82

输入参数

全部折叠

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

要添加到回归模型中的术语mdl,指定为下列其中一项:

  • 字符向量或字符串标量公式威尔金森符号表示一个或多个项的公式中的变量名必须是有效的MATLAB®标识符。

  • 计算矩阵T的大小t——- - - - - -p,在那里t是项数和p预测变量的数量是多少mdl.的价值T (i, j)是变量的指数吗j在术语

    例如,假设mdl有三个变量一个B,C这个顺序。每一行的T代表一个术语:

    • (0 0 0)-常数项或截距

    • (0 1 0)- - - - - -B;同样,A^0 * b ^1 * c ^0

    • (1 0 1)- - - - - -* C

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

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

addTerms将分类预测器的一组指标变量视为单一变量。因此,您不能指定要添加到模型中的指示器变量。如果你指定一个分类预测器添加到模型中,addTerms在一个步骤中为预测器添加一组指标变量。看到使用步骤修改线性回归模型此示例描述如何手动创建指示符变量并将每个变量视为单独的变量。

输出参数

全部折叠

带有附加项的线性回归模型,返回为LinearModel对象。NewMdl是使用输入数据和设置的新拟合模型吗mdl另有规定条款条款

重写输入参数mdl,将新安装的模型分配给mdl

mdl = addTerms (mdl、条款);

更多关于

全部折叠

威尔金森符号

威尔金森表示法描述了模型中出现的术语。该符号与模型中出现的项有关,而不是这些项的乘数(系数)。

威尔金森表示法使用以下符号:

  • +方法包括下一个变量。

  • - - - - - -表示不包含下一个变量。

  • 定义交互,它是术语的产物。

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

  • 把预测器提高到幂,就像重复,所以还包括低阶项。

  • ()组条件。

该表显示了威尔金森表示法的典型例子。

威尔金森符号 标准符号术语
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

更多信息请参见威尔金森符号

算法

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

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

    • addTerms对待一组l- 1指标变量作为单个变量。如果希望将指标变量视为不同的预测变量,可以使用dummyvar.然后,当你拟合一个模型时,使用指标变量,除了与分类变量的参考水平相对应的指标变量。对于分类预测器X的所有列dummyvar (X)而截距项作为预测因子,则设计矩阵秩亏。

    • 连续预测器和分类预测器之间的交互项l元素的元素级乘积l- 1具有连续预测器的指标变量。

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

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

选择功能

  • 使用stepwiselm在启动模型中指定术语,并继续改进模型,直到添加或删除术语的任何步骤都没有好处。

  • 使用removeTerms从模型中删除特定的术语。

  • 使用一步通过添加或删除术语来优化模型。

扩展功能

介绍了R2012a