本主题提供了对虚拟变量的介绍,介绍软件如何为分类和回归问题创建它们,并展示如何通过使用该方法创建虚拟变量据a href="//www.tatmou.com/help/stats/dummyvar.html"> 当你执行分类和回归分析时,你经常需要包括连续的(定量的)和分类的(定性的)预测变量。类别变量不能作为数字数组包含。数字数组有数量级和大小。一个分类变量可以有顺序(例如,一个顺序变量),但它没有大小。使用数字数组意味着类别之间的已知“距离”。包含分类预测因子的适当方法是作为虚拟变量。要定义虚拟变量,请使用值为0和1的指示器变量。据/p>
软件根据分析的类型选择四种方案中的一种来定义虚拟变量,如下面的部分所述。例如,假设你有一个有三个类别的分类变量:据Code class="literal">凉爽的据/code>那据Code class="literal">冷却器据/code>,据Code class="literal">最酷的据/code>.据/p>
用三个虚拟变量代表三个类别的类别变量,每个类别一个变量。据/p>
X据/em>0.据/sub>是一个具有值1的虚拟变量据Code class="literal">凉爽的据/code>和0否则。据em class="varname">X据/em>1据/sub>是一个具有值1的虚拟变量据Code class="literal">冷却器据/code>和0否则。据em class="varname">X据/em>2据/sub>是一个具有值1的虚拟变量据Code class="literal">最酷的据/code>和0否则。据/p>
表示使用具有引用组的两个虚拟变量的三个类别的分类变量。据/p>
你可以区分据Code class="literal">凉爽的据/code>那据Code class="literal">冷却器据/code>,据Code class="literal">最酷的据/code>只使用据em class="varname">X据/em>1据/sub>和据em class="varname">X据/em>2据/sub>, 没有据em class="varname">X据/em>0.据/sub>.观察据Code class="literal">凉爽的据/code>两个虚拟变量有0个。所有0s表示的类别是据em class="firstterm">参照组据/em>.据/p>
假设类别的数学排序是据Code class="literal">凉爽的据/code>据据Code class="literal">冷却器据/code>据据Code class="literal">最酷的据/code>.这种编码方案使用1和-1值,并使用更多的1来表示更高的类别,以表示顺序。据/p>
X据/em>1据/sub>是一个具有值1的虚拟变量据Code class="literal">冷却器据/code>和据Code class="literal">最酷的据/code>,和-1 for据Code class="literal">凉爽的据/code>.据em class="varname">X据/em>2据/sub>是一个具有值1的虚拟变量据Code class="literal">最酷的据/code>和-1否则。据/p>
您可以指示一个分类变量通过使用数学排序据Code class="argument">'序号'据/code>名称 - 值对参数据a href="//www.tatmou.com/help/matlab/ref/categorical.html"> 效果编码使用1,0和-1以创建虚拟变量。而不是使用0值来表示参考组,如据a href="//www.tatmou.com/help/stats/dummy-indicator-variables.html" class="intrnllnk">带参考组的虚拟变量据/a>,效果编码使用-1表示最后类别。据/p>
Statistics and Machine Learning Toolbox™提供了几个接受分类预测器的分类和回归拟合函数。一些拟合函数创建虚拟变量来处理分类预测器。据/p>
下面是拟合函数在识别类别预测器时的默认行为。据/p>
如果预测器数据在表中,则该函数假设变量是分类的,如果它是逻辑向量,分类向量,字符数组,字符串数组或字符向量的小区数组。使用决策树的拟合功能假设有序的分类向量是连续变量。据/p> 如果预测数据是一个矩阵,则函数假设所有预测都是连续的。据/p> 要将任何其他预测因子识别为分类预测器,请通过使用来指定它们据Code class="literal">'pationoricalpricictors'据/code>或据Code class="literal">“CategoricalVars”据/code>名称-值对的论点。据/p>
拟合功能处理所识别的分类预测器,如下所示:据/p>
对于无序的类别变量,函数使用据a href="//www.tatmou.com/help/stats/dummy-indicator-variables.html" class="intrnllnk">完整的假变量据/a>.据/p> 对于有序分类变量,功能使用据a href="//www.tatmou.com/help/stats/dummy-indicator-variables.html" class="intrnllnk">订购分类变量的虚拟变量据/a>.据/p> 参数回归拟合函数如据a href="//www.tatmou.com/help/stats/fitlm.html"> 接受分类预测器的其他拟合功能使用可以处理分类预测器而不创建虚拟变量的算法。据/p> 这个例子展示了如何创建你自己的虚拟变量设计矩阵据a href="//www.tatmou.com/help/stats/dummyvar.html" class="a"> 创建指定性别的类别数据的列向量。据/p>
创建虚拟变量据Code class="literal">性别据/code>.据/p>
要在回归模型中使用虚拟变量,必须删除一列(以创建参考组)或拟合一个没有截距项的回归模型。对于性别示例,您只需要一个虚拟变量来表示两种性别。请注意,如果在整个设计矩阵中添加一个截距项,会发生什么情况据Code class="literal">DV.据/code>.据/p>
具有截距术语的设计矩阵不是完整等级的并且不可逆转。由于这种线性依赖性,仅限使用据span class="emphasis">C据/em>- 1表示分类变量的指示器变量据span class="emphasis">C据/em>带有截距项的回归模型中的类别。据/p>
戴维尔据/code>函数。据/p>
什么是虚拟变量?据/h3>
完整的假变量据/h4>
带参考组的虚拟变量据/h4>
订购分类变量的虚拟变量据/h4>
分类据/code>函数。据/p>
使用效果编码创建的虚拟变量据/h4>
创建虚拟变量据/h3>
虚拟变量的自动创建据/h4>
fitckernel据/code>
那据a href="//www.tatmou.com/help/stats/fitclinear.html">FitClinear.据/code>那据a href="//www.tatmou.com/help/stats/fitcnet.html">
Fitcnet.据/code>那据a href="//www.tatmou.com/help/stats/fitcsvm.html">
fitcsvm据/code>那据a href="//www.tatmou.com/help/stats/fitrgp.html">
fitrgp.据/code>那据a href="//www.tatmou.com/help/stats/fitrkernel.html">
fitrkernel据/code>那据a href="//www.tatmou.com/help/stats/fitrlinear.html">
Fitrinear.据/code>那据a href="//www.tatmou.com/help/stats/fitrnet.html">
Fitrnet.据/code>,据a href="//www.tatmou.com/help/stats/fitrsvm.html">
fitrsvm据/code>使用两个不同的方案来创建虚拟变量,具体取决于分类变量是无序或有序的。据/p>
Fitlm.据/code>那据a href="//www.tatmou.com/help/stats/fitglm.html">
Fitglm.据/code>,据a href="//www.tatmou.com/help/stats/fitcox.html">
fitcox据/code>使用据a href="//www.tatmou.com/help/stats/dummy-indicator-variables.html" class="intrnllnk">带参考组的虚拟变量据/a>.当函数中包含虚拟变量时,虚拟变量的估计系数相对于参照组。例如,请参见据a href="//www.tatmou.com/help/stats/fitlm.html" class="a">线性回归与分类预测据/a>.据/p>
fitlme.据/code>
那据a href="//www.tatmou.com/help/stats/fitlmematrix.html">fitlmematrix.据/code>和据a href="//www.tatmou.com/help/stats/fitglme.html">
fitglme据/code>允许您指定创建虚拟变量的方案据Code class="literal">'dummyvarcoding'据/code>名称-值对的论点。功能支持三种方案:金宝app据a href="//www.tatmou.com/help/stats/dummy-indicator-variables.html" class="intrnllnk">完整的假变量据/a>(据Code class="literal">'dummyvarcoding','full'据/code>),据a href="//www.tatmou.com/help/stats/dummy-indicator-variables.html" class="intrnllnk">带参考组的虚拟变量据/a>(据Code class="literal">'dummyvarcoding','参考'据/code>), 和据a href="//www.tatmou.com/help/stats/dummy-indicator-variables.html" class="intrnllnk">使用效果编码创建的虚拟变量据/a>(据Code class="literal">'dummyvarcoding','效果'据/code>)。请注意,这些函数不提供用于指定分类变量的名称值对参数。据/p>
fitrm据/code>
使用据a href="//www.tatmou.com/help/stats/dummy-indicator-variables.html" class="intrnllnk">使用效果编码创建的虚拟变量据/a>.据/p>手动创建虚拟变量据/h4>
戴维尔据/code>函数。这个函数接受分组变量并返回一个包含0和1的矩阵,其中的列是分组变量的虚拟变量。据/p>
性别=分类({据span style="color:#A020F0">'男性'据/span>;据span style="color:#A020F0">'女性'据/span>;据span style="color:#A020F0">'女性'据/span>;据span style="color:#A020F0">'男性'据/span>;据span style="color:#A020F0">'女性'据/span>});据/pre>
dv = dummyvar(性别)据/pre>
dv =据span class="emphasis">5×2据/em>0 1 1 0 1 0 1 0 1 1 0据/pre>
DV.据/code>有五行对应的行数在据Code class="literal">性别据/code>两列是唯一组,据Code class="literal">女性据/code>和据Code class="literal">男性据/code>.列顺序对应于级别的顺序据Code class="literal">性别据/code>.对于分类数组,默认顺序是按字母顺序升序的。您可以通过使用据a href="//www.tatmou.com/help/matlab/ref/categorical.categories.html" class="a">
类别据/code>函数。据/p>
类别(性别)据/pre>
ans =.据span class="emphasis">2x1细胞据/em>{'女性男性' }据/pre>
X = [one (5,1) dv]据/pre>
X =据span class="emphasis">5×3据/em>1 0 1 1 1 0 1 1 0 1 0 1 1 1 0据/pre>
等级(x)据/pre>
ans = 2据/pre>
也可以看看据/h2>
分类据/code>
|据span itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">戴维尔据/code>
相关的话题据/h2>