首先,快速定义多项分布:假设我们要掷骰子边,以及该边的概率排在首位的是. 如果我们跑掷骰子的独立试验,并计算次数那边出现在顶部,然后是随机向量是根据多项分布生成的。
现在假设我们已经观察到计数. 有没有一种方法可以统计检验数据是从带有参数的多项分布生成的假设的假设?
首先,快速定义多项分布:假设我们要掷骰子边,以及该边的概率排在首位的是. 如果我们跑掷骰子的独立试验,并计算次数那边出现在顶部,然后是随机向量是根据多项分布生成的。
现在假设我们已经观察到计数. 有没有一种方法可以统计检验数据是从带有参数的多项分布生成的假设的假设?
现有的答案指出了皮尔逊的卡方检验。虽然这通常是一个很好的解决方案,但它确实依赖于近似值。Pearson 推导出卡方统计量近似遵循卡方分布,他用它来计算 p 值。他通过假设多项式随机向量实际上是多元正态来进行此推导。因此,当所有计数都很高时,这很有效,但当它们很低时,则不一定。
我想指出四个不依赖于这种近似的替代方案。
一种是精确多项式检验,通过枚举计算 p 值。我的意思是,您可以根据数据计算拟合不良统计量,无论是卡方统计量还是似然比统计量。然后,您实际上会遍历每个可能的多项式随机向量,检查该向量的检验统计量是否超过观察到的统计量,并将概率相加。等于或超过观察值的总概率是您的 p 值。此方法在R 包 XNomial中实现,如 xmulti()。
选择一个拟合差的度量作为检验统计量。同样,可能是卡方或似然比统计。从您的理论分布中模拟样本,并计算统计量等于或超过观察到的时间的比例。这个分数就是你的 p 值。此方法也在XNomial中实现,如 xmonte()。自己编写代码也很容易,在 R 中使用 rmultinom 或其他语言中的等价物。
这仅适用于特殊情况,其中空分布有点“均匀”,并且您正在测试数据是否比应有的更“不均匀”。例如,天文学家鲁道夫沃尔夫做了一个实验,他将两个骰子掷了 20,000 次。一个骰子最常出现在第 6 面 - 3932 次。另一个最常出现在第 2 方 - 3631 次。仅此信息就足以拒绝骰子是公平的零假设。您的检验统计量是最常观察到的一侧的观察次数。关注第二个骰子,这个数字小于观察到的概率是这样的,看起来有点像 CDF:
观察所有面的概率为 3630 次或更少,明白吗?这里的意思是次数被观测到。所以这是最大的概率是 3630 或更少。所以,我们的 p 值——最大值为 3631 或更大的概率——是 1 减去这个概率。
可以使用我的包 pmultinom在 R 中计算此概率。事实上,它是“pmultinom”函数文档中的示例代码。还有另一个名为 pmultinom 的包。从理论上讲,另一个包使用的是近似值,而我的是精确计算,但我没有机会比较并查看差异是否足够大。
所以,这是一个特例,它也可能不那么强大,因为你只使用来自一个可能结果的信息,但有时它就足够了。
我猜还有第四种可能性,即使用似然比检验假设 2 * log(似然比)具有卡方分布。(其中似然比是数据的概率,因为真实概率是观察到的频率,除以给定假设的数据的概率。这与维基百科上的定义相反,但对我来说更有意义在这种情况下,因为拟合不好时它很高,就像卡方统计一样。)这也是近似的,但它可能适用于不同的情况。令人惊讶的是,我找不到执行此操作的 R 函数。自己编写代码应该很容易。我不完全确定卡方分布使用多少自由度。
对我来说,这看起来像是一个合适的应用程序。您应该使用卡方检验。因此,如果您有 3 个边并且您的概率向量是 (0.1, 0.2, 0.7),并且您有 100 次试验。您会期望结果为 (10, 20, 70)。使用理论计数与卡方检验中观察到的计数进行比较。
看看https://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test#Two-by-two_contingency_tables
是的,它被称为Pearson's测试。预期频率为(在哪里是总样本量),观察到的频率就是你所说的.
拟合优度检验的应用是错误的解决方案,因为它们拒绝了您想确认的假设。等效性测试的正确技术。请看我的论文https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2907258和https://www.researchgate.net/publication/312481284_Testing_equivalence_of_multinomial_distributions。该实现也可以在 github 上找到。如果有任何问题,请随时问我。