标准差是完全错误的吗?您如何计算高度、计数等(​​正数)的标准值?

机器算法验证 可能性 数理统计 正态分布 标准差
2022-01-30 15:38:16

假设我正在计算高度(以厘米为单位),并且数字必须大于零。

这是示例列表:

0.77132064
0.02075195
0.63364823
0.74880388
0.49850701
0.22479665
0.19806286
0.76053071
0.16911084
0.08833981

Mean: 0.41138725956196015
Std: 0.2860541519582141

在此示例中,根据正态分布,99.7% 的值必须在均值标准差的 ±3 倍之间。然而,即使是两倍的标准差也会变成负数:

-2 x std calculation = 0.41138725956196015 - 0.2860541519582141 x 2 = -0,160721044354468

但是,我的数字必须是正数。所以它们必须高于 0。我可以忽略负数,但我怀疑这是使用标准差计算概率的正确方法。

有人可以帮助我了解我是否以正确的方式使用它吗?还是我需要选择不同的方法?

老实说,数学就是数学。不管它是否是正态分布。如果它适用于无符号数,它也应该适用于正数!我错了吗?

EDIT1:添加直方图

为了更清楚,我添加了我的真实数据的直方图 在此处输入图像描述

EDIT2:一些值

Mean: 0.007041500928135767
Percentile 50: 0.0052000000000000934
Percentile 90: 0.015500000000000047
Std: 0.0063790857035425025
Var: 4.06873389299246e-05
4个回答

如果您的数字只能是正数,那么根据您的用例,可能不希望将它们建模为正态分布,因为所有实数都支持正态分布。

也许您想将高度建模为指数分布,或者截断正态分布?

编辑:看到你的数据后,它看起来真的很适合指数分布!例如,您可以通过采用最大似然方法来估计λ

“将 68-95-99.7 应用于我的案例的正确方法是什么?”

只有当您(1)查看整个(无限)总体理论概率分布,以及(2)分布完全正常时,人们才应该期望覆盖范围的经验法则完全适用

如果您抽取大小为 20 的随机样本,即使是真正的正态分布,您也不会总是发现 95% 的数据(20 项中的 19 项)位于均值的 2(或 1.960)个标准差范围内。事实上,既不能保证 20 个项目中的 19 个在总体均值的 1.960 个总体标准差范围内,也不能保证 20 个项目中有 19 个在样本均值的 1.960 个样本标准差范围内。

如果您从不完全正态分布的分布中抽取数据样本,那么人们也不会期望 68-95-99.7 规则完全适用。但它可能相当接近这样做,特别是如果样本量很大(“99.7% 覆盖率”的经验法则在样本量低于 1000 时可能不是特别有意义)并且分布相当接近正态性。从理论上讲,许多数据(例如身高或体重)不可能来自精确的正态分布,或者这意味着它们为负的概率很小但非零。然而,对于具有近似对称和单峰分布的数据,其中中间值更常见并且极高或极低值的概率下降,正态分布模型可能足以满足实际目的。如果我的直方图显示钟形曲线,我可以说我的数据是正态分布的吗?

如果您想要适用于任何分布的理论上的绑定界限,请参阅Chebyshev's 不等式,它指出最多的值可以大于1/k2k与平均值的标准差。这保证了至少 75% 的数据位于平均值的两个标准差范围内,89% 的数据位于三个标准差范围内。但这些数字只是理论上保证的最小值。对于许多大致呈钟形的分布,您会发现两个标准差的覆盖率比 75% 更接近 95%,因此正态分布的“经验法则”仍然有用。另一方面,如果您的数据来自一个远非钟形的分布,您可能能够找到一个替代模型来更好地描述数据并具有不同的覆盖规则。

(关于 68-95-99.7 规则的一个优点是它适用于任何正态分布,无论其均值或标准差参数如何。类似地,切比雪夫不等式适用于任何参数,甚至分布,尽管仅给出覆盖范围的下限。但是,如果您应用例如截断正态偏斜正态模型,那么就没有“68-95-99.7”覆盖的简单等价物,因为它取决于分布的参数.)

有人可以帮助我了解我是否以正确的方式使用它吗?

哦,这很容易。不,你没有正确使用它。

首先,您使用的是相当小的数据集。尝试从这个大小集合中梳理出统计行为当然是可能的,但是置信区间(咳咳)相当大。对于小数据集,与预期分布的偏差是正常的,数据集越小问题越大。请记住,“平均法则不仅允许最离谱的巧合,它还需要它们。”

更糟糕的是,您使用的特定数据集看起来不像正态分布。想想看——平均值为 0.498 时,有两个样本低于 0.1,还有三个样本在 0.748 或以上。然后你有 0.17 和 0.22 之间的 3 个点的集群。查看这个特定的数据集并认为它必须是正态分布是 Procrustean 论证的一个很好的例子。对你来说,这看起来像钟形曲线吗?较大的人口完全有可能遵循正态或修正的正态分布,并且更大的样本量可以解决这个问题,但我不会打赌,尤其是在不了解更多关于人口的情况下。

我说修正正态,因为正如 Kevin Li 所指出的,从技术上讲,正态分布包括所有实数。正如对他的回答的评论中还指出的那样,这并不妨碍在有限范围内应用这种分布并获得有用的结果。俗话说,“所有的模型都是错误的。有些是有用的。”

但是这个特定的数据集看起来并不像推断正态分布(即使在有限的范围内)是一个特别好的主意。如果您的 10 个数据点看起来像 .275,.325,.375,.425,.475,.525,.575,.625,.675,.725(均值为 0.500),您会假设为正态分布吗?

在其中一条评论中,您说您使用了“随机数据”,但您没有说来自哪个分布。如果您在谈论人类的身高,它们大致呈正态分布,但您的数据与人类身高不太合适 - 您的身高只有几分之一厘米!

而且你的数据远非正常。我猜您使用了边界为 0 和 1 的均匀分布。并且您生成了一个非常小的样本。让我们尝试一个更大的样本:

set.seed(1234)  #Sets a seed
x <- runif(10000, 0 , 1)
sd(x)  #0.28

因此,没有任何数据超出平均值 2 sd,因为这超出了数据的范围。1 sd 内的部分约为 0.56。