王金策 鄧越萍 史明 周云飛
摘 要:針對(duì)股票、基金等大量時(shí)間序列數(shù)據(jù)的趨勢(shì)預(yù)測(cè)問(wèn)題,提出一種基于新穎特征模型的多時(shí)間尺度時(shí)間序列趨勢(shì)預(yù)測(cè)算法。首先,在原始時(shí)間序列中提取帶有多時(shí)間尺度特征的特征樹(shù),其刻畫了時(shí)間序列,不僅帶有序列在各個(gè)層次的特征,同時(shí)表示了層次之間的關(guān)系。然后,利用聚類挖掘特征序列中的隱含狀態(tài)。最后,應(yīng)用隱馬爾可夫模型(HMM)設(shè)計(jì)一個(gè)多時(shí)間尺度趨勢(shì)預(yù)測(cè)算法(MTSTPA),同時(shí)對(duì)不同尺度下的趨勢(shì)以及趨勢(shì)的長(zhǎng)度作出預(yù)測(cè)。在真實(shí)股票數(shù)據(jù)集上的實(shí)驗(yàn)中,在各個(gè)尺度上的預(yù)測(cè)準(zhǔn)確率均在60%以上,與未使用特征樹(shù)對(duì)比,使用特征樹(shù)的模型預(yù)測(cè)效率更高,在某一尺度上準(zhǔn)確率高出10個(gè)百分點(diǎn)以上。同時(shí),與經(jīng)典自回歸滑動(dòng)平均模型(ARMA)模型和PHMM(Pattern-based HMM)對(duì)比,MTSTPA表現(xiàn)更優(yōu),驗(yàn)證了其有效性。
關(guān)鍵詞:?特征樹(shù);時(shí)間序列預(yù)測(cè);多時(shí)間尺度趨勢(shì)預(yù)測(cè);隱馬爾可夫模型
中圖分類號(hào):?TP181
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-9081(2019)04-1046-07
Abstract: A time series trend prediction algorithm at multiple time scales based on novel feature model was proposed to solve the trend prediction problem of stock and fund time series data. Firstly, a feature tree with multiple time scales of features was extracted from original time series, which described time series with the characteristics of the series in each level and relationship between levels. Then, the hidden states in feature sequences were extracted by clustering. Finally, a Multiple Time Scaled Trend Prediction Algorithm (MTSTPA) was designed by using Hidden Markov Model (HMM) to simultaneously predict the trend and length of the trends at different scales. In the experiments on real stock datasets, the prediction accuracy at every scale are more than 60%. Compared with the algorithm without using feature tree, the model using the feature tree is more efficient, and the accuracy is up to 10 percentage points higher at a certain scale. At the same time, compared with the classical Auto-Regressive Moving Average (ARMA) model and pattern-based Hidden Markov Model (PHMM), MTSTPA performs better, verifying the validity of MTSTPA.
Key words: feature tree; time series prediction; trend prediction at multiple time scales; Hidden Markov Model (HMM)
0?引言
伴隨著金融行業(yè)的快速發(fā)展,產(chǎn)生了大量垂類數(shù)據(jù),如股票價(jià)格序列、期貨價(jià)格序列以及各類基金價(jià)格序列等時(shí)間序列數(shù)據(jù)[1],因此,金融時(shí)間序列預(yù)測(cè)已經(jīng)得到了廣泛的研究[2]?,F(xiàn)有預(yù)測(cè)算法主要通過(guò)時(shí)間序列回歸分析,實(shí)現(xiàn)單一時(shí)間尺度上的點(diǎn)預(yù)測(cè),忽略了多時(shí)間尺度的趨勢(shì)預(yù)測(cè)。多時(shí)間尺度趨勢(shì)預(yù)測(cè)對(duì)于金融投資等領(lǐng)域中的應(yīng)用具有重要意義。投資者往往需要預(yù)測(cè)金融產(chǎn)品在未來(lái)以日、周、月和季度為周期等不同時(shí)間尺度下的價(jià)格走勢(shì),從而設(shè)計(jì)最優(yōu)的投資策略。時(shí)間序列的多時(shí)間尺度趨勢(shì)預(yù)測(cè),不僅強(qiáng)調(diào)時(shí)間尺度的層次性(即大時(shí)間周期由若干小時(shí)間周期組成),還強(qiáng)調(diào)對(duì)特定時(shí)間尺度上的某個(gè)趨勢(shì)的開(kāi)始和結(jié)束時(shí)間進(jìn)行預(yù)測(cè)。
實(shí)現(xiàn)股票時(shí)間序列的多時(shí)間尺度趨勢(shì)預(yù)測(cè)的挑戰(zhàn)在于如何準(zhǔn)確、全面地提取時(shí)間序列中的多時(shí)間尺度特征。本文對(duì)此進(jìn)行了研究,主要思路是,通過(guò)提取有效的時(shí)間序列多時(shí)間尺度的層次特征,建立基于特征樹(shù)的隱馬爾可夫預(yù)測(cè)模型?;谶@一思路,本文主要做了如下工作:1)提出了一種有效的時(shí)間序列多時(shí)間尺度特征模型──特征樹(shù)。特征樹(shù)的每一層對(duì)應(yīng)一個(gè)時(shí)間尺度,越接近根結(jié)點(diǎn),時(shí)間尺度越大。特征樹(shù)中的每個(gè)結(jié)點(diǎn)代表一個(gè)特定時(shí)間尺度下的時(shí)間序列分段。特征樹(shù)刻畫了原始時(shí)間序列數(shù)據(jù)在多時(shí)間尺度上的層次性以及層次之間的聯(lián)系。
2)提出了基于特征樹(shù)的多時(shí)間尺度趨勢(shì)預(yù)測(cè)算法MTSTPA(Multiple Time Scaled Trend Prediction Algorithm)。MTSTPA能同時(shí)對(duì)不同尺度下的趨勢(shì)以及趨勢(shì)的長(zhǎng)度作出預(yù)測(cè)。MTSTPA將特征樹(shù)的每個(gè)層次的特征子樹(shù)序列視為該層時(shí)間尺度下的觀測(cè)序列,從中學(xué)習(xí)得到該時(shí)間尺度下的隱馬爾可夫模型(Hidden Markov Model, HMM),從而實(shí)現(xiàn)該層時(shí)間尺度下的趨勢(shì)預(yù)測(cè)。此外,為了提高預(yù)測(cè)精度,MTSTPA在作出預(yù)測(cè)之前,首先對(duì)噪聲進(jìn)行了過(guò)濾。
3)在真實(shí)數(shù)據(jù)集上驗(yàn)證了本文提出的模型和算法的有效性。
1?相關(guān)工作
本文的相關(guān)工作包括時(shí)間序列特征提取、狀態(tài)挖掘和時(shí)間序列預(yù)測(cè)。
1)特征提?。何墨I(xiàn)[3-4]提取時(shí)間序列的形態(tài)特征,文獻(xiàn)[5-6]提取時(shí)間序列的頻率特征,文獻(xiàn)[7]獲取序列自相關(guān)系數(shù),文獻(xiàn)[8]提取序列的頻繁模式等。
提取形態(tài)特征一般做法是對(duì)時(shí)間序列單層次分段,并用長(zhǎng)度、斜率、點(diǎn)到線段的距離等作為每個(gè)分段的特征。提取頻率特征主要途徑是在單一時(shí)間尺度內(nèi)將時(shí)間序列分解為一組正交的頻域基函數(shù)的線性組合(如傅里葉變換),將分解得到的各項(xiàng)系數(shù)作為頻率成分。使用時(shí)間序列的自相關(guān)系數(shù)、偏相關(guān)系數(shù)等特征,可以確定影響當(dāng)前數(shù)值的歷史數(shù)據(jù)的個(gè)數(shù)。時(shí)間序列符號(hào)化會(huì)在一定程度上造成數(shù)據(jù)損失,而提取頻繁模式同樣是屬于時(shí)間序列單一尺度上的特征。上述特征提取方法的不足之處是沒(méi)有考慮時(shí)間序列的多時(shí)間尺度特征,因此有必要提出新的特征模型。
2)狀態(tài)挖掘。文獻(xiàn)[9]提出了基于時(shí)間序列形態(tài)的隱藏狀態(tài)轉(zhuǎn)移模型,其缺點(diǎn)是只針對(duì)序列的單一時(shí)間尺度的狀態(tài)。文獻(xiàn)[10]提出了一種基于概率的全局狀態(tài)轉(zhuǎn)換模型,對(duì)時(shí)間序列進(jìn)行多層次分段,但是不能實(shí)現(xiàn)單一時(shí)間序列在多時(shí)間尺度上的狀態(tài)發(fā)現(xiàn)。
3)時(shí)間序列預(yù)測(cè)。常見(jiàn)的時(shí)間序列預(yù)測(cè)模型包括滑動(dòng)平均模型、利用指數(shù)平滑預(yù)測(cè)模型[11]、自回歸滑動(dòng)平均模型(Auto-Regressive Moving Average Model, ARMA)、基于特征變換的神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型[12-13]、基于拓?fù)浣Y(jié)構(gòu)的TPM(Topology Preserving Map)模型[14-15]和貝葉斯網(wǎng)絡(luò)模型,以上預(yù)測(cè)模型均根據(jù)序列的部分歷史數(shù)據(jù),預(yù)測(cè)下一個(gè)時(shí)間點(diǎn)或時(shí)間段的具體數(shù)值。
文獻(xiàn)[9]在隱馬爾可夫模型的基礎(chǔ)上得到PHMM(Pattern-based HMM),僅僅對(duì)單一時(shí)間尺度趨勢(shì)預(yù)測(cè)作出了研究,沒(méi)有實(shí)現(xiàn)對(duì)金融時(shí)間序列多時(shí)間尺度趨勢(shì)的預(yù)測(cè)。
2?特征樹(shù)模型
2.1?時(shí)間序列分段
一條時(shí)間序列可以根據(jù)趨勢(shì)的變化劃分為一系列的線段,這些線段是構(gòu)成時(shí)間序列特征樹(shù)的基本元素。由于時(shí)間序列充滿噪聲,為了降噪,在劃分線段之前,本文首先應(yīng)用文獻(xiàn)[11]中差離值(DIFferential value, DIF)對(duì)原始序列進(jìn)行濾波,在此基礎(chǔ)上,在大小預(yù)先設(shè)置的滑動(dòng)窗口內(nèi),應(yīng)用最小二乘法擬合一條線段,并根據(jù)各個(gè)窗口內(nèi)線段斜率的變化,判斷序列中的極值點(diǎn),兩個(gè)相鄰極值點(diǎn)之間的連線即為一個(gè)分段。分段過(guò)程如算法1所示。
算法1?時(shí)間序列分段。
算法1中:第3)行DIF()將v轉(zhuǎn)換為DIF; time表示當(dāng)前時(shí)刻的索引; flag表示當(dāng)前段是否結(jié)束;tsh衡量擬合斜率是否有效;第5)行CurrentSlope表示OLS()應(yīng)用最小二乘法獲取當(dāng)前滑動(dòng)窗口內(nèi)數(shù)據(jù)的擬合斜率;第7)行判斷是否產(chǎn)生一個(gè)極值點(diǎn)(LastSlope表示上一個(gè)窗口內(nèi)數(shù)據(jù)的擬合斜率,初始值為1)。
設(shè)置tsh是為了防止序列在窗口內(nèi)的微小波動(dòng)影響分段效果,其大小根據(jù)擬合斜率的分布(在歷史數(shù)據(jù)中統(tǒng)計(jì)得出)設(shè)置,如圖1所示(斜率的概率分布圖)。本文實(shí)驗(yàn)數(shù)據(jù)集上的擬合斜率服從高斯分布,且均值為0,設(shè)置tsh為此分布的51%的分位數(shù)μ0.51,在區(qū)間[-μ0.51, μ0.51]內(nèi)的擬合斜率視為無(wú)效斜率,不具有趨勢(shì)特征。
2.2?特征樹(shù)定義
設(shè)時(shí)間序列F有H種時(shí)間尺度的分段,即有H個(gè)不同層次的表示。原始序列的相鄰極值點(diǎn)之間的連線代表其最小尺度分段,第一個(gè)極值點(diǎn)與末尾極值點(diǎn)之間的連線代表最大尺度分段。記時(shí)間序列在h層上的分段序列為:F(h)=(f(h)1, f(h)2,…, f(h)n),1 ≤ h ≤ H,1 ≤ n ≤ 2h-1,F(xiàn)(h)表示時(shí)間序列的第h層, f(h)i(1 ≤ i ≤n) 表示h層第i個(gè)分段。
圖2(橫坐標(biāo)為極值點(diǎn)對(duì)應(yīng)的時(shí)間)展示了一個(gè)時(shí)間序列三層分段示例:
第一層只有一根線段,代表最大的時(shí)間尺度;第三層為代表最小時(shí)間尺度的分段序列,包含4個(gè)分段,每個(gè)分段通過(guò)連接原始序列相鄰極值點(diǎn)得到。
圖3給出了圖2所示時(shí)間序列對(duì)應(yīng)的特征樹(shù)。每棵特征樹(shù)都帶有表示層次之間聯(lián)系的特征,根結(jié)點(diǎn)代表最大尺度,區(qū)間長(zhǎng)度為29,其趨勢(shì)由兩棵子樹(shù)確定,左右代表時(shí)間的先后同時(shí)左右子樹(shù)分別由各自的子樹(shù)構(gòu)成。因此,特征樹(shù)完整刻畫了時(shí)間序列在各個(gè)層次上的趨勢(shì)表現(xiàn),同時(shí)也表示了每個(gè)層次之間的聯(lián)系。
2.3?特征樹(shù)生成
特征樹(shù)生成是將時(shí)間序列壓縮為一棵樹(shù)的過(guò)程。生成過(guò)程為動(dòng)態(tài)增長(zhǎng):時(shí)間序列的每一段作為底層葉結(jié)點(diǎn),每?jī)啥谓M合為一段,生成父結(jié)點(diǎn),計(jì)算其斜率和區(qū)間并記錄,新的一層繼續(xù)向上增長(zhǎng),直至最高層結(jié)點(diǎn)數(shù)為1。
由于特征樹(shù)生成過(guò)程中底層結(jié)點(diǎn)的個(gè)數(shù)不一定為2n,例如,m層結(jié)點(diǎn)個(gè)數(shù)為奇數(shù),則說(shuō)明此時(shí)在尺度m+1下沒(méi)有新的分段。因此,當(dāng)某層結(jié)點(diǎn)個(gè)數(shù)為奇數(shù)時(shí)停止生長(zhǎng),等到本層有新結(jié)點(diǎn)加入繼續(xù)向上更新。本文算法每層用一個(gè)鏈表輔助特征樹(shù)的生成。構(gòu)造特征樹(shù)的具體過(guò)程如算法2~3所述。
算法2?特征樹(shù)生成。
算法3中:Mcount表示T的m層的結(jié)點(diǎn)個(gè)數(shù);Node表示T的一個(gè)新結(jié)點(diǎn);NewList表示T新一層的鏈表;T(m)MCount表示時(shí)間序列在尺度m下的特征子樹(shù)鏈表中的第MCount個(gè)結(jié)點(diǎn);T的每個(gè)結(jié)點(diǎn)保存著對(duì)應(yīng)尺度下每個(gè)分段的斜率,長(zhǎng)度和左右子樹(shù),其層數(shù)是時(shí)間序列特征樹(shù)的層數(shù),同時(shí)T的每一層構(gòu)成某一尺度下的特征子樹(shù)鏈表。
3?預(yù)測(cè)模型
文獻(xiàn)[9-10]為應(yīng)用隱馬爾可夫模型預(yù)測(cè)時(shí)間序列狀態(tài)提供了思路。時(shí)間序列在某個(gè)尺度下的一個(gè)分段,作為本尺度特征子樹(shù)的根結(jié)點(diǎn),本研究基于時(shí)間序列的各個(gè)時(shí)間尺度下的特征子樹(shù)序列,分別訓(xùn)練一個(gè)相應(yīng)時(shí)間尺度下的隱馬爾可夫模型(HMM),不同的時(shí)間尺度的特征子樹(shù)序列分別對(duì)應(yīng)HMM,基于HMM的解碼功能即可實(shí)現(xiàn)原始時(shí)間序列的多時(shí)間尺度預(yù)測(cè)。
3.1?觀測(cè)序列
本文將時(shí)間序列中各時(shí)間尺度下的特征子樹(shù)序列視為觀測(cè)序列。h尺度下的觀測(cè)序列表現(xiàn)為以特征樹(shù)的第h層結(jié)點(diǎn)為根結(jié)點(diǎn)的特征子樹(shù)的序列,T(h)=(T(h)1,T(h)2,…,T(h)n),n表示h層有n棵特征子樹(shù)。
3.2?狀態(tài)發(fā)現(xiàn)
首先,文獻(xiàn)[9]中證明,時(shí)間序列中存在不同分布,由此通過(guò)聚類分析確定一個(gè)特征子樹(shù)序列中隱藏的狀態(tài)。
1)相似性度量。
圖4所示特征樹(shù)的第二層有兩棵特征子樹(shù),每棵特征子樹(shù)由三個(gè)結(jié)點(diǎn)(1個(gè)根結(jié)點(diǎn)和2個(gè)子結(jié)點(diǎn))構(gòu)成,這兩棵特征子樹(shù)構(gòu)成一個(gè)特征子樹(shù)序列,表示了時(shí)間序列在尺度2下的觀測(cè)特征。
現(xiàn)在的任務(wù)是對(duì)特征子樹(shù)序列T(h)中的子樹(shù)聚類。首先將每個(gè)結(jié)點(diǎn)的兩個(gè)屬性值用離差標(biāo)準(zhǔn)化方法(min-max normalization)歸一化,如式(1)所示:NorV=value-MinVMaxV-MinV(1)
其中:value為待歸一化數(shù)據(jù)值;MinV和MaxV分別為相同位置上最小值和最大值。
特征樹(shù)中的結(jié)點(diǎn)對(duì)時(shí)間序列趨勢(shì)的影響按照層次由低到高依次減小,故給特征樹(shù)的每層分配權(quán)重1/H,每層結(jié)點(diǎn)則均分1/H的權(quán)重。以圖4表示的特征樹(shù)為例,每層平均占有1/3的權(quán)重,第二層的每個(gè)結(jié)點(diǎn)占有(1/3)/2,第三層四個(gè)結(jié)點(diǎn)則每個(gè)結(jié)點(diǎn)占有(1/3)/4。每個(gè)結(jié)點(diǎn)的權(quán)重函數(shù)定義如下:weight(h)=1H×2h-1(2)
其中:h為特征樹(shù)第h層。兩棵子樹(shù)的相似性度量函數(shù)定義如下:
其中:count(s)統(tǒng)計(jì)狀態(tài)序列Q(h)中出現(xiàn)子序列s的次數(shù)。
尺度h下特征子樹(shù)根結(jié)點(diǎn)的長(zhǎng)度是該尺度的體現(xiàn),為了探究時(shí)間序列在尺度h,狀態(tài)i下趨勢(shì)的規(guī)律,需要計(jì)算觀測(cè)序列根結(jié)點(diǎn)的發(fā)射概率,即每棵特征子樹(shù)根結(jié)點(diǎn)的生成概率。本文將T(h)中的子樹(shù)按狀態(tài)分組,狀態(tài)相同的子樹(shù)在同一組,同時(shí),假設(shè)結(jié)點(diǎn)的斜率和長(zhǎng)度的概率分布相互獨(dú)立,于是,屬于狀態(tài)i的子樹(shù)的根結(jié)點(diǎn)r的生成概率為:
為驗(yàn)證以上的假設(shè),本文對(duì)實(shí)驗(yàn)所用序列數(shù)據(jù)進(jìn)行了調(diào)查,設(shè)置K值為3,結(jié)果如圖5~圖7所示,三幅圖分別展示了斜率和長(zhǎng)度的條件概率分布。在每個(gè)狀態(tài)下的每棵特征子樹(shù)中根結(jié)點(diǎn)r的斜率和長(zhǎng)度均服從高斯分布,表明了聚類的有效性和假設(shè)的合理性。
3.4?模型優(yōu)化
實(shí)驗(yàn)結(jié)果表明,時(shí)間序列中存在噪聲片段,這些片段會(huì)降低聚類效果,增大SSE(Sum of Squared Errors),如圖8所示(橫坐標(biāo)為滑動(dòng)步數(shù)d),隨著噪聲片段按照一定步長(zhǎng)向前滑動(dòng),SSE隨著d增長(zhǎng)逐漸減小后有上升趨勢(shì)。
為解決這一問(wèn)題,本研究通過(guò)預(yù)先對(duì)原始時(shí)間序列數(shù)據(jù)去噪實(shí)現(xiàn)對(duì)模型的優(yōu)化。假設(shè)現(xiàn)有時(shí)間序列,N個(gè)數(shù)據(jù)點(diǎn)。用4個(gè)時(shí)間點(diǎn)start、 p、q、end將其分為三段L1(start: p),L2(p: q),L3(q: end)。設(shè)置初始值p=0,q= p+U,設(shè)置一個(gè)長(zhǎng)度為U的噪聲窗口,即L2。合并L1與L3兩段數(shù)據(jù),利用算法1分段,再用K-means聚類,得出SSE。完成一次SSE計(jì)算后, p與q向右滑動(dòng)step個(gè)數(shù)據(jù),即p= p+step,q=q+step,循環(huán)計(jì)算SSE,直到窗口滑動(dòng)至末尾。
SEE越小聚類效果越好,根據(jù)上述執(zhí)行結(jié)果,確定使SSE最小的窗口位置為最佳噪聲片段位置,即p值。具體過(guò)程如算法4所示。
算法4中:GetSSE()是得到聚類結(jié)果的SSE;SL為分段結(jié)果鏈表。
4?預(yù)測(cè)模型MTSTPA
由于每個(gè)時(shí)間尺度下的特征子樹(shù)根結(jié)點(diǎn)表示該尺度下一個(gè)分段的斜率和長(zhǎng)度,本文算法MTSTPA通過(guò)該特征子樹(shù)序列的HMM序列預(yù)測(cè)下一棵子樹(shù)根結(jié)點(diǎn)。
由3.3節(jié)得出,時(shí)間序列在尺度h下對(duì)應(yīng)狀態(tài)轉(zhuǎn)移矩陣A(h),根據(jù)A(h)得到下一個(gè)出現(xiàn)概率最大的狀態(tài)i。根據(jù)3.3節(jié)得出,在處于相同狀態(tài)的特征子樹(shù)集合中,特征子樹(shù)根結(jié)點(diǎn)的斜率和長(zhǎng)度相互獨(dú)立,且分別服從高斯分布,又根據(jù)式(7)得出,在某個(gè)狀態(tài)i下,當(dāng)根結(jié)點(diǎn)的slope與length全部取均值時(shí)概率最大。因此,狀態(tài)i對(duì)應(yīng)聚簇的簇中心為最優(yōu)預(yù)測(cè)值。由此本文提出一個(gè)多時(shí)間尺度預(yù)測(cè)算法MTSTPA。MTSTPA在極值點(diǎn)處作出預(yù)測(cè),如果當(dāng)前點(diǎn)不能確定為極值點(diǎn),則根據(jù)時(shí)間序列的上一個(gè)極值點(diǎn),預(yù)測(cè)序列當(dāng)前所處的趨勢(shì)。MTSTPA對(duì)時(shí)間序列在尺度h下的趨勢(shì)的預(yù)測(cè)過(guò)程如算法5所示。
算法5?MTSTPA。
其中: MinV與MaxV分別是對(duì)應(yīng)原數(shù)據(jù)的最小值與最大值。
5?實(shí)驗(yàn)
在2001年01月01日至2015年07月08日時(shí)間段內(nèi),深交所和上交所的每支股票每日收盤價(jià)數(shù)據(jù)都會(huì)構(gòu)成3600個(gè)數(shù)據(jù)點(diǎn)的時(shí)間序列,本研究取所有股票的時(shí)間序列作為實(shí)驗(yàn)數(shù)據(jù)集。每條時(shí)間序列的前70%作為訓(xùn)練數(shù)據(jù),后30%作為測(cè)試數(shù)據(jù)。本文使用下式定義的預(yù)測(cè)精度作為評(píng)價(jià)指標(biāo):
為了驗(yàn)證本文提出的特征樹(shù)模型、預(yù)測(cè)模型和預(yù)測(cè)算法MTSTPA的有效性,本文設(shè)計(jì)了五組實(shí)驗(yàn):第一組,驗(yàn)證分段算法;第二組,確定預(yù)測(cè)模型參數(shù),即隱馬爾可夫模型狀態(tài)數(shù)K與優(yōu)化模型噪聲窗口大小U;第三組,特征樹(shù)模型有效性驗(yàn)證;第四組,模型優(yōu)化驗(yàn)證;第五組,與傳統(tǒng)預(yù)測(cè)模型多時(shí)間尺度預(yù)測(cè)精度對(duì)比。每組預(yù)測(cè)實(shí)驗(yàn)進(jìn)行三次,取三次預(yù)測(cè)精度的平均值。每次實(shí)驗(yàn)在數(shù)據(jù)集中隨機(jī)選取20條序列作為實(shí)驗(yàn)數(shù)據(jù)。
5.1?驗(yàn)證分段算法
為驗(yàn)證算法1的有效性,實(shí)驗(yàn)比較了原始時(shí)間序列與由算法1得出的極值點(diǎn)序列對(duì)應(yīng)時(shí)間段的趨勢(shì)。圖9表示一條原始時(shí)間序列,將其作為輸入數(shù)據(jù)執(zhí)行算法1得到極值點(diǎn)序列,如圖10所示。
原始時(shí)間序列1~7下降趨勢(shì),7~9上升趨勢(shì),9~14下降趨勢(shì),14~29是上升趨勢(shì),與圖10中極值點(diǎn)之間線段的趨勢(shì)相同,驗(yàn)證了算法1對(duì)極值點(diǎn)判斷的準(zhǔn)確性。
5.2?參數(shù)的選擇
通過(guò)實(shí)驗(yàn)確定隱藏狀態(tài)的個(gè)數(shù)K(K-means聚類的聚簇個(gè)數(shù))。
根據(jù)MTSTPA預(yù)測(cè)時(shí)間序列在多個(gè)時(shí)間尺度內(nèi)的趨勢(shì)。K分別取2、3、4,尺度n=3開(kāi)始預(yù)測(cè)(特征樹(shù)第三層開(kāi)始有四棵子樹(shù)),預(yù)測(cè)結(jié)果如圖11所示,在實(shí)驗(yàn)所用數(shù)據(jù)集上,K=3時(shí)各個(gè)時(shí)間尺度上的預(yù)測(cè)精度均大于55%,最高可達(dá)到75%以上,因此K取值為3。
通過(guò)實(shí)驗(yàn)確定U/N。設(shè)計(jì)實(shí)驗(yàn):分別取U/N×100%值為15%、25%、35%、45%、55%,統(tǒng)計(jì)每個(gè)值對(duì)應(yīng)實(shí)驗(yàn)的預(yù)測(cè)精度,對(duì)比得出最優(yōu)U/N。
圖12顯示,在實(shí)驗(yàn)所用數(shù)據(jù)集上,噪聲窗口占總數(shù)據(jù)35%時(shí)各個(gè)時(shí)間尺度的預(yù)測(cè)精度均在65%以上。因此優(yōu)化模型將長(zhǎng)度占總數(shù)據(jù)35%的數(shù)據(jù)片段視為噪聲片段,應(yīng)用算法2找出片段最佳位置,將其濾除。
5.3?特征樹(shù)有效性
實(shí)驗(yàn)用兩個(gè)策略進(jìn)行對(duì)比驗(yàn)證:策略1,未使用特征子樹(shù),用樹(shù)的單層結(jié)點(diǎn)序列(對(duì)應(yīng)時(shí)間尺度的分段序列)作為本時(shí)間尺度的觀測(cè)序列;策略2,使用特征子樹(shù),用該時(shí)間尺度下的特征子樹(shù)序列作為觀測(cè)序列(本文所用策略)。實(shí)驗(yàn)設(shè)置K=3,U/N=35%。如圖13所示,策略2在各個(gè)時(shí)間尺度下的預(yù)測(cè)精度均優(yōu)于策略1,其中尺度4和尺度5高出10個(gè)百分點(diǎn)以上,驗(yàn)證了策略2的有效性。
圖13顯示,預(yù)測(cè)精度隨著時(shí)間尺度的減小由增加到下降,分析得出模型的預(yù)測(cè)精度與兩個(gè)因素相關(guān):1)每個(gè)時(shí)間尺度下的特征子樹(shù)的棵數(shù);2)每棵特征子樹(shù)所攜帶的層次信息的多少。在本組實(shí)驗(yàn)中,尺度3到尺度5,時(shí)間尺度依次減小,特征子樹(shù)個(gè)數(shù)依次增多,故通過(guò)式(6)統(tǒng)計(jì)得到的A(3)、A(4)與A(5)準(zhǔn)確度依次增高,預(yù)測(cè)精度逐漸達(dá)到最高79%;尺度5到尺度9下的特征子樹(shù)攜帶的層次信息逐漸減少,預(yù)測(cè)精度下降,但是最低預(yù)測(cè)精度仍在55%以上。
5.4?模型優(yōu)化驗(yàn)證
為了驗(yàn)證優(yōu)化模型的有效性,現(xiàn)進(jìn)行優(yōu)化前后預(yù)測(cè)精度對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)設(shè)置K=3,U/N=35%。圖14顯示了優(yōu)化前后的預(yù)測(cè)效果。優(yōu)化模型預(yù)測(cè)精度總體上優(yōu)于優(yōu)化前模型,驗(yàn)證了優(yōu)化算法的有效性。
5.5?MTSTPA有效性
本組實(shí)驗(yàn)對(duì)比MTSTPA、ARMA與PHMM三種時(shí)間序列預(yù)測(cè)模型的預(yù)測(cè)精度。PHMM同樣應(yīng)用隱馬爾可夫模型,采用單純分段特征,預(yù)測(cè)單一時(shí)間尺度下序列走勢(shì)。實(shí)驗(yàn)設(shè)置MTSTPA參數(shù)K=3,U/N=35%。針對(duì)多時(shí)間尺度預(yù)測(cè),為使實(shí)驗(yàn)結(jié)果具有說(shuō)服力,在給定時(shí)刻t,預(yù)測(cè)t+Δt時(shí)刻的趨勢(shì),其中,Δt代表不同的時(shí)間尺度。實(shí)驗(yàn)中選取Δt=5,10,20,40,80,160。
圖15顯示了三種模型的預(yù)測(cè)精度。MTSTPA在每個(gè)預(yù)測(cè)步長(zhǎng)的表現(xiàn)都優(yōu)于其他兩種模型。ARMA作為經(jīng)典的時(shí)間序列預(yù)測(cè)模型可以預(yù)測(cè)短時(shí)期的數(shù)據(jù),但是難以捕捉時(shí)間序列在不同時(shí)間尺度下的特征。PHMM每段特征屬性只包含slope與length,沒(méi)有包含層次特征。ARMA和PHMM的多步預(yù)測(cè)方法是根據(jù)之前的預(yù)測(cè)值對(duì)后續(xù)值進(jìn)行預(yù)測(cè),而MTSTPA是根據(jù)特征樹(shù)捕捉到的各時(shí)間尺度下的特征在所有時(shí)間尺度上的預(yù)測(cè)。因此,在多時(shí)間尺度趨勢(shì)預(yù)測(cè)方面,MTSTPA優(yōu)于其他兩種模型。
6?結(jié)語(yǔ)
本文提出了一種新的特征模型──特征樹(shù)。特征樹(shù)刻畫了原始時(shí)間序列數(shù)據(jù)在多時(shí)間尺度上的層次結(jié)構(gòu)以及各層次之間的聯(lián)系。在此基礎(chǔ)上,本文提出了基于特征樹(shù)的多時(shí)間尺度趨勢(shì)預(yù)測(cè)算法MTSTPA,該算法將對(duì)應(yīng)時(shí)間尺度的特征子樹(shù)序列視為觀測(cè)序列,從中學(xué)習(xí)得到一個(gè)HMM,利用HMM的預(yù)測(cè)功能實(shí)現(xiàn)不同時(shí)間尺度上的趨勢(shì)預(yù)測(cè)。但是,本文算法對(duì)頻繁震蕩的序列數(shù)據(jù)無(wú)法有效預(yù)測(cè),因此采用自適應(yīng)的聚類算法和概率圖模型解決此類問(wèn)題是下一步的研究重點(diǎn),另外本文研究時(shí)間序列的趨勢(shì)預(yù)測(cè),未來(lái)將研究多時(shí)間尺度的時(shí)間序列點(diǎn)預(yù)測(cè)。
參考文獻(xiàn)(References)
[1] 張普, 吳沖鋒. 股票價(jià)格波動(dòng): 風(fēng)險(xiǎn)還是價(jià)值?[J]. 管理世界, 2010(11): 52-60. (ZHANG P, WU C F. Stock price volatility: risk or value [J]. Management World, 2010(11): 52-60.)
[2] 唐黎.金融時(shí)間序列預(yù)測(cè)的信息融合與計(jì)算智能模型[D]. 成都: 電子科技大學(xué), 2018: 1-4. (TANG L. Information fusion and computational intelligence models for financial time series prediction[D]. Chengdu: University of Electronic Science and Technology of China, 2018: 1-4.)
[3] KEOGH E, CHU S, HART D, et al. An online algorithm for segmenting time series [C]// Proceedings of the 2001 IEEE International Conference on Data Mining. Piscataway, NJ: IEEE, 2001: 89-296.
[4] CHANG P C, LIAO T W, LIN J J, et al. A dynamic threshold decision system for stock trading signal detection [J]. Applied Soft Computing, 2011, 11(5): 3998-4010.
[5] 梁強(qiáng), 范英, 魏一鳴. 基于小波分析的石油價(jià)格長(zhǎng)期趨勢(shì)預(yù)測(cè)方法及其實(shí)證研究[J]. 中國(guó)管理科學(xué), 2005, 13(1): 30-39. (LIANG Q, FAN Y, WEI Y M. Long term trend forecasting method of oil price based on wavelet analysis and empirical study [J]. Chinese Journal of Management Science, 2005, 13(1): 30-39.)
[6] MORCHEN F. Time series feature extraction for data mining using DWT and DFT [EB/OL]. [2018-05-10]. http://mybytes.de/papers/moerchen03time.pdf.
[7] SUN Y Q, WANG R J, SUN B Y, et al. Prediction about time series based on updated prediction ARMA model [C]// Proceedings of the 2013 10th International Conference on Fuzzy Systems and Knowledge Discovery. Piscataway, NJ: IEEE, 2013: 680-684.
[8] ZHANG D E H, LI G C L, WONG A K C. Discovery of temporal associations in multivariate time series [J]. IEEE Transactions on Knowledge and Data Engineering, 2014, 26(12): 2969-2982.
[9] WANG P, WANG H X, WANG W. Finding semantics in time series[C]// Proceedings of the 2011 ACM SIGMOD International Conference on Management of Data. New York: ACM, 2011: 385-396.
[10] HAN Z, CHEN H F, YAN T, et al. Time series segmentation to discover behavior switching in complex physical systems [C]// Proceedings of the 2015 IEEE International Conference on Data Mining. Piscataway, NJ: IEEE, 2015: 161-170.
[11] CREAMER G, FREUND Y. Automated trading with boosting and expert weighting [J]. Quantitative Finance, 2009, 10(4): 401-420.
[12] KAASTRA I, BOYD M. Designing a neural network for forecasting financial and economic time series [J]. Neurocomputing, 1996, 10(3): 215-236.
[13] ZIAT A, DELASALLES E, DENOVER L, et al. Spatio-temporal neural networks for space-time series forecasting and relations discovery[C]// Proceedings of the 2017 IEEE International Conference on Data Mining. Washington, DC: IEEE Computer Society, 2017: 705-714.
[14] DANELMAYR G, GADALETA S, HUNDLEY D, et al. Time series prediction by estimating Markov probabilities through topology preserving maps[EB/OL]. [2018-05-10]. https://doi.org/10.1117/12.367685.
[15] 王雙成, 高瑞, 杜瑞杰. 具有超父結(jié)點(diǎn)時(shí)間序列貝葉斯網(wǎng)絡(luò)集成回歸模型[J]. 計(jì)算機(jī)學(xué)報(bào), 2017, 40(12): 2748-2761. (WANG S C, GAO R, DU R J. With super parent node Bayesian network ensemble regression model for time series[J]. Chinese Journal of Computers, 2017, 40(12): 2748-2761.)
[16] BOX G, JENKINS G, REINSEL G, et al. Time Series Analysis: Forecasting and Control[M]. New York: Wiley, 2015: 2-17.