将分类数据视为连续有意义吗?


57

在回答有关离散数据和连续数据的问题时,我断言,将分类数据视为连续数据很少有意义。

从表面上看,这似乎是不言而喻的,但是直觉通常不是一个很好的统计指南,或者至少是我的。所以现在我在想:这是真的吗?还是已经建立了从分类数据到某个连续体的转换实际上有用的分析?如果数据是序数会有所不同吗?


20
这个问题及其答案使我们想起了如何过分粗暴地将这种过时的变量划分限制为“分类-有序-间隔-比率”。它可以指导统计幼稚的人员,但是对于有思想或经验丰富的分析师来说,这是一个障碍,是以适合于数据和使用决策来表达变量的方式的障碍从后一种观点出发,有人将在分类和“连续”数据表示之间自由移动;对于他们来说,这个问题甚至都不会出现!相反,我们应该问:它有什么帮助?
Whuber

@whuber(+1)至少,似乎很难同时优化测量可靠性和诊断准确性。
chl

Answers:


34

我将假设“类别”变量实际上代表序数变量;否则将其视为连续变量就没有多大意义,除非它是@Rob指出的二进制变量(编码为0/1)。然后,我想说的是,尽管到目前为止已经开发了许多用于分类数据分析的模型,但问题并不是我们对待变量的方式那么多。例如,请参见《有序分类数据的分析:概述和近期调查》。发展从刘和Agresti--,比下面的测量尺度,我们假设。我的回答将集中在第二点,尽管我将首先简要讨论将数字分数分配给可变类别或水平的问题。

通过使用一个有序变量的简单数值编码,您假定该变量具有区间属性(就Stevens,1946年给出的分类而言)。从测量理论的角度(从心理学角度而言),这通常可能是一个过强的假设,但对于基础研究(即,使用单个项目用清晰的措词表达对日常活动的看法),任何单调得分应给出可比的结果。科克伦(1954)已经指出

只要在不参考实验结果的情况下构建任何分数,都可以给出有效的测试。如果分数集很差,因为它严重扭曲了确实构成有序分类基础的数字刻度,则该测试将不敏感。因此,分数应体现出有关分类的构建和使用方式的最佳见解。(第436页)

(非常感谢@whuber在他的所有评论中都提醒我有关此内容的知识,这使我重新阅读了Agresti的书,该书来自此。)

实际上,一些测试隐式地将此类变量视为区间标度:例如,用于测试线性趋势的统计量(作为简单独立性的替代方法)基于相关方法(M 2 = n 1 r 2, Agresti,2002年,第87页)。中号2中号2=ñ-1个[R2

嗯,您还可以决定在不规则范围内重新编码变量,或汇总其某些级别,但是在这种情况下,重新编码的类别之间的强烈不平衡可能会使统计检验(例如上述趋势检验)失真。@Jeromy已经提出了一种在类别之间分配距离的不错选择,即最佳缩放。

现在,让我们讨论我提出的第二点,即基础测量模型。当我看到这样的问题时,我总是在犹豫是否要添加“心理计量学”标签,因为测量量表的构建和分析属于心理计量学理论(Nunnally和Bernstein,1994年,内容整齐)。我不会详细介绍项目响应理论下的所有实际模型,并请感兴趣的读者参考I. Partchev的教程,项目响应理论的可视指南。,对IRT进行简要介绍,并参考末尾列出的有关IRT分类法的参考文献(5-8)。简而言之,您的想法是,您无需假设变量类别之间的任意距离,而是假设一个潜在规模,并估计其在该连续体上的位置以及个人的能力或责任。一个简单的例子值得用数学符号表示,因此让我们考虑以下项目(来自EORTC QLQ-C30与健康相关的生活质量调查表):

你担心吗

它以四点为单位进行编码,范围从“完全不”到“非常”。原始分数是通过将分数分配为1到4来计算的。可以将属于同一等级的项目的得分相加在一起,得出所谓的等级得分,它表示一个人在基本结构上的等级(此处是心理健康成分) )。这样的累加量表分数由于对评分容易(对于从业者或护士)非常实用,但是它们仅是离散的(有序的)量表。

我们还可以考虑认可给定响应类别的概率遵循某种逻辑模型,如上面I. Partchev的教程中所述。基本上,这个想法是一种阈值模型(根据比例或累积赔率模型得出等价的表述),我们对一个响应类别中的赔率进行建​​模,而不是对前一个赔率或得分高于某些类别,取决于对象在潜在特征上的位置。此外,我们可能会强加回答类别在潜在标度上的均等间隔(这是评级量表模型),这是我们通过分配规则间隔的数字分数来做到的方式(或不)(这是部分信用模型) 。

显然,我们没有在经典测试理论中添加太多内容,在经典测试理论中,序数变量被视为数值变量。但是,我们引入了一个概率模型,在该模型中我们假设一个连续的量表(具有区间属性),并且可以考虑特定的测量误差,并且可以将这些阶乘得分插入任何回归模型中。

