現在、私は毎日大量のデータを集計しており、毎日現在の値の中央値を計算しています。ここで、この毎日の結果をすべて月単位で集計する必要があります。もちろん、中央値を再度計算する必要があります。
中央値の中央値を計算し、それを統計的に正しくする方法はありますか? 膨大な量なので、生データを再度使用することは避けたいです:)
概念の小さな証明として、私はこの JavaScript を作成しました - 方法を見つけるのに役立つかもしれません:
var aSortedNumberGroups = [];
var aSortedNumbers = [];
var aMedians = [];
Math.median = function(aData)
{
var fMedian = 0;
var iIndex = Math.floor(aData.length/2);
if (!(aData.length%2)) {
fMedian = (aData[iIndex-1]+aData[iIndex])/2;
} else {
fMedian = aData[iIndex];
}
return fMedian;
};
for (var iCurrGroupNum = 0; iCurrGroupNum < 5; ++iCurrGroupNum) {
var aCurrNums = [];
for (var iCurrNum = 0; iCurrNum < 1000; ++iCurrNum) {
var iCurrRandomNumber = Math.floor(Math.random()*10001);
aCurrNums.push(iCurrRandomNumber);
aSortedNumbers.push(iCurrRandomNumber);
}
aCurrNums.sort(function(oCountA,oCountB) {
return (iNumA < iNumB) ? -1 : 1;
});
aSortedNumberGroups.push(aCurrNums);
aMedians.push(Math.median(aCurrNums));
}
console.log("Medians of each group: "+JSON.stringify(aMedians, null, 4));
console.log("Median of medians: "+Math.median(aMedians));
console.log("Median of all: "+Math.median(aSortedNumbers));
ご覧のとおり、すべての生の数値の中央値と中央値の中央値の間には大きな上限があることが多く、私はそれを互いにかなり近づけたいと思っています.
どうもありがとう!