我有一个非常大的数据集,我需要对其进行一些统计分析。数据太大而无法一次性读取,因此我只能使用分箱直方图来解决问题。特别是,我希望能够拟合累积量(即直方图中每个点x右侧的计数数量)。
这是我制作一些模拟数据的脚本:
mu, sigma = 0.3, 1.3
x1 = np.random.lognormal(mu, sigma, size = 100000) # random dist
bins = 10**arange(0, 4, 0.01) # actual bins my real data uses
a, b = np.histogram(x1, bins = bins)
# calculating the cumulatives
cum = []
for i, v in enumerate(a):
cum.append(sum(a[i:]))
所以我想要适合的累积如下:
clf()
loglog(b[:-1], cum)
xlabel("Amps")
ylabel("# Occurences/Year")
show()
我的问题如下:
1)如何将对数正态拟合到累积?我看到scipy.stats.lognorm.fit将原始数据集作为参数。
2)我从这个stack overflow question看到你可以“恢复”直方图中的数据。我想要累积累积。这是正确的做法吗?
正如您可能猜到的那样,我不习惯使用这些发行版。
谢谢!