Kuantilleri hesaplamak istediğim ağırlıklı bir örneğim var. 1
İdeal olarak, ağırlıkların eşit olduğu durumlarda (= 1 veya başka türlü olsun), sonuçlar scipy.stats.scoreatpercentile()
ve R'lerinkiyle tutarlı olacaktır quantile(...,type=7)
.
Basit bir yaklaşım, verilen ağırlıkları kullanarak numuneyi "çoğaltmak" olacaktır. Bu, ağırlık> 1 olan bölgelerde etkili bir şekilde yerel olarak "düz" bir ecdf verir; bu, örnek aslında bir alt örnekleme olduğunda sezgisel olarak yanlış yaklaşım gibi görünür. Özellikle, ağırlıkları 1'e eşit olan bir numunenin ağırlıkları 2 veya 3'e eşit olanlardan farklı niceliklere sahip olduğu anlamına gelir (Bununla birlikte, [1] 'de belirtilen kağıdın bu yaklaşımı kullandığı görülmektedir.)
http://en.wikipedia.org/wiki/Percentile#Weighted_percentile , ağırlıklı persentil için alternatif bir formülasyon verir. Bu formülasyonda, aynı değerlere sahip bitişik numunelerin önce birleştirilip birleştirilmeyeceği ve ağırlıklarının toplanıp toplanmayacağı açık değildir ve her durumda sonuçları quantile()
, ağırlıksız / eşit ağırlıklı durumda R'nin varsayılan tip 7 ile tutarlı görünmemektedir . Quantiles üzerindeki wikipedia sayfası, ağırlıklı durumdan hiç bahsetmiyor.
R'nin "tip 7" kantil fonksiyonunun ağırlıklı bir genellemesi var mı?
[Python kullanarak, ama sadece bir algoritma arıyor, gerçekten, böylece herhangi bir dil yapacak
M
[1] Ağırlıklar tamsayılardır; ağırlıklar, http://infolab.stanford.edu/~manku/papers/98sigmod-quantiles.pdf . Esasen ağırlıklı numune, ağırlıksız numunenin tamamının bir alt örneğidir; alt numunedeki her bir eleman x (i), tam numunedeki ağırlık (i) elemanlarını temsil eder.