2012-07-11 15 views
9

क्या कोई अजगर सांख्यिकीय पैकेज है जो भारित कॉन्वर्सिस की गणना का समर्थन करता है (यानी, प्रत्येक अवलोकन में वजन होता है)? असुविधाजनक numpy.cov वजन का समर्थन नहीं करता है।पायथन पैकेज जो भारित कॉन्वर्सिस गणना का समर्थन करता है

पसंदीदा रूप से numpy/scipy ढांचे के तहत काम कर रहा है (यानी, गणना को तेज करने के लिए numpy arrays का उपयोग करने में सक्षम)।

बहुत बहुत धन्यवाद!

+0

http://www-pcmdi.llnl.gov/svn/repository/cdat/trunk/Packages/genutil/Lib/statistics.py - इसे आजमाएं? –

+0

आँकड़े के मॉडल में लगभग – user333700

उत्तर

6

आँकड़े मॉडल ने stats में कॉन्वर्सिस गणना को भारित किया है।

लेकिन हम अभी भी यह भी सीधे गणना कर सकते हैं:

# -*- coding: utf-8 -*- 
"""descriptive statistic with case weights 

Author: Josef Perktold 
""" 

import numpy as np 
from statsmodels.stats.weightstats import DescrStatsW 


np.random.seed(987467) 
x = np.random.multivariate_normal([0, 1.], [[1., 0.5], [0.5, 1]], size=20) 
weights = np.random.randint(1, 4, size=20) 

xlong = np.repeat(x, weights, axis=0) 

ds = DescrStatsW(x, weights=weights) 

print 'cov statsmodels' 
print ds.cov 

self = ds #alias to use copied expression 
ds_cov = np.dot(self.weights * self.demeaned.T, self.demeaned)/self.sum_weights 

print '\nddof=0' 
print ds_cov 
print np.cov(xlong.T, bias=1) 

# calculating it directly 
ds_cov0 = np.dot(self.weights * self.demeaned.T, self.demeaned)/\ 
       (self.sum_weights - 1) 
print '\nddof=1' 
print ds_cov0 
print np.cov(xlong.T, bias=0) 

यह प्रिंट:

cov statsmodels 
[[ 0.43671986 0.06551506] 
[ 0.06551506 0.66281218]] 

ddof=0 
[[ 0.43671986 0.06551506] 
[ 0.06551506 0.66281218]] 
[[ 0.43671986 0.06551506] 
[ 0.06551506 0.66281218]] 

ddof=1 
[[ 0.44821249 0.06723914] 
[ 0.06723914 0.68025461]] 
[[ 0.44821249 0.06723914] 
[ 0.06723914 0.68025461]] 

संपादकीय टिप्पणी

प्रारंभिक जवाब statsmodels कि कर दिया गया है में एक बग ने बताया इस बीच तय किया गया।

+0

लगता है कि आँकड़े मॉडल बग [2013 में तय किया गया था] (https://github.com/statsmodels/statsmodels/issues/370#issuecomment-15357376)। – drevicko

+0

@ Mayou36 संपादन के लिए धन्यवाद। जब मैंने इसे देखा था तब तक इसे पहले ही खारिज कर दिया गया था। मैंने सही जवाब आंकड़े संस्करण को प्रतिबिंबित करने के लिए अपना उत्तर अपडेट किया – user333700

संबंधित मुद्दे