如果我认为结果是顺序的而不是绝对的,我将获得什么?


12

有多种预测序数和分类变量的方法。

我不明白的是这种区别的重要性。是否有一个简单的示例可以弄清楚如果我下订单会出什么问题?在什么情况下没关系?例如,如果自变量也都是分类/有序的,是否会有区别?

这个相关问题集中在自变量的类型上。在这里,我要问结果变量。

编辑: 我知道使用订单结构可以减少模型参数的数量,但是我仍然没有真正确信。

这是一个示例(摘自有序逻辑回归介绍,据我所知,序数逻辑回归的性能并不比多项式逻辑回归好:

library(nnet)
library(MASS)
gradapply <- read.csv(url("http://www.ats.ucla.edu/stat/r/dae/ologit.csv"), colClasses=c("factor", "factor", "factor", "numeric"))

ordered_result <- function() {
  train_rows <- sample(nrow(gradapply), round(nrow(gradapply)*0.9))
  train_data <- gradapply[train_rows,]
  test_data <- gradapply[setdiff(1:nrow(gradapply), train_rows),]
  m <- polr(apply~pared+gpa, data=train_data)
  pred <- predict(m, test_data)
  return(sum(pred==test_data$apply))
}

multinomial_result <- function() {
  train_rows <- sample(nrow(gradapply), round(nrow(gradapply)*0.9))
  train_data <- gradapply[train_rows,]
  test_data <- gradapply[setdiff(1:nrow(gradapply), train_rows),]
  m <- multinom(apply~pared+gpa, data=train_data)
  pred <- predict(m, test_data)
  return(sum(pred==test_data$apply))
}

n <- 100

polr_res <- replicate(n, ordered_result())
multinom_res <- replicate(n, multinomial_result())
boxplot(data.frame(polr=polr_res, multinom=multinom_res))

该图显示了两种算法的正确猜测数(共40个)的分布。

polr_vs_multinom

Edit2:当我使用以下评分方法时

return(sum(abs(as.numeric(pred)-as.numeric(test_data$apply)))

并惩罚“非常错误”的预测,polr看起来仍然很糟糕,即上面的图变化不大。


1
您的示例使用了不连续的不正确评分规则,该规则通常不是比较预测集的良好基础(它是任意的,并且缺乏功效和准确性)。
Frank Harrell

我假设您可能必须将输出变量强制为ordered factor,这将改善结果:gradapply$apply <-factor(gradapply$apply, levels= c('unlikely', 'somewhat likely', 'very likely') , ordered = TRUE)但这没什么区别。如果您看一下准确性,则两者非常相似。但是,准确度并不是一个单独依靠的好指标。
朱巴卜'16

Answers:


10

在适当的情况下,将Y视为序数会获得很大的功效和精度。这是由于模型中参数的数量少得多(由k决定,其中k比Y的类别数小1)。有几种顺序模型。最常用的是比例赔率和连续比率序数逻辑模型。


1
+1参数的减少也意味着序数模型可以更容易拟合。
JMS

4

如果您忽略变量的有序性质,则适当的方法仍将提供正确的分析,但是对有序数据使用方法的好处是它们提供了有关重要变量的顺序和大小的更多信息。


我看不到提供了有关订单的哪些信息。
Karsten W.

1
假设变量具有三个级别,低,中,高。序数分析可能表明低与中无差异,但对高具有显着意义。参数估计可以提供信息,例如“当变量X高时,估计效果是低值或中值的2.5倍”-因此,方向和大小。
Murray

2

如果要对数据建模,并且因果分类变量没有排序(标称),则必须使用多项式logit模型。如果因变量确实具有顺序(序数),则可以使用累积对数模型(比例赔率模型)。

就我个人而言,与多项式模型相比,我发现对于比例赔率模型而言,结果要容易得多,尤其是当您想向不具备统计学知识的人报告结果时。

这些不是您可以使用的唯一模型,但是它们非常典型。

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.