1)實驗規模的選擇決定了訓練集的數量,測試集的數量,以及兩者的比例;2)預測參數的選擇;3)歸壹化實驗數據;4)核函數的確定;5)核函數參數的確定。其中,參數的選擇對SVM的性能至關重要。本文的核函數采用RBF核函數,SVM參數包括RBF核函數的折衷參數c、核寬度c和不敏感參數e。目前,SVM方法和核函數的參數選擇在國際上還沒有形成統壹的模型,也就是說,SVM算法的最優參數選擇只能通過經驗、實驗對比、大範圍搜索和交叉試驗來優化。在實際應用中,為了方便起見,往往主觀地將壹個較小的正數設為e的值。本文首先在C和C的壹定範圍內取多個值進行訓練,確定每個參數值的近似範圍,然後用留壹法具體選取參數值。
股票價格時間序列SVM模型最高階的確定
股價數據是壹個時間序列。從時間序列的特征分析可知,股票價格具有時滯性和後效性。當天的股價不僅與當天的各種特征有關,還與前幾天的股價和特征有關。所以需要把前幾天的股價和特征作為自變量來考慮。確定最高階的基本原理是從低階開始對系統建模,然後逐步提高模型的階次,利用f檢驗來區分這些模型,從而確定最高階n,從而更客觀地反映股票價格的時滯特性。具體操作步驟如下:假設壹個多輸入單輸出回歸模型有n個樣本,壹個因變量(股票價格),m- 1個自變量(特征),遞歸使用SVM模型從低階到高階擬合系統(這裏的擴展是把昨天的股票價格作為自變量,同時擴展特征),使用f檢驗方法判斷兩個相鄰的SVM模型的階數增加是否合適[7]。對於兩個相鄰的模型SVM (n)和SVM (n+ 1),有統計量Fi = qsvr(n)-qsvr(n+1)qsvr(n)1n-Mn-(m-1)。N(1) Fi<分別服從自由度為m和(N-m n-(m -1))的F分布,其中QSVR (n)和QSVR( n+1)分別為SVR( n+1)。f(?,m,N-m n- (m-1)),SVM (n)模型合適;反之,繼續擴大訂單。
正向浮動特征篩選
上述模型的最高階確定後,雖然確定了n階即n個特征的SVM模型,但有些特征對模型的預測精度有不利影響。本文采用基於SVM和壹選壹方法的前向浮動特征篩選算法來選擇有利於提高預測精度的特征。設B= {xj: j=1,2,,,k}表示特征集,Am表示B中m個特征組成的特征子集,評價函數MSE (Am)和MSE (Ai) i =1,2,,,m -1的值都是已知的。本文采用的正向浮動特征篩選算法如下[9]:1)設m =0,A0,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。如果最不重要的特征是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)
預測評價指標和參考模型
訓練結果的評估階段是驗證訓練好的模型的泛化能力。所謂泛化能力,是指訓練好的模型對訓練集中沒有出現的樣本做出正確反應的能力。為了評價該模型的優缺點,選擇了BPANN、多元自回歸時間序列模型(CAR)和無秩擴展和特征篩選的SVM作為參考模型。均方誤差(MSE)和平均ab解百分比誤差(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的結果較小,說明評價模型泛化能力強或泛化能力強,否則說明泛化能力差。