我有一个二进制变量(取值 0,1)。我有大约 10 万条记录。如何确定它是否遵循二项分布?
(我基本上是在尝试测试正态性。而且,如果数据不正常,我可能必须应用转换以将变量变为二项分布。)
嘿嘿,谢谢大家解惑。
这是作为聚类分析前奏的努力。我也明白,变量的正态性对于聚类分析来说是一个更好的选择,而且距离度量即使在其他情况下也是有效的。你的看法?
我有一个二进制变量(取值 0,1)。我有大约 10 万条记录。如何确定它是否遵循二项分布?
(我基本上是在尝试测试正态性。而且,如果数据不正常,我可能必须应用转换以将变量变为二项分布。)
嘿嘿,谢谢大家解惑。
这是作为聚类分析前奏的努力。我也明白,变量的正态性对于聚类分析来说是一个更好的选择,而且距离度量即使在其他情况下也是有效的。你的看法?
您无法通过统计测试来确定这一点,原因很简单,也有很深的原因。
微不足道的原因是您的数据由个 1 和个0约为 100k。这些数据非常符合伯努利()分布。无需测试。
深刻的原因是你隐含地假设数据是独立随机的——但它们可能不是。例如,如果它们是通过随着时间的推移对进程进行采样来收集的,那么您可能会看到长字符串后跟长字符串。将这些建模为伯努利分布的抽取可能是一个糟糕的选择。另一种可能性是这些值是独立的,但的概率随时间而变化。(这将是一个“过度分散”的二项式模型。)
没有的变换会产生正态分布!也许您希望某些统计数据(例如样本均值)是正态分布的。中心极限定理保证,只要这些值是独立的,并且概率不会随着时间的推移趋向于或。
我完全同意@whuber——只是想补充一下:
如果您要尝试转换数据。你会怎么做呢?您会将 0 映射到某个数字,例如 -5,将 1 映射到其他数字?比如说 5?
所以现在而不是:
0 0 0 1 0 1 1 0 1 0 1
你有:
-5 -5 -5 5 -5 5 5 -5 5 -5 5
这不可能是正态分布的,因为您仍然只有两个值!
然而,这些条目中的每一个都可以是 Binomial(1,p) 正如@whuber 所描述的[与 Bernoulli(p) 相同],但不是Binomial(N,p) 因为如果您只有二进制数据,N 永远不会大于 1。
所有二元变量都具有二项分布,前提是成功概率(观察到的概率为 1)不变并且它们的所有实例都是独立的。一条经验法则说,当 n*p>30 时,二项分布可以用正态分布相当近似,其中 n=实例数,p=成功概率。
因此,我认为您的问题是关于测试独立性和恒定成功率。对于前者,您可以使用 Bradley run test http://www.itl.nist.gov/div898/handbook/eda/section3/eda35d.htm(我想它也有另一个名字)。对于后者,我只有一个粗略的答案:您可以将样本分成 k 个子组,然后使用子组中的 k 个成功比例构建测试。