参考文献

  1. SS史蒂文斯。关于量表的理论。科学103:677-680,1946。
  2. χ2
  3. J·纽纳利和我·伯恩斯坦。心理测量学。麦格劳·希尔,1994年
  4. 艾伦·阿格里斯蒂(Alan Agresti)。分类数据分析。威利(Wiley),1990年。
  5. CR Rao和S Sinharay,编辑。统计手册,卷。26:心理测试。爱思唯尔科学有限公司,荷兰,2007年。
  6. Boomsma,MAJ van Duijn和TAB Snijders。项目反应理论论。施普林格,2001年。
  7. D Thissen和L Steinberg。项目响应模型的分类法。Psychometrika51(4):567-577,1986。
  8. P Mair和R Hatzinger。扩展的Rasch建模:用于R中IRT模型的eRm软件包Journal of Statistics Software 统计软件)20(9),2007。

19

如果只有两个类别,则将它们转换为(0,1)是有意义的。实际上,通常在将所得的虚拟变量用于回归模型的情况下执行此操作。

如果有两个以上的类别,那么我认为只有在数据为序数时才有意义,然后才在非常特殊的情况下才有意义。例如,如果我要进行回归并将非参数非线性函数拟合到序数和数值变量,则认为可以。但是,如果我使用线性回归,那么我将对序数变量的连续值之间的相对差做出非常强烈的假设,而我通常不愿意这样做。


1
“ [当我对序数变量的连续值之间的相对差做出非常强烈的假设时。” 我认为这确实是关键。也就是说,您能否强烈辩称第1组和第2组之间的差异与第2组和第3组之间的差异可比?
Freya Harrison

我认为您应该对连续变量的分布方式做出一些假设,然后尝试拟合每个分类变量频率的“伪直方图”(我的意思是找到bin宽度,将其转换为合适的直方图)。不过,我不是这个领域的专家,这是一个快速而肮脏的想法。

将二进制类别重铸为{0,1}是有意义的,但是将其转换为连续的[0,1]间隔似乎有点飞跃。在更广泛的方面,除非模型中有强有力的论据,否则我完全同意您平分体重。
walkytalky

18

通常的做法是将具有许多类别的有序类别变量视为连续变量。这样的例子:

  • 一项100项测试中正确的项数
  • 汇总的心理量表(例如,每五点量表上的10个项目的平均值)

所谓“连续处理”是指将变量包含在假设连续随机变量的模型中(例如,作为线性回归中的因变量)。我想问题是要使这个合理的简化假设需要多少个比例尺。

其他一些想法:

  • 变量相关性试图根据假定的潜在连续变量对两个序数变量之间的关系进行建模。
  • 最佳缩放比例允许您开发模型,其中以数据驱动方式开发分类变量的缩放比例,同时遵守您施加的任何缩放比例约束(例如常规)。有关良好的介绍,请参见De Leeuw和Mair(2009)

参考文献

  • De Leeuw,J.和Mair,P.(2009年)。在R中实现最佳缩放的Gifi方法:软件包homals。统计软件杂志,即将出版,1-30。PDF格式

7

许多读者的经验中经常忽略一个非常简单的例子,它涉及学术工作的分数或等级。通常,从本质上讲,单个作业的分数是基于判断的序数度量,即使按照惯例,分数分数是(例如)百分比分数或刻度上的分数最高为5(也可能是小数点)。也就是说,教师可以通读论文,学位论文,论文或论文,并确定该论文应占42%或4,或其他。即使是基于详细评估方案的标记,比例尺也离间隔或比例尺测量尺的根本距离。

但是,许多机构认为,如果您拥有足够的这些标记或等级,则将它们平均(等级平均分数等),甚至进行更详细的分析是完全合理的。因此,在某些时候,序数测量会演变为汇总量表,将其视为连续的。

具有讽刺意味的鉴赏家会注意到,许多系或学校的统计课程经常教导说,这在整个大学范围内都是可疑的,最糟糕的是错误的。


5

在按频率排列的分析中,如帕累托图和相关值(例如,哪些类别构成了最多80%的产品故障)


5
要点很重要,并且可以扩展:有序数据的许多模型都基于这样一个想法,即不是可以用序数数据而是可以对其累积概率建模的。
Nick Cox

4

我要提出一个论点,即将真正的绝对非常规变量视为连续有时会有意义。

如果要基于大型数据集构建决策树,则将分类变量转换为虚拟变量的处理能力和内存可能会非常昂贵。此外,某些模型(例如randomForestR中的模型)无法处理具有多个级别的类别变量。

在这些情况下,基于树的模型应该能够识别极其重要的类别,即使将它们编码为连续变量也是如此。一个人为的例子:

set.seed(42)
library(caret)
n <- 10000
a <- sample(1:100, n, replace=TRUE)
b <- sample(1:100, n, replace=TRUE)
e <- runif(n)
y <- 2*a + 1000*(b==7) + 500*(b==42) + 1000*e
dat1 <- data.frame(y, a, b)
dat2 <- data.frame(y, a, b=factor(b))

y是连续变量,a是连续变量,b是类别变量。但是,在dat1b中被视为连续的。

将决策树拟合到这两个数据集,我们发现它dat1dat2

model1 <- train(y~., dat1, method='rpart')
model2 <- train(y~., dat2, method='rpart')
> min(model1$results$RMSE)
[1] 302.0428
> min(model2$results$RMSE)
[1] 294.1411

如果查看这两个模型,您会发现它们非常相似,但是model1错过了b == 42的重要性:

> model1$finalModel
n= 10000 

node), split, n, deviance, yval
      * denotes terminal node

 1) root 10000 988408000  614.0377  
   2) a< 42.5 4206 407731400  553.5374 *
   3) a>=42.5 5794 554105700  657.9563  
     6) b>=7.5 5376 468539000  649.2613 *
     7) b< 7.5 418  79932820  769.7852  
      14) b< 6.5 365  29980450  644.6897 *
      15) b>=6.5 53   4904253 1631.2920 *
