我有一个包含高度的数据框。数据不能低于零。这就是为什么我不能使用标准偏差,因为该数据不是正态分布。我不能在这里使用 68-95-99.7 规则,因为它在我的案例中失败了。这是我的数据框,均值和标准差。
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
如果我得到 2 个 std,如您所见,数字变为负数。
-2 x std calculation = 0.41138725956196015 - 0.2860541519582141 x 2 = -0,160721044354468
我已经尝试使用 percentile
并且老实说我并不满意。我如何将切比雪夫不等式应用于这个问题?这是我到目前为止所做的:
np.polynomial.Chebyshev(df['Heights'])
但这返回的数字不是我可以测量的 SD 级别。还是您认为切比雪夫是我的最佳选择?
预期的解决方案:
I am expecting to get a range like 75% next height will be between 0.40 - 0.43 etc.
EDIT1:添加直方图
为了更清楚,我添加了真实数据的直方图
EDIT2:来自真实数据的一些值
Mean: 0.007041500928135767
Percentile 50: 0.0052000000000000934
Percentile 90: 0.015500000000000047
Std: 0.0063790857035425025
Var: 4.06873389299246e-05
非常感谢
最佳答案
您似乎混淆了同一位数学家的两个想法,Chebyshev .这些想法不相同。
Chebysev's inequality陈述了一个对许多概率分布都成立的事实。对于两个标准差,它表示四分之三的数据项将位于距均值两个标准差的范围内。正如您所说,对于正态分布,大约 19/20 的项目将位于该区间内,但切比雪夫不等式是几乎所有分布都满足的绝对界限。您的数据值永远不会为负这一事实不会改变不平等的真相;它只是使区间中值的实际比例更大,因此不等式更真实(某种意义上)。
Chebyshev polynomials不涉及统计,而只是一系列(或两个系列)多项式,通常用于计算计算机函数的近似值。那就是np.polynomial.Chebyshev
涉及,因此对您来说似乎根本没有用。
所以自己计算切比雪夫不等式。不需要为此使用特殊函数,因为它非常简单(这是 Python 3 代码):
def Chebyshev_inequality(num_std_deviations):
return 1 - 1 / num_std_deviations**2
您可以更改它以处理 k <= 1
的情况但这个想法很明显。
在您的特定情况下:不等式表示至少 3/4 或 75% 的数据项将位于均值的 2 个标准差范围内,这意味着超过 0.41138725956196015 - 2 * 0.2860541519582141
。小于 0.41138725956196015 + 2 * 0.2860541519582141
(注意不同的符号),简化为区间
[-0.16072104435446805, 0.9834955634783884]
在您的数据中,100% 的数据值都在该区间内,因此切比雪夫不等式是正确的(当然)。
现在,如果您的目标是预测或估计某个百分位数所在的位置,切比雪夫不等式就没有多大帮助。它是一个绝对下限,因此它为百分位数提供了一个限制。例如,根据我们上面所做的,我们知道第 12.5 个百分位数等于或高于 -0.16072104435446805
。并且第 87.5 个百分位数等于或低于 0.9834955634783884
.这些事实是真实的,但可能不是您想要的。如果您想要一个更接近实际百分位数的估计,这不是可行的方法。 68-95-99.7 规则是一个估计值——实际位置可能更高或更低,但如果分布是正态分布,则估计值不会太远。切比雪夫不等式不做那种估计。
如果您想估计第 12.5 和第 87.5 个百分位数(显示 75% 的人口将下降的位置),您应该计算样本的这些百分位数并使用这些值。如果您不了解有关您所拥有的发行类型的更多详细信息,我认为没有更好的方法。正态分布如此受欢迎是有原因的!
关于python - 我如何将切比雪夫不等式应用于这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51350025/