如何可视化预测连续结果的序数变量?

机器算法验证 数据可视化 序数数据
2022-04-04 23:02:18

将序数预测变量与连续结果之间的关系可视化的最佳方法是什么?

到目前为止,我有以下内容,但我觉得缺少这个......

在此处输入图像描述

我对其建模的方式是将序数预测变量视为区间而不是分类。如果这不是处理此类数据的最佳方式,我将不胜感激。

4个回答

这样做的问题是无法知道有多少点聚集在一起。我见过的两个解决方案:

箱形图

如果数据点聚集在一起,这会给你更紧密的盒子。

https://nycdatascience.com/blog/student-works/machine-learning/kag​​gle-competition-house-pricing-in-ames-iowa/

气泡图

不确定这是否是正式名称,但基本上你将垂直轴放入 bin 中。气泡的大小取决于有多少观察值落入该箱中。

在此处输入图像描述

你展示的情节很不错。但我认为您可以通过显示所有数据点来进一步提高数据墨水比(由Edward Tufte发明)。您可以通过向 x 轴添加抖动来完成此操作。

另一个改进是强调序数变量是分类的而不是连续的。您可以通过为不同的级别使用不同的颜色来做到这一点。

作为一个例子,我在 R 中绘制了 Titanic 数据集,使用乘客类别作为序数变量,乘客年龄作为连续变量。

library(tidyverse)
library(ggplot2)
library(titanic)

df <- titanic_train %>% mutate(Class=factor(Pclass))

ggplot(df, aes(Class, Age, color=Class)) +
  geom_jitter(height = 0) + 
  ggtitle("Titanic passenger age vs. class")

在此处输入图像描述

除了 Art 建议的箱线图,我建议使用小提琴图

在此处输入图像描述

如上图所示,明确显示中位数和四分位数范围是可选的。

引用维基百科

小提琴图类似于箱线图,除了它们还显示不同值的数据的概率密度,通常由核密度估计器平滑。

小提琴图比普通的箱形图更能提供信息。箱线图仅显示汇总统计数据,例如平均值/中位数和四分位间距,而小提琴图则显示了数据的完整分布当数据分布是多峰的(多于一个峰)时,这种差异特别有用。

类似的替代方法是堆叠直方图或密度估计器

在此处输入图像描述

在您的散点图中,我会在每个唯一 X 值处添加一个表示平均 Y 值的大点,并执行以下一项或多项操作:

  1. 平方根(或立方根)变换您的 Y 轴。与对数转换不同,这两种转换都可以处理零。立方根也可以处理负数。
  2. 使点有点透明。
  3. 如果前面的步骤不充分,请在 X 轴值上添加一点抖动。

正如 Glen_b 所指出的,目前没有足够的信息来决定添加线性回归线是否有意义。