使用`scipy.stats.binned_statistic`标准化分箱值的标准偏差

问题描述 投票:2回答:1

当我将数据相应地分类到scipy.stats.binned_statisticsee here for example)时,如何得到平均分箱值的误差(即标准偏差)?

例如,如果我将数据分类如下:

windspeed = 8 * np.random.rand(500)
boatspeed = .3 * windspeed**.5 + .2 * np.random.rand(500)
bin_means, bin_edges, binnumber = stats.binned_statistic(windspeed,
             boatspeed, statistic='median', bins=[1,2,3,4,5,6,7])
plt.figure()
plt.plot(windspeed, boatspeed, 'b.', label='raw data')
plt.hlines(bin_means, bin_edges[:-1], bin_edges[1:], colors='g', lw=5,
        label='binned statistic of data')
plt.legend()

如何获得bin_means的标准偏差?

python statistics binning
1个回答
0
投票

解决这个问题的方法是从直方图构建概率密度估计(这只是对直方图进行适当标准化的问题),然后计算标准偏差或估计密度的任何其他统计量。

适当的归一化是使直方图下的面积为1所需的任何值。对于密度估计的计算统计,从统计量的定义起作为integral(p(x)*f(x), x, -infinity, +infinity),用p(x)的密度估计代替f(x)所需的任何东西,例如xx^2得到第一和第二个时刻,从中计算方差,然后计算标准差。

我明天会发布一些公式,或者也许其他人想在此期间尝试一下。你可能能够查找一些公式,但我的建议是在尝试查找之前总是尝试找出答案。

© www.soinside.com 2019 - 2024. All rights reserved.