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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用`scipy.stats.binned_statistic`标准化分箱值的标准偏差相关的知识,希望对你有一定的参考价值。

当我将数据相应地分类到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的标准偏差?

答案

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

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

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

以上是关于使用`scipy.stats.binned_statistic`标准化分箱值的标准偏差的主要内容,如果未能解决你的问题,请参考以下文章

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份

Kettle java脚本组件的使用说明(简单使用升级使用)