2010-01-14 3 views
7

में मौसमी समायोजन मैं पाइथन का उपयोग करके मासिक डेटा को मौसमी समायोजित करने के लिए देख रहा हूं। जैसा कि आप इन श्रृंखलाओं से देख सकते हैं: www.emconfidential.com, डेटा के लिए एक उच्च मौसमी घटक है। मैं इसके लिए समायोजित करना चाहता हूं ताकि श्रृंखला की प्रवृत्ति बढ़ रही है या गिरने पर मैं बेहतर गेज कर सकता हूं। किसी को भी पता है कि कैसे आसानी से scipy या अन्य पायथन पुस्तकालय का उपयोग कर यह करने के लिए?पायथन और सिसी

उत्तर

3

कोई जादुई पायथन पुस्तकालय नहीं है जो आपके लिए मौसमी समायोजन करेगा। इस तरह की चीज करने वाले अनुप्रयोग rather large होते हैं।

आपको yourself गणित को काम करने की आवश्यकता होगी और फिर आपके लिए बाकी की गणना करने के लिए scipy का उपयोग करें।

+0

धन्यवाद मुझे लगता है कि आप सही हैं कि मैं इसे स्वयं ही प्रोग्राम करूंगा। आपका पीडीएफ एक अच्छा स्रोत है। हालांकि यह सच नहीं है कि कोई पाइथन पुस्तकालय नहीं है जो ऐसा करता है: http://hydroclimpy.sourceforge.net/generated/scikits.hydroclimpy.core.ts_addons.deseasonalize.html#scikits.hydroclimpy.core.ts_addons.deseasonalize समस्या ऊपर है एल्गोरिदम मैं चाहता हूँ नहीं है। मैं एक एक्स 12 अरिमा कार्यान्वयन की तलाश में हूं। –

+2

दुर्भाग्यवश, पीडीएफ लिंक टूटा हुआ प्रतीत होता है, या फ़ाइल हटा दी गई है। वैसे भी इसकी एक प्रति कैसे प्राप्त करें? – FaCoffee

0

इस के प्रोग्रामिंग पहलू पर निश्चित नहीं है, लेकिन मैं इसे हल करने के लिए औसत औसत पर विचार करना चाहूंगा।

+2

कि एक 12 अवधि चलती औसत के लिए काम करता है, केवल एक समस्या यह है कि अगर मैं से एक्सट्रपलेशन करना चाहते हैं क्या विकासशील प्रवृत्ति का विचार प्राप्त करने के लिए डेटा के पिछले 3 या 6 महीने? तो मुझे एक उचित मौसमी समायोजन की जरूरत है। –

3

स्टैट्समोडल्स यह कर सकते हैं। उनके पास एक मौसमी अपघटन और जनगणना X13 समायोजन के लिए एक रैपर भी है। आप आर के उत्कृष्ट एसए पुस्तकालयों में से कुछ तक पहुंचने के लिए rpy2 का भी उपयोग कर सकते हैं। यहाँ statsmodels है मौसमी decomp:

import pandas as pd 
import statsmodels.api as sm 
import matplotlib.pyplot as plt 
pd.options.display.mpl_style = 'default' 
%matplotlib inline 

dta = sm.datasets.co2.load_pandas().data.resample("M").fillna(method="ffill") 

res = sm.tsa.seasonal_decompose(dta) 

fig = res.plot() 
fig.set_size_inches(10, 5) 
plt.tight_layout() 

http://statsmodels.sourceforge.net/0.6.0/release/version0.6.html

1

अब एक पैकेज है कि वास्तव में आप के लिए क्या देख रहे हो रहा है नहीं है! seasonal पैकेज देखें, यहां link है। मैंने व्यक्तिगत रूप से इसे बहुत उपयोगी पाया, यह सोचकर कि दूसरों को क्या लगता है।

1

मैं फेसबुक पर डेटा विज्ञान टीम द्वारा विकसित Prophet का सुझाव दूंगा। इसमें पाइथन + आर एपीआई है और इसका समय-श्रृंखला पूर्वानुमान के लिए उपयोग किया जाता है, हालांकि आप इसे अपने श्रृंखला को अपने घटकों (प्रवृत्ति बनाम मौसमी) में विघटित करने के लिए उपयोग कर सकते हैं। आप आसानी से समायोजित करने और अपघटन कल्पना कर सकते हैं:

from fbprophet import Prophet 
import numpy as np 
import pandas as pd 

# Create series 
np.random.seed(0) 
x = np.arange(0, 10, .285) 
y_periodic = np.sin(x*np.pi) 
y_random = np.random.normal(size=len(x)) 
y_trend = x/10. 
df = pd.DataFrame({'ds': pd.date_range('01-01-2017', periods=len(x)), 
        'y': y_periodic}) 
df.head() # has to be a DataFrame with columns "ds" and "y" 
df.set_index('ds').plot(style='-*') 

Series with noise

# Estimate the model 
m = Prophet() 
m.fit(df); 
forecast = m.predict(df) 
m.plot_components(forecast); 

Trend and seasonality decomposition

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