我被告知最好在适当的时候订购分类变量(例如短于中等长度的短)。我想知道,在将分类变量建模为解释变量的情况下,将分类变量视为有序而不仅仅是简单分类的具体优势是什么?它在数学上意味着什么(最好是以非专业术语表示!)?
非常感谢!
答案 0 :(得分:2)
除此之外,它还允许您比较这些因素的值:
> ord.fac <- ordered(c("small", "medium", "large"), levels=c("small", "medium", "large"))
> fac <- factor(c("small", "medium", "large"), levels=c("small", "medium", "large"))
> ord.fac[[1]] < ord.fac[[2]]
[1] TRUE
> fac[[1]] < fac[[2]]
[1] NA
Warning message:
In Ops.factor(fac[[1]], fac[[2]]) : < not meaningful for factors
文档表明从建模角度来看会产生很大的影响:
有序因素仅与其类别中的因素不同,但方法和模型拟合函数对这两个类别的处理方式完全不同
但是我必须让那些熟悉这些用例的人提供相关的详细信息。
答案 1 :(得分:1)
只有在从数据的角度来看是有意义的时候才应该使用有序数据(即数据是自然排序的,就像小,中,大的情况一样)。
在建模术语中,分类变量具有为每个级别创建的虚拟变量,可以购买其可能的值之一。虚拟变量的效果实际上为您提供了与参考级别(没有虚拟变量的级别)相比的该级别的效果。通常,处理分类变量比处理有序数据更容易。
序数数据的建模方式与连续和分类相同(除非您将值视为连续值,通常这样做)。在R中, ordinal 包有几个函数来执行基于累积链接函数的建模(链接函数将数据转换为更接近线性回归的东西)。 / p>
将分类数据重新编码为序数的优势在于,数据推断更能代表数据并具有更直观的解释。
答案 2 :(得分:0)
最有用的区别在于显示结果。如果我们有低水平,中等水平和高水平并创建一个适当的有序因子,那么箱形图,条形图,表格等将以低,中,高的顺序显示结果。但是,如果我们创建一个无序因子并使用默认排序,则绘图/表格将按顺序排列为高,低,中间;这没什么意义。
默认对比/虚拟变量编码对于有序和无序因子是不同的(但是你可以改变编码,所以这只会影响你使用默认值的东西),这可以改变单个部分的解释,但不会影响整体适合一般(对于线性模型和扩展,其他工具,如树可能会有所不同)。