當前位置:首頁 » 分析預測 » 趨勢分析svm股票
擴展閱讀
股票估值高適合買 2025-08-18 22:44:20

趨勢分析svm股票

發布時間: 2021-07-13 05:21:13

Ⅰ 用libsvm做時間序列預測,為什麼訓練數據越少越准確

樓主的說法似乎不太對


首先,訓練數據的主要區別是什麼是測試數據:


如果我有一堆計時數據,首先隨機分為兩堆,一堆訓練只用於看模型是好的,然後前者稱為訓練數據。下面是幾個訓練數據序列。(注意不要把訓練數據的結果作為模型質量的度量,這是最基本的)。

最後,如果像預測股票價格一切都那樣簡單,那麼就不需要這么多機器學習和金融專家才能進行高頻交易

Ⅱ SVM回歸預測程序問題,求幫助

《MATLAB神經網路30個案例分析》裡面有一個用SVM做股票開盤價分析的程序
他裡面有這么幾句
ts = sh(2:m,1);
tsx = sh(1:m-1,:);
%歸一化 。。。
model = svmtrain(TS,TSX,cmd);
[predict,mse, decision_values] = svmpredict(TS,TSX,model);
他這個不是在用訓練集預測自己嗎?這樣有什麼意義?
另外我的時間序列每次只有一個數據,預測的時候是不是就只有一個特徵?
謝謝!!

Ⅲ 支持向量機能用到對 股票估值上嗎

支持向量機SVM(Support Vector Machine)作為一種可訓練的機器學習方法,依靠小樣本學習後的模型參數進行導航星提取,可以得到分布均勻且恆星數量大為減少的導航星表 基本情況 Vapnik等人在多年研究統計學習理論基礎上對線性分類器提出了另一種設計最佳准則。其原理也從線svm 產品
性可分說起,然後擴展到線性不可分的情況。甚至擴展到使用非線性函數中去,這種分類器被稱為支持向量機(Support Vector Machine,簡稱SVM)。支持向量機的提出有很深的理論背景。 支持向量機方法是在近年來提出的一種新方法。 SVM的主要思想可以概括為兩點: (1) 它是針對線性可分情況進行分析,對於線性不可分的情況,通過使用非線性映射演算法將低維輸入空間線性不可分的樣本轉化為高維特徵空間使其線性可分,從而 使得高維特徵空間採用線性演算法對樣本的非線性特徵進行線性分析成為可能;(2) 它基於結構風險最小化理論之上在特徵空間中建構最優分割超平面,使得學習器得到全svm 系列產品
局最優化,並且在整個樣本空間的期望風險以某個概率滿足一定上界。 在學習這種方法時,首先要弄清楚這種方法考慮問題的特點,這就要從線性可分的最簡單情況討論起,在沒有弄懂其原理之前,不要急於學習線性不可分等較復雜的情況,支持向量機在設計時,需要用到條件極值問題的求解,因此需用拉格朗日乘子理論,但對多數人來說,以前學到的或常用的是約束條件為等式表示的方式,但在此要用到以不等式作為必須滿足的條件,此時只要了解拉格朗日理論的有關結論就行。

Ⅳ svm的模型越大,預測時間會不會變長

