龍浩,霍娜
(徐州工業(yè)職業(yè)技術(shù)學(xué)院 信息管理技術(shù)學(xué)院,江蘇 徐州 221000)
一種基于數(shù)據(jù)平滑技術(shù)的回歸預(yù)測(cè)算法
龍浩1,霍娜2
(徐州工業(yè)職業(yè)技術(shù)學(xué)院 信息管理技術(shù)學(xué)院,江蘇 徐州 221000)
在基于固定窗口寬度滑動(dòng)窗口模型的基礎(chǔ)上,提出了一種基于回歸參數(shù)存儲(chǔ)的預(yù)測(cè)模型,該模型設(shè)置了計(jì)算區(qū)、數(shù)據(jù)區(qū)和參數(shù)區(qū)。計(jì)算區(qū)用于獲得最近一個(gè)滑動(dòng)窗口中的數(shù)據(jù),數(shù)據(jù)區(qū)用于接收新數(shù)據(jù),參數(shù)區(qū)存儲(chǔ)最近若干組滑動(dòng)窗口數(shù)據(jù)所計(jì)算得到的線性回歸參數(shù)值,作為計(jì)算預(yù)測(cè)結(jié)果的原始數(shù)據(jù)集。按照這種模型的處理思路,提出了一種基于數(shù)據(jù)平滑技術(shù)的回歸預(yù)測(cè)算法,隨著窗口的滑動(dòng),對(duì)數(shù)據(jù)區(qū)中的數(shù)據(jù)進(jìn)行回歸分析,獲得前面若干組滑動(dòng)窗口數(shù)據(jù)的回歸函數(shù)并存入?yún)?shù)區(qū)中,檢驗(yàn)當(dāng)前窗口中數(shù)據(jù)獲得的回歸函數(shù)預(yù)測(cè)效果。實(shí)驗(yàn)分析表明,通過修正當(dāng)前回歸函數(shù)的參數(shù),可以使預(yù)測(cè)函數(shù)的預(yù)測(cè)精度得到很大程度的提高。
數(shù)據(jù)流;預(yù)測(cè)模型;數(shù)據(jù)平滑技術(shù);回歸預(yù)測(cè)算法
數(shù)據(jù)流預(yù)測(cè),是通過對(duì)數(shù)據(jù)流建立預(yù)測(cè)模型,分析既有的數(shù)據(jù),利用不同的分析方法,對(duì)其將來的趨勢(shì)進(jìn)行預(yù)測(cè)。這對(duì)于災(zāi)害的防控有重要的意義,可以通過對(duì)某段時(shí)間的數(shù)據(jù)流分析,預(yù)測(cè)出可能發(fā)生的災(zāi)害,從而消除隱患,達(dá)到防患于未然的目的。目前,國(guó)內(nèi)外現(xiàn)有的研究工作主要集中在數(shù)據(jù)流的局域?qū)崟r(shí)信息查詢和壓縮處理方面,但是對(duì)數(shù)據(jù)流變化趨勢(shì)的預(yù)測(cè)查詢較少。由于數(shù)據(jù)流模型有其獨(dú)特的性質(zhì):實(shí)時(shí)和獨(dú)立,因此,基于數(shù)據(jù)流的預(yù)測(cè)技術(shù),其預(yù)測(cè)速度會(huì)顯著提高,又因其系統(tǒng)環(huán)境和人為干預(yù)的影響因素少,也使得預(yù)測(cè)結(jié)果更加準(zhǔn)確[1]。
根據(jù)數(shù)據(jù)流的定義——數(shù)據(jù)流是實(shí)時(shí)、連續(xù)、有序的數(shù)據(jù)項(xiàng)序列(順序由到達(dá)時(shí)間隱含地表示或顯式地由時(shí)間戳指定),數(shù)據(jù)流的數(shù)量在理論上是無限的,無法完整地存儲(chǔ)下來。關(guān)于數(shù)據(jù)流可以找出如下關(guān)鍵詞:實(shí)時(shí),連續(xù),有序,數(shù)量無限。由于數(shù)據(jù)流應(yīng)用環(huán)境的這些特點(diǎn),對(duì)我們的預(yù)測(cè)查詢提出了相應(yīng)的要求[2]。
首先,數(shù)據(jù)流預(yù)測(cè)查詢的目標(biāo)是為實(shí)際的應(yīng)用提供有效的信息預(yù)測(cè)服務(wù),因此,根據(jù)當(dāng)前獲取的信息,數(shù)據(jù)流預(yù)測(cè)查詢算法應(yīng)該有較高的預(yù)測(cè)精度,對(duì)于在未來的時(shí)間段內(nèi)的發(fā)展趨勢(shì)應(yīng)該有較為精確的預(yù)測(cè)和估算。
其次,數(shù)據(jù)流是實(shí)時(shí)變化的數(shù)據(jù)序列,因此,數(shù)據(jù)流預(yù)測(cè)查詢應(yīng)該有較快的實(shí)時(shí)響應(yīng)速度,在用戶可以接受的時(shí)間范圍內(nèi),預(yù)測(cè)算法應(yīng)該有比較優(yōu)秀的時(shí)間復(fù)雜度[3]。
最后,數(shù)據(jù)流應(yīng)用環(huán)境的數(shù)據(jù)量非常龐大,這就對(duì)計(jì)算機(jī)的內(nèi)存帶來了巨大的壓力,因此,數(shù)據(jù)流預(yù)測(cè)算法必須在保證預(yù)測(cè)精度的基礎(chǔ)上,采取多種方法降低對(duì)內(nèi)存的壓力,從而提高預(yù)測(cè)效率。
在運(yùn)用回歸分析方法分析事物發(fā)展變化趨勢(shì)時(shí),必須找到影響預(yù)測(cè)目標(biāo)變化的主要因素,才能建立預(yù)測(cè)模型。選取單因素條件下的回歸預(yù)測(cè),即僅考慮現(xiàn)場(chǎng)監(jiān)測(cè)數(shù)據(jù)基于時(shí)間因素t的變化函數(shù)f(t)。根據(jù)目前觀測(cè)到的數(shù)據(jù)集,采用回歸分析方法,計(jì)算得到關(guān)于數(shù)據(jù)流的變化函數(shù)。
在數(shù)據(jù)流環(huán)境中,數(shù)據(jù)具有變化連續(xù)、無限、快速的特點(diǎn),在這種情形下對(duì)數(shù)據(jù)流進(jìn)行預(yù)測(cè),要達(dá)到預(yù)設(shè)的要求和理想的效果比較困難[4-5]。文中提出了一種基于數(shù)據(jù)平滑技術(shù)的回歸預(yù)測(cè)模型(如圖1所示),該模型設(shè)置了三個(gè)緩沖區(qū),計(jì)算區(qū)用于獲得最近一個(gè)滑動(dòng)窗口中的數(shù)據(jù),參數(shù)區(qū)用于存儲(chǔ)基于最近若干組(設(shè)為m組)滑動(dòng)窗口數(shù)據(jù)所計(jì)算得到的若干組線性回歸參數(shù)(a,b)的值。模型中的滑動(dòng)窗口是基于固定窗寬的滑動(dòng)窗口,它保留最近到達(dá)的n組數(shù)據(jù),n稱為滑動(dòng)窗口的窗寬。在模型中,滑動(dòng)窗口可以看作是一塊內(nèi)存緩沖區(qū),新到達(dá)的數(shù)據(jù)進(jìn)入這個(gè)緩沖區(qū),當(dāng)新數(shù)據(jù)填充該滑動(dòng)窗口的內(nèi)存區(qū)域時(shí),計(jì)算區(qū)中的數(shù)據(jù)被清空,然后將滑動(dòng)窗口內(nèi)的數(shù)據(jù)移到計(jì)算區(qū)中,滑動(dòng)窗口繼續(xù)獲取新的數(shù)據(jù)。
隨著窗口的滑動(dòng),對(duì)計(jì)算區(qū)中的數(shù)據(jù)進(jìn)行回歸分析,獲得針對(duì)若干次滑動(dòng)窗口中數(shù)據(jù)的回歸函數(shù)并存入?yún)?shù)區(qū)中,檢驗(yàn)基于計(jì)算區(qū)數(shù)據(jù)計(jì)算得到的回歸函數(shù)的預(yù)測(cè)效果。如果預(yù)測(cè)效果不理想,通過修正當(dāng)前回歸函數(shù)的參數(shù),可以有效地提高預(yù)測(cè)函數(shù)的預(yù)測(cè)精度。
圖1表明了預(yù)測(cè)模型的一次處理過程。首先通過當(dāng)前計(jì)算區(qū)中的數(shù)據(jù)計(jì)算出回歸函數(shù)f(a2,b2),接著通過該函數(shù)預(yù)測(cè)當(dāng)前滑動(dòng)窗口上的值,比較預(yù)測(cè)值與實(shí)際觀察值的偏差。如果預(yù)測(cè)效果達(dá)不到設(shè)定要求,修正回歸函數(shù)參數(shù),用參數(shù)區(qū)中的函數(shù)參數(shù)集(a0,b0),(a1,b1)修正當(dāng)前的函數(shù)參數(shù)(a2,b2),得到修正后的預(yù)測(cè)函數(shù)f(),然后判斷新函數(shù)f()在當(dāng)前滑動(dòng)窗口上的預(yù)測(cè)效果,可以反復(fù)修改參數(shù),直到預(yù)測(cè)效果滿足給定條件為止。參數(shù)修正的時(shí)間必須小于一個(gè)滑動(dòng)窗口的更新周期Δt,在一個(gè)更新周期Δt內(nèi),預(yù)測(cè)函數(shù)的預(yù)測(cè)效果如果無法滿足用戶設(shè)定的條件,則更新計(jì)算區(qū)和參數(shù)區(qū)中的數(shù)據(jù),算法重復(fù)執(zhí)行。
圖1 回歸參數(shù)存儲(chǔ)的預(yù)測(cè)模型
該算法分為4個(gè)階段。
第1階段:用數(shù)據(jù)緩沖區(qū)中最新得到的數(shù)據(jù),建立線性回歸方程,這里是回歸方程的系數(shù)。
第2階段:根據(jù)第一階段得到的回歸函數(shù),計(jì)算在預(yù)測(cè)區(qū)間上的預(yù)測(cè)值,并與實(shí)際觀察值比較,計(jì)算預(yù)測(cè)的殘差。
第3階段:比較計(jì)算得到的殘差和用戶給定的閾值σ,判斷殘差是否大于σ,“是”則說明預(yù)測(cè)失敗,轉(zhuǎn)第4階段,“否”則說明接受預(yù)測(cè)函數(shù)。
第4階段:根據(jù)一個(gè)窗口時(shí)間的大小,給定閾值n,判斷預(yù)測(cè)失敗的次數(shù)的累加值和閾值n的大小,失敗次數(shù)小于n則轉(zhuǎn)入?yún)?shù)調(diào)整策略,否則更新數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù),轉(zhuǎn)第1階段重新執(zhí)行。
算法的說明如下:
輸入:預(yù)測(cè)函數(shù)y=f(x)+β,滑動(dòng)窗口獲取的數(shù)值(y0,y1,…,y∞),需要預(yù)測(cè)的時(shí)間區(qū)間(tj,tj+1,…,tj+n-1),j∈(0,∞)用戶可接受的精度閥值θ
算法中函數(shù)的具體說明:
LRA(yi,yi+1…yi+n-1)表示對(duì)窗口(yi,yi+1…yi+n-1)中煙流溫度值(即火災(zāi)中產(chǎn)生煙流的溫度值)進(jìn)行線性回歸分析,得到參數(shù)a,b的估計(jì)值;
GET_RSS(f_yk):計(jì)算窗口(tj,tj+1…tj+n-1)(j>I)對(duì)應(yīng)(yj,yj+1…yj+n-1)的殘差;
ADJUST(f-a,f-b)表示根據(jù)當(dāng)前窗口數(shù)據(jù)的變化趨勢(shì),調(diào)整預(yù)測(cè)函數(shù)參數(shù)取值,調(diào)整策略采用指數(shù)平滑法。
ACCEPT(adj_c)表示以合適的形式輸出符合精度要求的煙流溫度值。
表1 FDS4.0火災(zāi)模擬現(xiàn)場(chǎng)數(shù)據(jù)流
窗口寬度選取500,根據(jù)20 000條數(shù)據(jù)對(duì)未來(900~1 200)(1 200~1 500)(1 500~1 800)(1 800~2 100)(2 100~2 400)(2 400~2 700)(2 700~3 000)(3 000~3 300)(3 300~3 600)幾個(gè)時(shí)間段內(nèi)的煙流溫度值進(jìn)行預(yù)測(cè),顯示參數(shù)進(jìn)行指數(shù)平滑前后對(duì)預(yù)測(cè)精度的影響。實(shí)驗(yàn)從600~900條數(shù)據(jù)開始,根據(jù)600~900條數(shù)據(jù)計(jì)算得到的a,b(3.541,-99.08),平滑系數(shù)選取前次窗口的調(diào)整值0.65,預(yù)測(cè)精度變化如圖2所示。橫坐標(biāo)表示預(yù)測(cè)的時(shí)間段,縱坐標(biāo)表示預(yù)測(cè)精度,精度用殘差RSS表示。從圖中可以看出,靠近樣本窗口的數(shù)據(jù),使用未經(jīng)過平滑處理的參數(shù)獲取的溫度估計(jì)值精度較高,但要預(yù)測(cè)遠(yuǎn)離樣本窗口的溫度值時(shí),平滑處理后的參數(shù)值會(huì)獲取較高精度的溫度估計(jì)值。
圖2 指數(shù)平滑法平滑效果比較圖
實(shí)驗(yàn)證明,通過回歸參數(shù)存儲(chǔ)的預(yù)測(cè)模型,隨著窗口的滑動(dòng),對(duì)數(shù)據(jù)區(qū)中的數(shù)據(jù)進(jìn)行回歸分析,獲得前面若干組滑動(dòng)窗口數(shù)據(jù)的回歸函數(shù)并存入?yún)?shù)區(qū)中,用來檢驗(yàn)當(dāng)前窗口中數(shù)據(jù)獲得的回歸函數(shù)預(yù)測(cè)效果,如果效果不理想,通過修改回歸函數(shù)的參數(shù),可以有效提高預(yù)測(cè)函數(shù)的預(yù)測(cè)精度。
[1]Vazhkudai S,Schopf J M.Using regression techniques to predictlarge datatransfers[J].International Journal of High Performance Computing Applications,2013,17(3):249-268.
[2]李建中,郭龍江,張冬冬,等.數(shù)據(jù)流上的預(yù)測(cè)聚集查詢處理算法[J].軟件學(xué)報(bào),2010,16(7):1252-1261.
[3]李國(guó)徽,陳輝,楊兵,等.基于概率模型的數(shù)據(jù)流預(yù)測(cè)查詢算法[J].計(jì)算機(jī)科學(xué)2012(4).
[4]李國(guó)徽,付沛,陳輝,等.基于GEP方法的數(shù)據(jù)流預(yù)測(cè)模型[J].計(jì)算機(jī)工程,2013.
[5]陳安龍,唐常杰,傅彥,等.基于能量和頻繁模式的數(shù)據(jù)流預(yù)測(cè)查詢算法[J].軟件學(xué)報(bào),2008(6).
Data Stream Pred iction Model Based on Parameters Smoothing Methods
LONG Hao1,HUO Na2
(Information Management Institute,Xuzhou College of Industrial Technology,Jiangsu Xuzhou 221000,China)
Fixed windowwidth model meansthe size ofthe sliding windowwidth is afixed number.Based onthis model,this paper proposed adatastreamprediction model based on regression parameters smoothing method.Compared withthe sliding windowmodel,anewbuffer zone is set forthe storage ofthe parameters which calculated by recent data.Then anewdatastreamprediction algorithmis proposed.By usingthe datain current databuffertogetthe prediction function,we can getthe prediction value in current window.Given afixed deviation value,ifthe difference betweenthe prediction results and observation datanotlessthanthe deviation,parameters correction stepneedtobe done,in whichthe prediction function parameters needtobe changed.Experiments showusthatthis algorithmcan reducethe space andtime complexity,and alsoimprovesthe prediction accuracy.
datastream;prediction model;sliding window; regression parameters
TP309.1
A
1673-2022(2014)04-0047-04
2014-08-26
龍浩(1984-),男,湖南長(zhǎng)沙人,講師,主要研究方向?yàn)檐浖こ?、?shù)據(jù)挖掘;霍娜(1984-),女,陜西榆林人,講師,主要研究方向?yàn)檐浖こ獭?/p>