什么分布会导致这种高度峰值和倾斜的密度图?

机器算法验证 r 分布
2022-03-24 13:01:09

我的数据集的密度在 R 中绘制如下。

在此处输入图像描述

什么样的分布适合这些数据?

由于我没有通过可视化来判断的经验,我只能猜测它不是正态分布的。我将用 R 对其进行测试:非常需要一些指导作为起点。

4个回答

它看起来很像指数分布(假设低于 0 的位是密度估计中平滑的产物)。

我会看一个qqplot。在 R 中,如果x包含您的数据:

n <- length(x)
qqplot(x, qexp( (1:n - 0.5)/n ) )

请注意,在density()用于非负数的情况下,最好使用,from=0因为您知道密度为 0 低于 0。

plot(density(x, from=0))

我还认为,如果遵循指数分布,那么应该遵循均匀分布,因此以下可能是一个合理的诊断:XeX/μX

hist(exp(-x/mean(x)), breaks=2*sqrt(length(x)))

通常不可能通过查看这样的直方图来识别分布。

首先,在对数刻度上绘制密度

对数密度图

这种密度的尾部(从 40 左右开始)接近线性,表明它接近指数。这是性格特征的一部分。更进一步,通过形成残差(在对数尺度上,有效地采用密度与指数曲线的比率)来比较密度与此表征:

残差

显然,这个密度不是指数的:对于小的值,它几乎是指数拟合尾部的四倍。我们必须在表征上走得更远。

我们试图尽可能简单地描述残差:这意味着用较长的直线段或抛物线段来表示。(在这个对数尺度上,直线段是指数趋势,而抛物线段看起来像一个正常的分布。)显然有两个类似抛物线的部分:一个以 1 为中心的尖峰和一个以 25-30 为中心的浅而宽的部分。第一个对应于具有小标准偏差(大约 5-6)的截断正态分布的健康部分,而第二个对应于具有较大标准偏差(可能大约 10)的大部分正态分布。这表明密度无法通过简单的数学公式(例如 Gamma 或 Weibull)来充分描述,但也许可以将其分解为两种或三种成分的混合物寻找这些组成部分中的每一个是否具有某种意义:这些数据是否确实涉及倾向于发生在 1 附近、25 附近和 40 以外的现象的某种组合?

假设像其他人一样,零以下的小尖峰是密度平滑过程的产物,而不是少量负数据,您的分布看起来像指数分布。

我将从指数分布或稍微灵活的 Weibull 分布开始,看看其中任何一个是否适合。这两者在实现、可视化等方面的难度和拟合数据的可能性之间取得了不错的平衡。

这是一个长尾分布。GB2(Generalized beta of second kind)有四个参数,对于这类数据有很好的灵活性。它在包装中GB2