摘要:從時(shí)序數(shù)據(jù)中精確地分解出趨勢(shì)、周期及隨機(jī)噪聲等數(shù)據(jù)成分,能有助于人們掌握事物在演變過程中所蘊(yùn)藏的內(nèi)在規(guī)律.基于非線性最小二乘法,提出一種性能更為高效的時(shí)序數(shù)據(jù)分解算法。首先,基于關(guān)鍵轉(zhuǎn)折點(diǎn)和趨勢(shì)導(dǎo)數(shù)的方法從待分解序列中概要地析出各種不同的數(shù)據(jù)成分,然后,分別利用多項(xiàng)式函數(shù)、正弦諧波級(jí)數(shù)及自回歸模型對(duì)相應(yīng)的數(shù)據(jù)成分進(jìn)行擬合,最后,在加法模型中迭代求解各種數(shù)據(jù)成分的非線性最小二乘參數(shù)。實(shí)驗(yàn)表明,新設(shè)計(jì)的算法在分解精度和計(jì)算成本等指標(biāo)上均優(yōu)于現(xiàn)有的算法。
關(guān)鍵詞:時(shí)序分解;非線性最小二乘;關(guān)鍵轉(zhuǎn)折點(diǎn);趨勢(shì)導(dǎo)數(shù)
中圖分類號(hào):TP311.11
文獻(xiàn)標(biāo)識(shí)碼:A
在自然科學(xué)、工業(yè)生產(chǎn)和實(shí)驗(yàn)研究等諸多領(lǐng)域中,被考查的對(duì)象在伴隨著時(shí)間的變化過程中,其某些物理屬性往往表現(xiàn)出一定的隨機(jī)性,為此,它們常常以一串隨時(shí)間而變化的數(shù)據(jù)序列被人們記錄起來,這種序列通常稱為時(shí)間序列或時(shí)序數(shù)據(jù)。任何的時(shí)序數(shù)據(jù)經(jīng)過適當(dāng)?shù)暮瘮?shù)變換后,總可以被分解為趨勢(shì)、周期項(xiàng)及隨機(jī)噪聲共三種成分[1-3]。其中,趨勢(shì)成分代表了事物的長(zhǎng)期發(fā)展趨勢(shì),是決定數(shù)據(jù)大小的基本成分;周期成分表示事物有規(guī)則的重復(fù)運(yùn)動(dòng),是在趨勢(shì)成分的基礎(chǔ)上所添加的量;而隨機(jī)噪聲成分則反映了趨勢(shì)和周期成分以外事物所受到的其它因素影響的總和,是屬于服從一定統(tǒng)計(jì)規(guī)律的隨機(jī)分布。易知,若能精確地從時(shí)序數(shù)據(jù)中分解出上述的數(shù)據(jù)成分,則有利于人們對(duì)事物的發(fā)展進(jìn)行有效的預(yù)測(cè)、控制和診斷[4-6]。
時(shí)序數(shù)據(jù)的建模與辨識(shí)是概率統(tǒng)計(jì)學(xué)中的一個(gè)研究分支,由于有著廣泛的應(yīng)用場(chǎng)合,近年來得到了迅猛的發(fā)展。以時(shí)序數(shù)據(jù)的分解算法為例,周黔等通過定義基本趨勢(shì)的自然分割點(diǎn)為重要點(diǎn),結(jié)合自底向上的分割方法,提出了一種精度較高的時(shí)序數(shù)據(jù)分段線性化的趨勢(shì)特征提取算法[7],在此基礎(chǔ)上,黃雄波通過計(jì)算時(shí)序數(shù)據(jù)的各階趨勢(shì)導(dǎo)數(shù),有效地把時(shí)序數(shù)據(jù)劃分為多個(gè)不同的子序列模式,進(jìn)而設(shè)計(jì)實(shí)現(xiàn)了一種高效的時(shí)序數(shù)據(jù)趨勢(shì)項(xiàng)的擬合算法[8];蔡智等根據(jù)傅氏級(jí)數(shù)的定義及有關(guān)定理,把求解傅氏系數(shù)的積分運(yùn)算轉(zhuǎn)換為求和運(yùn)算,并得到了一種易于實(shí)現(xiàn)的時(shí)序數(shù)據(jù)周期模式發(fā)現(xiàn)算法[9];徐峰等基于差分原理把非平穩(wěn)隨機(jī)序列轉(zhuǎn)換為平穩(wěn)隨機(jī)序列,并根據(jù)序列的前后相依關(guān)系,采用自回歸模型( auto regressive model,AR)對(duì)振動(dòng)時(shí)序數(shù)據(jù)進(jìn)行了有效的預(yù)測(cè)[10];?;劬壤玫屯V波器對(duì)時(shí)序的突變點(diǎn)進(jìn)行分析和提取,并在歐氏空間內(nèi)將時(shí)序數(shù)據(jù)分解為不同的數(shù)據(jù)成分,進(jìn)而設(shè)計(jì)實(shí)現(xiàn)了一種基于時(shí)序數(shù)據(jù)分解的用戶網(wǎng)絡(luò)行為分析算法[11]。
現(xiàn)實(shí)生活中所記錄的時(shí)序數(shù)據(jù)通常具有非線性和非平穩(wěn)的特征,但基于計(jì)算簡(jiǎn)便的考慮,現(xiàn)有的分解算法往往是在線性模型上進(jìn)行的,故其分解精度難以提升。據(jù)此,基于非線性最小二乘法,設(shè)計(jì)實(shí)現(xiàn)了一種高精度的時(shí)序數(shù)據(jù)迭代分解算法,相關(guān)實(shí)驗(yàn)驗(yàn)證了算法的正確性和有效性。
1 問題描述
設(shè)時(shí)序數(shù)據(jù)用Yt。表示,其分解后的趨勢(shì)、周期和隨機(jī)噪聲成分依次地用Hi、pi和Xi表示,則對(duì)應(yīng)的加法和乘法分解模型如式(1)和式(2)所示,
一般地說,若時(shí)序數(shù)據(jù)的周期和隨機(jī)噪聲成分隨著趨勢(shì)成分的增加(或衰減)而加?。ɑ驕p弱),則應(yīng)采用乘法分解模型進(jìn)行描述;反之,就采用加法分解模型。
若分別用多項(xiàng)式函數(shù)、正弦諧波級(jí)數(shù)及自回歸模型對(duì)時(shí)序數(shù)據(jù)的趨勢(shì)成分Hi、周期成分Pi和隨機(jī)噪聲成分Xi進(jìn)行擬合,以加法分解模型為例,則有
2 時(shí)序數(shù)據(jù)的非線性最小二乘迭代分解算法
對(duì)于傳統(tǒng)的時(shí)序數(shù)據(jù)分解算法而言,通常是利用自相關(guān)函數(shù)對(duì)待分解序列的趨勢(shì)和周期成分進(jìn)行識(shí)別,然后依次地對(duì)它們進(jìn)行提取和分離,最后把剩余的數(shù)據(jù)成分近似為某一平穩(wěn)序列進(jìn)行處理[12-14]。為了能以較少的計(jì)算成本并獲得較高的分解精度,本文設(shè)計(jì)的改進(jìn)算法其工作原理是,首先對(duì)時(shí)序數(shù)據(jù)進(jìn)行概要分解,并初步獲得如式(3)所示的線性分解參數(shù),然后以這些線性分解參數(shù)為迭代初值,在式(6)所示的模型基礎(chǔ)上,對(duì)各種數(shù)據(jù)成分參數(shù)進(jìn)行非線性最小二乘的迭代計(jì)算。
2.1 時(shí)序數(shù)據(jù)的概要分解
時(shí)序數(shù)據(jù)的概要分解過程主要分為三步:(1)從序列中析出關(guān)鍵轉(zhuǎn)折點(diǎn);(2)利用關(guān)鍵轉(zhuǎn)折點(diǎn)的趨勢(shì)導(dǎo)數(shù)識(shí)別不同的數(shù)據(jù)成分;(3)基于最小二乘法估算各種數(shù)據(jù)成分的線性分解參數(shù)。
(1)以三個(gè)連續(xù)的數(shù)據(jù)點(diǎn)為一組,根據(jù)它們的夾角大小從待分解序列中自左至右地析出關(guān)鍵轉(zhuǎn)折點(diǎn)。
把序列相鄰兩點(diǎn)之間的趨勢(shì)劃分為“平穩(wěn)”、“上升”和“下降”共3種狀態(tài),則三個(gè)連續(xù)數(shù)據(jù)點(diǎn)的夾角(記為φ)便有如圖1所示的9種構(gòu)成情況。不難發(fā)現(xiàn),若夾角|φ-π|→0,則三個(gè)連續(xù)數(shù)據(jù)點(diǎn)就趨向三點(diǎn)共線;反之,中間的數(shù)據(jù)點(diǎn)便越有可能成為序列的關(guān)鍵轉(zhuǎn)折點(diǎn)。于是,在實(shí)際應(yīng)用中,可以令φ為某一閾值便可析出序列的關(guān)鍵轉(zhuǎn)折點(diǎn)。
(2)計(jì)算關(guān)鍵轉(zhuǎn)折點(diǎn)的趨勢(shì)導(dǎo)數(shù),并根據(jù)計(jì)算結(jié)果從待分解序列中識(shí)別不同的數(shù)據(jù)成分。
易知,若關(guān)鍵轉(zhuǎn)折點(diǎn)的一階趨勢(shì)導(dǎo)數(shù)具有某一余弦函數(shù)的形態(tài),則此時(shí)可以判定時(shí)序數(shù)據(jù)存在周期成分,且它的周期長(zhǎng)度可通過關(guān)鍵轉(zhuǎn)折點(diǎn)的跨度來獲取;而趨勢(shì)成分則可通過計(jì)算關(guān)鍵轉(zhuǎn)折點(diǎn)的高階趨勢(shì)導(dǎo)數(shù)進(jìn)行判別,并以最后某一高階趨勢(shì)導(dǎo)數(shù)等于常數(shù)的階次作為多項(xiàng)式擬合函數(shù)的最高項(xiàng)數(shù)。
(3)基于最小二乘法估算出趨勢(shì)和周期成分的線性分解參數(shù),把剩余的數(shù)據(jù)成分視作某一平穩(wěn)序列,并用伯格( Burg)算法對(duì)其自回歸模型參數(shù)進(jìn)行估算。
步驟3:依照式(19)所示,迭代求解時(shí)序數(shù)據(jù)非線性最小二乘的分解參數(shù)向量;
步驟4:若當(dāng)前的分解誤差大于ε,則把當(dāng)前分解向量→xk,并跳轉(zhuǎn)步驟3;否則跳轉(zhuǎn)步驟5;