1.Binning method
分箱法(不知道咋翻译)用于平滑数据或处理有噪声的数据。在这种方法中,首先对数据进行排序,然后将排序后的值分布到多个桶或箱中。
1.1分箱方法
1.等频率法;每个bin都有同样的频率。
2.等宽度法;[min + w], [min + 2w] …. [min + nw],其中w = (max – min) / ( bins的数目)。
1.2执行规则
执行局部平滑的规则如下,
1.按均值平滑。每个bin里的数值都等价于这个bins里数值的均值。
2.按中位数平滑。每个bin里的数值都等价于这个bins里数值的中位数。
3.按边界平均。①确定每个bin的最大值和最小值。②对于bin里的数值,若其靠近最大值则等价到最大值;如若靠近最小值,则等价为最小值。
2.matlab代码
m = rand(10,2); %Generate data
x = m(:,1); %split into x and y
y = m(:,2);
topEdge = 1; % define limits
botEdge = 0; % define limits
numBins = 2; % define number of bins
binEdges = linspace(botEdge, topEdge, numBins+1);
[h,whichBin] = histc(x, binEdges);
for i = 1:numBins
flagBinMembers = (whichBin == i);
binMembers = y(flagBinMembers);
binMean(i) = mean(binMembers);
end
3 R命令binning
type = c(“quantile”, “equal”, “pretty”, “kmeans”, “bclust”)提供了bins数目选择的方法。
4.参考文献
【1】Python代码1.1
【2】Python代码1.2
【3】MATLAB代码
【4】R命令