SVM理論是在統計學習理論的基礎上發展起來的,由於統計學習理論和SVM方法對有限樣本情況下模式識別中的一些根本性的問題進行了系統的理論研究,很大程度上解決了以往的機器學習中模型的選擇與過學習問題、非線性和維數災難、局部極小點問題等。應用SVM進行回歸預測的步驟具體如下:
1)實驗規模的選取,決定訓練集的數量、測試集的數量,以及兩者的比例;2)預測參數的選取;3)對實驗數據進行規范化處理;4)核函數的確定;5)核函數參數的確定。其中參數的選擇對SVM的性能來說是十分重要的,對於本文的核函數使用RBF核函數,對於RBF核函數,SVM參數包括折衷參數C、核寬度C和不敏感參數E。目前SVM方法的參數、核函數的參數選擇,在國際上都還沒有形成統一的模式,也就是說最優SVM演算法參數選擇還只能是憑借經驗、實驗對比、大范圍的搜尋和交叉檢驗等進行尋優。實際應用中經常為了方便,主觀設定一個較小的正數作為E的取值,本文首先在C和C的一定范圍內取多個值來訓練,定下各個參數取值的大概范圍,然後利用留一法來具體選定參數值
股價時間序列的SVM模型最高階確定
股價數據是一個時間序列,從時間序列的特徵分析得知,股價具有時滯、後效性,當天的股價不僅還與當天各種特徵有關,還與前幾天的股價及特徵相關,所以有必要把前幾天的股價和特徵作為自變數來考慮。最高階確定基本原理是從低階開始對系統建模,然後逐步增加模型的階數,並用F檢驗對這些模型進行判別來確定最高階n,這樣才能更客觀反映股票價格的時滯特性。具體操作步驟如下:假定一多輸入單輸出回歸模型有N個樣本、一個因變數(股價)、m- 1個自變數(特徵),由低階到高階遞推地採用SVM模型去擬合系統(這兒的拓階就是把昨天股價當做自變數,對特徵同時拓階),並依次對相鄰兩個SVM模型採用F檢驗的方法判斷模型階次增加是否合適[ 7]。對相鄰兩模型SVM ( n)和SVM ( n+ 1)而言,有統計量Fi為:Fi=QSVR (n)- QSVR( n+1)QSVR (n)1N - m n - (m -1)mi =1,2,,, n(1)它服從自由度分別為m和(N - m n - (m -1) )的F分布,其中QSVR (n)和QSVR( n+1)分別為SVR ( n)和QSVR( n+1)的剩餘離差平方和,若Fi< F(?,m, N-m n- (m-1) ),則SVM (n )模型是合適的;反之,繼續拓展階數。
前向浮動特徵篩選
經過上述模型最高階數的確定後,雖然確定了階數為n的SVM模型,即n個特徵,但其中某些特徵對模型的預測精度有不利影響,本文採用基於SVM和留一法的前向浮動特徵特徵篩選演算法選擇對提高預測精度有利影響的特徵。令B= {xj: j=1,2,,, k}表示特徵全集, Am表示由B中的m個特徵組成的特徵子集,評價函數MSE (Am)和MSE (Ai) i =1,2,,, m -1的值都已知。本文採用的前向浮動特徵篩選演算法如下[9]:1)設置m =0, A0為空集,利用前向特徵篩選方法尋找兩個特徵組成特徵子集Am(m =2);2)使用前向特徵篩選方法從未選擇的特徵子集(B -Am)中選擇特徵xm +1,得到子集Am+1;3)如果迭代次數達到預設值則退出,否則執行4);4)選擇特徵子集Am+1中最不重要的特徵。如果xm+1是最不重要的特徵即對任意jXm +1, J (Am +1- xm+1)FJ(Am +1- xj)成立,那麼令m = m +1,返回2) (由於xm+1是最不重要的特徵,所以無需從Am中排除原有的特徵);如果最不重要的特徵是xr( r =1,2,,, m )且MSE (Am+1- xr) < MSE (Am)成立,排除xr,令A'm= Am+1- xr;如果m =2,設置Am= A'm,J (Am) = J (A'm), ,返回2),否則轉向步驟5);5)在特徵子集A'm中尋找最不重要的特徵xs,如果MSE (A'm- xs)EM SE (Am-1),那麼設置Am= A'm, MSE (Am)= MSE (A'm),返回2);如果M SE (A'm- xs) < M SE (Am -1),那麼A'm從中排除xs,得到A'm-1= Am- xs,令m = m -1;如果m =2,設置Am= A'm, MSE (Am) = MSE (A'm)返回2),否則轉向5)。最後選擇的特徵用於後續建模預測。
預測評價指標及參比模型
訓練結果評估階段是對訓練得出的模型推廣能力進行驗證,所謂推廣能力是指經訓練後的模型對未在訓練集中出現的樣本做出正確反應的能力。為了評價本文模型的優劣,選擇BPANN、多變數自回歸時間序列模型( CAR)和沒有進行拓階和特徵篩選的SVM作為參比模型。採用均方誤差(mean squared error, MSE)和平均絕對誤差百分率(mean ab-solute percentage error, MAPE)作為評價指標。MSE和MAP定義如下:M SE=E(yi- y^i)2n( 2)MAPE=E| yi- y^i| /yin( 3)其中yi為真值, y^i為預測值, n為預測樣本數。如果得出M SE, MAPE結果較小,則說明該評估模型的推廣能力強,或泛化能力強,否則就說明其推廣能力較差

