我需要計算一系列相關但分段數據集的第N個百分位數。來自不同數據集的百分位數的組合:如何完成?
由於內存限制,組合的數據集太大而無法一次全部計算,但執行分段計算的框架已經就位。那麼我怎樣才能對每個數據集進行計算,然後結合這些計算來找到我需要的百分位數?
有關數據的其他信息:
的數據往往有異常。
單個數據集往往是大致相同的尺寸,但並不總是
單個數據集預計不會共享相同的分佈
我可以計算的合併正中,平均值和標準偏差,然後從那裏估計任何百分位數?
我需要計算一系列相關但分段數據集的第N個百分位數。來自不同數據集的百分位數的組合:如何完成?
由於內存限制,組合的數據集太大而無法一次全部計算,但執行分段計算的框架已經就位。那麼我怎樣才能對每個數據集進行計算,然後結合這些計算來找到我需要的百分位數?
有關數據的其他信息:
的數據往往有異常。
單個數據集往往是大致相同的尺寸,但並不總是
單個數據集預計不會共享相同的分佈
我可以計算的合併正中,平均值和標準偏差,然後從那裏估計任何百分位數?
單獨的中位數,平均數和標準差不太可能是足夠的,特別是如果您有異常值。
如果需要確切的百分位數,這是一個並行計算問題。在這方面已經完成了一些工作,例如parallel mode of the C++ STL library。
如果只需要近似百分位數,那麼交叉驗證有一個問題 - Estimation of quantile given quantiles of subset - 這表明採樣子方法。您可以從每個數據集中選取一些(但不是全部)數據點,製作一個新的組合數據集,該數據集足夠小以適合單臺機器並計算其百分位數。
另一種近似方法,如果每個分段的百分位數已經可用,則將其作爲百分位數的階梯函數近似爲每個分段的cumulative distribution function。然後整體分佈將是分段分佈的finite mixture,累積分佈函數是分段累積分佈函數的加權和。分位數函數(即百分位數)可以通過數字地反轉累積分佈函數來計算。
您指出的答案是不回答問題 – ShikharDua