2012-10-04 9 views
16

में समय श्रृंखला विश्लेषण के लिए पैकेज मैं अजगर में समय श्रृंखला पर काम कर रहा हूं। पुस्तकालय जो मुझे उपयोगी और आशाजनक पाया गया हैपायथन

  • पांडा;
  • आंकड़े मॉडल (एआरआईएमए के लिए);
  • पांडा से सरल घातीय चिकनाई प्रदान की जाती है।
भी दृश्य के लिए

: matplotlib

किसी घातीय समरेखण के लिए एक पुस्तकालय पता है?

+1

संबंधित मूविंग औसत भविष्य मूल्यों की भविष्यवाणी कर सकते हैं: [अजगर में घातीय चलती औसत की गणना] (http://stackoverflow.com/questions/488670/गणना-घातीय-चलती-औसत-इन-पायथन) – jfs

उत्तर

22

पांडा तेजी से पल चलती भारित है कार्य करता

http://pandas.pydata.org/pandas-docs/dev/computation.html?highlight=exponential#exponentially-weighted-moment-functions

वैसे, वहाँ scikits.timeseries पैकेज है कि पांडा में भी नहीं है किसी भी कार्यक्षमता बचे हुए नहीं होना चाहिए।

संपादित: चूंकि यह अब भी एक लोकप्रिय सवाल है, वहाँ अब प्रगति पुल अनुरोध में एक काम है और अधिक पूरी तरह here

+1

अद्यतन और अच्छे काम के लिए आपको बहुत बहुत धन्यवाद। – foc

8
पर पाया घातीय समरेखण विशेष रुप से जोड़ने के लिए

किसी भी तरह से कुछ प्रश्न विलय या हटा दिए गए हैं, इसलिए मैं अपना उत्तर यहां पोस्ट करूंगा।

पाइथन में मूल रूप से चिकनाई करना।

''' 
simple exponential smoothing 
go back to last N values 
y_t = a * y_t + a * (1-a)^1 * y_t-1 + a * (1-a)^2 * y_t-2 + ... + a*(1-a)^n * y_t-n 
''' 
from random import random,randint 

def gen_weights(a,N): 
    ws = list() 
    for i in range(N): 
     w = a * ((1-a)**i) 
     ws.append(w) 
    return ws 

def weighted(data,ws): 
    wt = list() 
    for i,x in enumerate(data): 
     wt.append(x*ws[i]) 
    return wt 

N = 10 
a = 0.5 
ws = gen_weights(a,N) 
data = [randint(0,100) for r in xrange(N)] 
weighted_data = weighted(data,ws) 
print 'data: ',data 
print 'weights: ',ws 
print 'weighted data: ',weighted_data 
print 'weighted avg: ',sum(weighted_data)