一些统计工具提供了自动识别数据分布的方法,例如本文中所示的方法。
一般来说,这种方法可靠吗?如果没有,对于处理来自未知分布的数据的问题,有什么更好的替代方案?
一些统计工具提供了自动识别数据分布的方法,例如本文中所示的方法。
一般来说,这种方法可靠吗?如果没有,对于处理来自未知分布的数据的问题,有什么更好的替代方案?
识别数据的分布基本上是不可能的。
分布函数的类别很大;它必须至少与基数一样大(例如,仅考虑单位阶跃函数,对应于某个常数值- 与基数一样多,所以它必须至少有那么大)。
此外,任何 cdf 都有无限的“近邻”,在给定的样本量下,很难从任何给定的分布中分辨出来。(例如,如果我们考虑使用 KS 统计量来区分它们,那么有无限数量的分布与真实分布足够接近,以至于在某些样本量下的测试将无法区分)。
因此,我们可以说这必须是基于样本的分布的想法是一项无望的任务。
如果我们将自己限制在一小部分候选人名单上,那么在一些大样本量下,我们可能希望排除几乎所有名单(这听起来很有用)......但实际上我们最终可能会排除整个名单(实际上随着样本量变大,这基本上可以确定,因为我们的列表包含数据的实际分布的机会基本上为零)。
[此外,有大量分布族可供选择的工具通常会“过度拟合”,这可能会适得其反。人们希望他们最终能赶上一些有助于避免这个问题的想法,但即便如此,一般来说,领域知识将成为比一些任意分布列表更好的模型选择工具。]
事实上,整个方法似乎毫无意义,因为不仅实际分布通常比我们希望识别的更复杂(例如,我们可以设想它们由任意混合物组成),而且知道真实分布类别实际上是无用的模型(例如,参数多于观测值)。
概率模型通常只是(希望)有用的近似值。我们应该这样对待他们。
所以我们的兴趣不应该在于确定分布,而应该是一个分布——它充分地描述了我们的目的足够好的情况,但它足够简单,我们可以在我们可以获得的样本量下做一些事情。
这种方法在实践中的问题是大多数数据集都足够小,以至于许多分布都可以充分拟合数据。如果您随意选择恰好适合数据的分布,然后在此假设下继续进行计算或模拟,您可能会被严重误导。
这个问题在离散事件仿真建模中经常出现。一种实用的方法是使用各种分布运行模拟模型,以查看结果是否对分布假设敏感。
如果您正在进行统计分析,则通常可以使用非参数统计来分析您的数据,而无需进行分布假设。