2015-05-20 8 views
5

मैं एसवीएम-आधारित पूर्वानुमान के लिए एक पूर्ण नौसिखिया हूं और इसलिए यहां कुछ मार्गदर्शन की तलाश कर रहा हूं। मैं विज्ञान-सीखने के एसवीएम पुस्तकालयों का उपयोग करके, समय-श्रृंखला की भविष्यवाणी करने के लिए एक पायथन कोड सेट अप करने का प्रयास कर रहा हूं।विज्ञान के साथ समय श्रृंखला पूर्वानुमान

मेरे डेटा पिछले 24 घंटों के लिए 30 मिनट के अंतराल पर एक्स मान हैं, और मैं जिसके टाइमस्टैम्प के लिए y भविष्यवाणी करने के लिए की जरूरत है। यहाँ मैं क्या स्थापित किया है है -

SVR(kernel='linear', C=1e3).fit(X, y).predict(X) 

लेकिन इस भविष्यवाणी काम करने के लिए, मैं अगले टाइमस्टैम्प है, जो उपलब्ध नहीं है के लिए एक्स मूल्य की जरूरत है। भविष्य में वाई मूल्यों की भविष्यवाणी करने के लिए मैं इसे कैसे स्थापित करूं?

उत्तर

3

आप SVR इस तरह से उपयोग करना चाहिए:

# prepare model and set parameters 
svr_model = SVR(kernel='linear', C=1e3) 
# fit your model with the training set 
svr_model.fit(TRAINIG_SET, TAINING_LABEL) 
#predict on a test set 
svr_model.predict(TEST_SET) 

तो, समस्या यहाँ आप एक प्रशिक्षण सेट लेकिन एक परीक्षण के अपने मॉडल सटीकता को मापने के लिए सेट नहीं है कि है। एकमात्र समाधान के रूप में परीक्षण सेट ex: 80% for train 20% for test

संपादित

आशा मैं अच्छी तरह से समझ तुम क्या अपनी टिप्पणी से चाहते हैं अपने प्रशिक्षण सेट का एक हिस्सा उपयोग करने के लिए है।

from sklearn.svm import SVR 
import random 
import numpy as np 

''' 
data: the train set, 24 elements 
label: label for each time 
''' 

data = [10+y for y in [x * .5 for x in range(24)]] 
label = [z for z in [random.random()]*24] 

# reshaping the train set and the label ... 

DATA = np.array([data]).T 
LABEL = np.array(label) 

# Declaring model and fitting it 

clf = SVR(kernel='linear', C=1e3) 
clf.fit(DATA, LABEL) 

# predict the next label 

to_predict = DATA[DATA[23,0]+0.5] 

print clf.predict(to_predict) 

>> 0.94407674 
+0

कि अभी भी मुझे मदद नहीं करता है:

तो आप अपने ट्रेन सेट में पिछले एक घंटे के लिए अगले लेबल भविष्यवाणी करने के लिए चाहते हैं, यहाँ आप क्या चाहते हैं का एक उदाहरण है। यहां तक ​​कि अगर मैं अपना प्रशिक्षण सेट विभाजित करता हूं, तो मेरे पास उस बिंदु के लिए एक्स मान नहीं है जिसे मैं भविष्य में भविष्यवाणी करना चाहता हूं। – Raj

+0

भविष्य में भविष्यवाणी करने के लिए आप क्या बिंदु चाहते हैं? – farhawa

+1

समय श्रृंखला में अगला बिंदु, यानी, समय टी पर, मैं टी + 1 – Raj

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