Ⅳ svm分類演算法適合做什麼數據的分類

數據倉庫,資料庫或者其它信息庫中隱藏著許多可以為商業、科研等活動的決策提供所需要的知識。分類與預測是兩種數據分析形式,它們可以用來抽取能夠描述重要數據集合或預測未來數據趨勢的模型。分類方法(Classification)用於預測數據對象的離散類別(Categorical Label);預測方法(Prediction )用於預測數據對象的連續取值。
分類技術在很多領域都有應用,例如可以通過客戶分類構造一個分類模型來對銀行貸款進行風險評估;當前的市場營銷中很重要的一個特點是強調客戶細分。客戶類別分析的功能也在於此,採用數據挖掘中的分類技術,可以將客戶分成不同的類別,比如呼叫中心設計時可以分為:呼叫頻繁的客戶、偶然大量呼叫的客戶、穩定呼叫的客戶、其他,幫助呼叫中心尋找出這些不同種類客戶之間的特徵,這樣的分類模型可以讓用戶了解不同行為類別客戶的分布特徵;其他分類應用如文獻檢索和搜索引擎中的自動文本分類技術;安全領域有基於分類技術的入侵檢測等等。機器學習、專家系統、統計學和神經網路等領域的研究人員已經提出了許多具體的分類預測方法。下面對分類流程作個簡要描述:
訓練:訓練集——>特徵選取——>訓練——>分類器
分類:新樣本——>特徵選取——>分類——>判決
最初的數據挖掘分類應用大多都是在這些方法及基於內存基礎上所構造的演算法。目前數據挖掘方法都要求具有基於外存以處理大規模數據集合能力且具有可擴展能力。下面對幾種主要的分類方法做個簡要介紹:
(1)決策樹
決策樹歸納是經典的分類演算法。它採用自頂向下遞歸的各個擊破方式構造決策樹。樹的每一個結點上使用信息增益度量選擇測試屬性。可以從生成的決策樹中提取規則。
(2) KNN法(K-Nearest Neighbor)
KNN法即K最近鄰法,最初由Cover和Hart於1968年提出的,是一個理論上比較成熟的方法。該方法的思路非常簡單直觀:如果一個樣本在特徵空間中的k個最相似(即特徵空間中最鄰近)的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別。該方法在定類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。
KNN方法雖然從原理上也依賴於極限定理,但在類別決策時,只與極少量的相鄰樣本有關。因此,採用這種方法可以較好地避免樣本的不平衡問題。另外,由於KNN方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對於類域的交叉或重疊較多的待分樣本集來說,KNN方法較其他方法更為適合。
該方法的不足之處是計算量較大,因為對每一個待分類的文本都要計算它到全體已知樣本的距離,才能求得它的K個最近鄰點。目前常用的解決方法是事先對已知樣本點進行剪輯,事先去除對分類作用不大的樣本。另外還有一種Reverse KNN法,能降低KNN演算法的計算復雜度,提高分類的效率。
該演算法比較適用於樣本容量比較大的類域的自動分類,而那些樣本容量較小的類域採用這種演算法比較容易產生誤分。
(3) SVM法SVM法即支持向量機(Support Vector Machine)法,由Vapnik等人於1995年提出,具有相對優良的性能指標。該方法是建立在統計學習理論基礎上的機器學習方法。通過學習演算法,SVM可以自動尋找出那些對分類有較好區分能力的支持向量,由此構造出的分類器可以最大化類與類的間隔,因而有較好的適應能力和較高的分准率。該方法只需要由各類域的邊界樣本的類別來決定最後的分類結果。
支持向量機演算法的目的在於尋找一個超平面H(d),該超平面可以將訓練集中的數據分開,且與類域邊界的沿垂直於該超平面方向的距離最大,故SVM法亦被稱為最大邊緣(maximum margin)演算法。待分樣本集中的大部分樣本不是支持向量,移去或者減少這些樣本對分類結果沒有影響,SVM法對小樣本情況下的自動分類有著較好的分類結果。
(4) VSM法VSM法即向量空間模型(Vector Space Model)法,由Salton等人於60年代末提出。這是最早也是最出名的信息檢索方面的數學模型。其基本思想是將文檔表示為加權的特徵向量:D=D(T1,W1;T2,W2;…;Tn,Wn),然後通過計算文本相似度的方法來確定待分樣本的類別。當文本被表示為空間向量模型的時候,文本的相似度就可以藉助特徵向量之間的內積來表示。
在實際應用中,VSM法一般事先依據語料庫中的訓練樣本和分類體系建立類別向量空間。當需要對一篇待分樣本進行分類的時候,只需要計算待分樣本和每一個類別向量的相似度即內積,然後選取相似度最大的類別作為該待分樣本所對應的類別。
由於VSM法中需要事先計算類別的空間向量,而該空間向量的建立又很大程度的依賴於該類別向量中所包含的特徵項。根據研究發現,類別中所包含的非零特徵項越多,其包含的每個特徵項對於類別的表達能力越弱。因此,VSM法相對其他分類方法而言,更適合於專業文獻的分類。
(5) Bayes法
Bayes法是一種在已知先驗概率與類條件概率的情況下的模式分類方法,待分樣本的分類結果取決於各類域中樣本的全體。
設訓練樣本集分為M類,記為C={c1,…,ci,…cM},每類的先驗概率為P(ci),i=1,2,…,M。當樣本集非常大時,可以認為P(ci)=ci類樣本數/總樣本數。對於一個待分樣本X,其歸於cj類的類條件概率是P(X/ci),則根據Bayes定理,可得到cj類的後驗概率P(ci/X):
P(ci/x)=P(x/ci)·P(ci)/P(x)(1)
若P(ci/X)=MaxjP(cj/X),i=1,2,…,M,j=1,2,…,M,則有x∈ci(2)
式(2)是最大後驗概率判決准則,將式(1)代入式(2),則有:
若P(x/ci)P(ci)=Maxj〔P(x/cj)P(cj)〕,i=1,2,…,M,j=1,2,…,M,則x∈ci
這就是常用到的Bayes分類判決准則。經過長期的研究,Bayes分類方法在理論上論證得比較充分,在應用上也是非常廣泛的。
Bayes方法的薄弱環節在於實際情況下,類別總體的概率分布和各類樣本的概率分布函數(或密度函數)常常是不知道的。為了獲得它們,就要求樣本足夠大。另外,Bayes法要求表達文本的主題詞相互獨立,這樣的條件在實際文本中一般很難滿足,因此該方法往往在效果上難以達到理論上的最大值。
神經網路分類演算法的重點是構造閾值邏輯單元,一個值邏輯單元是一個對象,它可以輸入一組加權系數的量,對它們進行求和,如果這個和達到或者超過了某個閾值,輸出一個量。如有輸入值X1, X2, ..., Xn 和它們的權系數:W1, W2, ..., Wn,求和計算出的 Xi*Wi ,產生了激發層 a = (X1 * W1)+(X2 * W2)+...+(Xi * Wi)+...+ (Xn * Wn),其中Xi 是各條記錄出現頻率或其他參數,Wi是實時特徵評估模型中得到的權系數。神經網路是基於經驗風險最小化原則的學習演算法,有一些固有的缺陷,比如層數和神經元個數難以確定,容易陷入局部極小,還有過學習現象,這些本身的缺陷在SVM演算法中可以得到很好的解決。
-

Ⅵ 求支持向量機預測股票價格的MATLAB程序,謝謝!

這個,可多啊,我有

Ⅶ 利用BP神經網路預測股票價格走勢

參考 matlab神經網路30例 中有一個股票預測的案例
我覺得svm做這個更好

Ⅷ 基於Matlab SVM的信息粒化時序回歸預測----上證指數開盤指數變化趨勢及變化空間預測 如何寫畢業設計

證指數開盤指數。
變化趨勢及變化空間預測
我,給,的好。 的