如何计算已装箱数据的峰度



有人知道如何使用Python单独从装箱数据计算分布的峰度吗?

我有一个分布的直方图,但没有原始数据。共有两列;一个带有料箱编号,一个带有计数编号。我需要计算分布的峰度。

如果我有原始数据,我可以使用scipy函数来计算峰度。我在这个文档中看不到任何可以使用装箱数据进行计算的内容。https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.kurtosis.html

scipy的binned统计选项允许您计算bin内的峰度,但仅使用原始数据,并且仅在bin内。https://docs.scipy.org/doc/scipy-0.16.0/reference/generated/scipy.stats.binned_statistic.html

编辑:示例数据。我可以尝试从中重新采样,以创建我自己的伪原始数据,但我每天有大约140k个这样的数据要运行,我希望有一些内置的数据。

Index,Bin,Count
0, 730, 30
1, 735, 45
2, 740, 41
3, 745, 62
4, 750, 80
5, 755, 96
6, 760, 94
7, 765, 90
8, 770, 103
9, 775, 96
10, 780, 95
11, 785, 109
12, 790, 102
13, 795, 99
14, 800, 93
15, 805, 101
16, 810, 109
17, 815, 98
18, 820, 89
19, 825, 62
20, 830, 71
21, 835, 69
22, 840, 58
23, 845, 50
24, 850, 42

您可以直接计算统计数据。如果x是仓位编号,y是每个仓位的计数,则f(x)的期望值等于np.sum(y*f(x))/np.sum(y)。我们可以使用它将峰度公式转换为以下代码:

total = np.sum(y)
mean = np.sum(y * x) / total
variance = np.sum(y * (x - mean)**2) / total
kurtosis = np.sum(y * (x - mean)**4) / (variance**2 * total)

请注意,峰度和过度峰度不是一回事。

相关内容

  • 没有找到相关文章

最新更新