> model2$finalModel
n= 10000 

node), split, n, deviance, yval
      * denotes terminal node

 1) root 10000 988408000  614.0377  
   2) b7< 0.5 9906 889387900  604.7904  
     4) a< 42.5 4165 364209500  543.8927 *
     5) a>=42.5 5741 498526600  648.9707  
      10) b42< 0.5 5679 478456300  643.7210 *
      11) b42>=0.5 62   5578230 1129.8230 *
   3) b7>=0.5 94   8903490 1588.5500 *

但是,model1的运行时间大约是model2的1/10:

> model1$times$everything
   user  system elapsed 
  4.881   0.169   5.058 
> model2$times$everything
   user  system elapsed 
 45.060   3.016  48.066 

当然,您可以调整问题的参数,以找出dat2性能远胜于dat1dat1略胜于优的情况dat2

我一般不主张将分类变量视为连续变量,但是我发现这样做的情况大大减少了拟合模型所需的时间,而又没有降低其预测准确性。


3

可以在这里找到有关此主题的非常不错的摘要:

mijkerhemtulla.socsci.uva.nl PDF

“何时可以将分类变量视为连续变量?比较次优条件下鲁棒的连续和分类SEM估计方法的比较。”

Mijke Rhemtulla,帕特里夏(Patricia)。Brosseau-Liard和Victoria Savalei

他们调查了大约60页的方法,并提供了有关什么时候有用,采用哪种方法以及每种方法适合您的特定情况的优点和缺点的见解。它们并不能涵盖所有内容(因为我正在学习的数量似乎是无限的),但是它们所包含的内容可以很好地覆盖它们。


2

还有另一种情况有意义:从连续数据中采样数据(例如,通过模数转换器)。对于较旧的仪器,ADC通常为10位,给出名义上为1024类的序数数据,但在大多数情况下可以视为真实数据(尽管在标度的低端附近会出现一些假象)。如今,ADC通常是16位或24位。到您在谈论65536或16777216“类别”时,您确实可以轻松地将数据视为连续数据。


我坚决同意您的底线,但可以说这些数据从来都不是序数,只是离散。这里对怪异的名义-有序-间隔比率的糟糕处理是因为通常没有指出序数意味着离散,反之亦然。计数是顺序的,但也是间隔和比率。
Nick Cox

@Nick Ordinal暗示离散?不必要。连续测量可以是顺序的。例如,生理变量(例如GSP或心率)是连续的,但作为心理变量(例如焦虑或唤醒)的量度仅是顺序的。序数与间隔的概念实际上是指将度量与要度量的内容相关联的函数的线性度。
雷·库普曼

这是一个有趣的说法,但是一旦您进入那个领域,我就不会知道如何在没有独立的证据证明焦虑到底是什么的情况下对心律进行分类,因此最终大多数被视为代理的变量都无法分类。每当切换到仅将测量比例视为序数时,您是否会一路拒绝使用间隔或比率数据的方法?我认为数据的行为不会因为您打算使用它们而有所不同。这对我来说是个难题。
Nick Cox

1
@Nick问题是将测量值与“真实”值相关联的函数是否足够接近线性,以至于将其视作这样的函数不会导致错误的实质性结论,或者必须仅将其视为单调性。通常很少或没有硬数据可作为决策依据。这几乎总是一个判断电话,对此,有见识的聪明人可能不得不同意不同意。
雷·库普曼

1
我认为讨论统计量表时通常会强调变量的数学属性以及每个变量的合法数学运算。那有争议。对于某种东西是否能够衡量应该给我的东西的科学关注,我很同意这是至关重要的,但我认为这是一个完全不同的辩论领域。
Nick Cox
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.