将参数 CDF 拟合到 ecdf

机器算法验证 估计 累积分布函数 经验累积分布
2022-04-17 21:51:08

有一个随机变量X,但我观察到的唯一数据实际上是它的经验分布函数(在适当的细网格上)。也就是说,我只观察F^(x):=#{xu}N对于多个u's,其中样本大小 N 是固定的但未知的,并且u's 的间距适当。

我猜测X来自参数分布FX(x;α,β,μ)所以我想估计参数α,β,μ. 我能想到的自然方式是最小化一些标准,比如 MSE,在F^FX.

我有两个问题:

  1. 除了 MSE,还有其他自然标准可以使用吗?(例如,Kullback Leibler Divergence 的某种经验版本?)
  2. 这个估计问题有完全不同的方法吗?是否有我需要知道的通过 ecdf 拟合参数 cdf 的文献?
2个回答

我不会仅仅因为F^没有恒定的方差。如果您使用应该做得更好的加权 MSE……但是然后F^iF^j也不是独立的。

一种可能性,如果你想F^尽可能接近F在类似 MSE 的意义上,您可能会尝试最小化 Anderson-Darling 统计量(因为它就像一个精确加权的 MSE)。

老实说,如果可行的话,我倾向于使用可能性来估计参数——但不是在 ECDF 上;您想处理数据并构建可能性(即查看数据值和f, 不是FF^) 如果你区别回本质上是直方图您应该能够从中获得良好的 ML 估计*。

在此处输入图像描述

4 5 5 5 6 6 6 7 7 7 7 8 9 9 9 9 9 9 ...

*(如果由于离散化而略微近似)

- 如果在只有ecdf 而没有 ecdf的情况下如何获得样本量并不明显n,让我明确一点。您似乎正在处理的情况(即“在适当精细的网格处”所暗示的那样)我们有一个精细离散的连续分布,如果我们有观察结果,我们仍然可以合理地将其视为连续分布。

考虑到在每个跳转点,ecdf 必须增加1/n.

总是增加几倍的机会k/n(2/n或者3/n说)在每个跳跃点确实会非常小(一些简单的手工计算或模拟使这一点足够好)。所以我们可以 - 概率非常接近 1 - 推断出确切的n通过找到最大的1/n与 ecdf 的每一次变化一致。

[另一方面,在非常粗略的网格中使用非常小的样本,因此只会出现几个不同的值,您可以获得每个点的增加2/n也许3/n所以遇到问题,特别是如果你想要标准错误。因此,如果我们只有 4 个垃圾箱并且这些垃圾箱中的计数是 2、6、12、4,我们会得到n错误(看起来跳跃是 1/12 而不是 1/24 的倍数,所以我们认为ni是 1,3,6,2),因此标准误差 - 在某些情况下,甚至是点估计 - 可能是一个公平的方法。幸运的是,这个问题不是这样。]

你问了相关的文献。

如果您的模型是幂律、对数正态、泊松或二项式,您应该检查 Clauset 等人的工作。“经验数据中的幂律分布” http://arxiv.org/pdf/0706.1062.pdf他们描述了如何通过引导、对实际数据和生成数据的 ecdf 执行拟合来做到这一点。使用这种方法时必须谨慎,并遵循本文中详细描述的程序。

要记住的重要一点是,您永远无法证明您的数据遵循模型,您只能反驳它遵循模型。p 值可以为您提供数据和模型的接近程度,但您只能通过对可以解释数据的其他可能模型执行相同的测试来仔细得出结论。

该论文的作者还提供了一个库来执行这些模型的测试(R 中的 powerlaw 包),以及其他语言的部分实现。