为什么密度图和地毯图似乎不一致?

机器算法验证 r 数据可视化 密度函数
2022-03-09 03:21:14

在这个例子中,第二个峰值density plot很大。为什么数据的地毯表示 - 似乎显示很少高值 - 似乎与那里估计的更高密度不匹配?

如何才能使地毯图不那么具有误导性?

在此处输入图像描述

这是它的R代码:

plot(density(Boston$tax))
rug(Boston$tax, col=2, lwd=3.5)
2个回答

减少地毯图误导的方法通常是使用不同的东西。地毯图在显示不同值方面必然相对较好,而在指示它们的相对频率方面则非常差。

这是原始帖子中使用的数据的频率分布的尖峰表示。原理是通常用于显示离散分布,即高度与每个不同值的频率成比例的尖峰。此处可用和记录的波士顿数据已读入 Stata 和spikeplot使用的命令。在所有优秀的统计软件中,类似的东西都应该是微不足道的。如果您愿意,这是直方图和地毯图的混合体,尽管从历史上看,这种图可能早于地毯图。

在此处输入图像描述

可在此处访问有关 的Stata 文档spikeplot,包括更多关于此问题的内容、此类图表的更多示例

从 R 包MASS中,506中的总观察值Boston369税值低于470137有上面的税值665事实上666是迄今为止数据集中最常见的值,出现132次。

因此,如果密度图左侧的面积大约是右侧面积的两倍,则可以合理地将其视为表示分布。目视检查表明这可能是正在发生的事情。

更准确的表示会使正确的峰值更高更窄,这可以通过调整参数来实现。

添加评论:

例如,密度函数和一些手动抖动的带宽要窄得多:

library(MASS)
plot(density(Boston$tax, bw=5)) 
rug(Boston$tax + rnorm(length(Boston$tax), sd=5), col=2, lwd=3.5)

你会得到这样的东西

波士顿税收密度