本發(fā)明涉及數(shù)據(jù)處理技術領域,特別涉及一種業(yè)務指標預測方法及裝置。
背景技術:
業(yè)務指標一般以企業(yè)或公司等機構旗下各個業(yè)務產生的時間序列來表征。其中,時間序列是指將同一個統(tǒng)計指標的數(shù)值按照其發(fā)生時間的先后順序排列而成的數(shù)據(jù)序列。例如,某一款游戲每天的收入情況、某個網站每天的訪問人數(shù)、投放某個廣告每天獲得的收入等等。時下時間序列分析在生活和生產中扮演著越來越重要的角色,其主要應用于預測領域,諸如氣象預報、市場預測、人口預測、汛情預測、產量預測等等。比如,在互聯(lián)網產業(yè)中,采用時間序列分析方法可實現(xiàn)對網站訪問量、廣告收入、游戲用戶接入量等業(yè)務指標進行預測,從而能夠及早發(fā)現(xiàn)問題,進而保障業(yè)務的穩(wěn)定、用戶的良好體驗及資金的有效運轉。
現(xiàn)有技術通常采取下述方式對業(yè)務指標進行預測。第一種方式采用簡單滑動平均法,根據(jù)時間序列逐項移推,依次計算一段時間窗口內數(shù)據(jù)的平均值,并依此進行業(yè)務指標預測。對于時間窗口長度為k的簡單滑動平均方法的計算公式如下:
其中,k、i和n均為正整數(shù),
第二種方式采用加權滑動平均法,根據(jù)同一個滑動段內不同時間的數(shù)據(jù)對預測值的影響程度,分別給予數(shù)據(jù)不同的權重,然后再進行平均以預測未來值。加權滑動平均法根據(jù)愈是近期數(shù)據(jù)對預測值影響愈大這一特點,不同地對待滑動窗口內的各個數(shù)據(jù)。對近期數(shù)據(jù)給予較大的權重,對較遠期的數(shù)據(jù)給予較小的權重,依此進行業(yè)務指標預測。其計算公式如下:
其中,wn-i為n-i時刻的權重,并滿足
在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)上述技術至少存在以下問題:
當業(yè)務指標存在較大波動和受到季節(jié)性因素等影響時,采取上述兩種滑動平均法不能有效地抓住指標的變化規(guī)律;此外,滑動窗口的長度對預測結果有著較大的影響,較短的窗口不能抓住指標的長期趨勢,較長的窗口又會對指標變動不敏感,因此上述預測方式的預測效果欠佳。
技術實現(xiàn)要素:
為了解決上述技術的問題,本發(fā)明實施例提供了一種業(yè)務指標預測方法及裝置。所述技術方案如下:
第一方面,提供了一種業(yè)務指標預測方法,所述方法包括:
對于一個業(yè)務指標,根據(jù)所述業(yè)務指標的第一歷史時間序列,訓練對所述業(yè)務指標進行預測的至少一個第一模型;
對于每一個第一模型,基于所述第一模型和第二歷史時間序列對所述業(yè)務指標進行預測,得到一個初步預測結果;
將所述至少一個第一模型輸出的所述初步預測結果進行統(tǒng)計分析,得到所述業(yè)務指標的最終預測結果。
第二方面,提供了一種業(yè)務指標預測裝置,所述裝置包括:
訓練模塊,用于對于一個業(yè)務指標,根據(jù)所述業(yè)務指標的第一歷史時間序列,訓練對所述業(yè)務指標進行預測的至少一個第一模型;
預測模塊,用于對于每一個第一模型,基于所述第一模型和第二歷史時間序列對所述業(yè)務指標進行預測,得到一個初步預測結果;
統(tǒng)計分析模塊,用于將所述至少一個第一模型輸出的所述初步預測結果進行統(tǒng)計分析,得到所述業(yè)務指標的最終預測結果。
本發(fā)明實施例提供的技術方案帶來的有益效果是:
基于歷史數(shù)據(jù)訓練多個模型,且每一個模型均根據(jù)歷史數(shù)據(jù)對同一業(yè)務指標進行預測,進而得到多個預測結果。之后,將這多個預測結果進行加權平均等統(tǒng)計分析,將最終得到的結果作為對該業(yè)務指標的預測結果,由于進行了多個模型融合,這樣即便業(yè)務指標存在較大波動和受到季節(jié)性因素等影響,依然可以通過多種模型有效地抓住指標的變化規(guī)律和長期趨勢,使得對業(yè)務指標的 預測更為精準,該種預測效果較佳。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的一種業(yè)務指標預測方法的流程圖;
圖2a是本發(fā)明實施例提供的一種業(yè)務指標預測方法的流程圖;
圖2b是本發(fā)明實施例提供的一種rnn模型的網絡結構圖;
圖3是本發(fā)明實施例提供的一種業(yè)務指標預測裝置的結構示意圖;
圖4是本發(fā)明實施例提供的一種服務器的結構示意圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。
圖1是本發(fā)明實施例提供的一種業(yè)務指標預測方法的流程圖。參見圖1,本發(fā)明實施例提供的方法流程包括:
101、對于一個業(yè)務指標,根據(jù)業(yè)務指標的第一歷史時間序列,訓練對業(yè)務指標進行預測的至少一個第一模型。
102、對于每一個第一模型,基于該第一模型和第二歷史時間序列對業(yè)務指標進行預測,得到一個初步預測結果。
103、將至少一個第一模型輸出的初步預測結果進行統(tǒng)計分析,得到業(yè)務指標的最終預測結果。
本發(fā)明實施例提供的方法,基于歷史數(shù)據(jù)訓練多個模型,且每一個模型均根據(jù)歷史數(shù)據(jù)對同一業(yè)務指標進行預測,進而得到多個預測結果。之后,將這多個預測結果進行加權平均等統(tǒng)計分析,將最終得到的結果作為對該業(yè)務指標的預測結果,由于進行了多個模型融合,這樣即便業(yè)務指標存在較大波動和受到季節(jié)性因素等影響,依然可以通過多種模型有效地抓住指標的變化規(guī)律和長期趨勢,使得對業(yè)務指標的預測更為精準,該種預測效果較佳。
在另一個實施例中,根據(jù)業(yè)務指標的第一歷史時間序列,訓練對業(yè)務指標進行預測的至少一個第一模型,包括:
基于時間順序,在第一歷史時間序列中分別確定訓練數(shù)據(jù)和測試數(shù)據(jù);
根據(jù)訓練數(shù)據(jù),訓練至少一個第二模型中的各個參數(shù),得到至少一個訓練模型;
根據(jù)測試數(shù)據(jù)對至少一個訓練模型中的各個參數(shù)進行優(yōu)化,得到至少一個第一模型。
在另一個實施例中,基于時間順序,在第一歷史時間序列中分別確定訓練數(shù)據(jù)和測試數(shù)據(jù),包括:
將第一歷史時間序列中時間變量早于預設時間閾值的業(yè)務數(shù)據(jù)作為訓練數(shù)據(jù);
將第一歷史時間序列中時間變量晚于預設時間閾值的業(yè)務數(shù)據(jù)作為測試數(shù)據(jù)。
在另一個實施例中,將至少一個第一模型輸出的初步預測結果進行統(tǒng)計分析,得到業(yè)務指標的最終預測結果,包括:
將至少一個第一模型輸出的初步預測結果進行加權平均處理,得到最終預測結果。
在另一個實施例中,將至少一個第一模型輸出的初步預測結果進行統(tǒng)計分析,得到業(yè)務指標的最終預測結果,包括:
基于mape((meanabsolutepercentageerror,相對百分誤差)算法,在輸出的所有初步預測結果中選取指定個初步預測結果,指定個初步預測結果對應的模型對業(yè)務指標的預測誤差小于指定數(shù)值;
將指定個初步預測結果進行加權平均處理,得到最終預測結果。
在另一個實施例中,至少一個第一模型包括ewma(exponentiallyweightedmoving-average,指數(shù)加權移動平均)模型、arma(auto-regressiveandmovingaverage,自回歸移動平均)模型、rnn(recurrentneuralnetwork,遞歸神經網絡)模型。
上述所有可選技術方案,可以采用任意結合形成本公開的可選實施例,在此不再一一贅述。
圖2a是本發(fā)明實施例提供的一種業(yè)務指標預測方法的流程圖。參見圖2a,本發(fā)明實施例提供的方法流程包括:
201、對于一個業(yè)務指標,根據(jù)業(yè)務指標的第一歷史時間序列,訓練對該業(yè)務指標進行預測的至少一個第一模型。
其中,業(yè)務指標可指代游戲每天獲得收入、網站每天訪問人數(shù)、廣告每天獲得收入等,本發(fā)明實施例對此不進行具體限定。第一歷史時間序列指代該業(yè)務指標的歷史數(shù)據(jù)。在本發(fā)明實施例中,第一歷史時間序列均可以抽象為一個二元組的集合t={(t1,v1),(t2,v2),(t3,v3),......,(tn,vn)}。
其中,ti為時間變量,滿足(ti<ti+1,i∈{1,2,3,...,n-1},vi為ti時刻該業(yè)務指標的實際觀測值,也即vi指代的是該業(yè)務指標真實的統(tǒng)計值,與預測值相對應。至少一個第一模型包括ewma模型、arma模型、rnn模型等,本發(fā)明實施例對此不進行具體限定。針對上述每一個模型來說,通常一個模型僅考慮影響業(yè)務指標的一個方面,不能夠概括所有對業(yè)務指標有影響的因素。比如,ewma模型在進行預測時僅能夠抓住數(shù)據(jù)的長期變化趨勢,而arma模型僅能夠抓住數(shù)據(jù)的一些平穩(wěn)變化規(guī)律,rnn模型僅能夠抓住數(shù)據(jù)一些規(guī)律性的變化趨勢。為了提高業(yè)務指標的預測精確度,本發(fā)明實施例采取使用多種模型來擬合業(yè)務指標的方式,即采用多種模型對同一業(yè)務指標進行預測,并將得到的預測結果進行加權平均,從而得到精確度較高的預測結果,詳細地描述詳見后續(xù)步驟。
其中ewma模型是常用的一種預測方法,其計算公式如下所示:
公式(1)是一個遞歸式的定義,將滑動窗口內的k個預測值代入公式(1)可以得到:
從上述公式(2)可以看出,n時刻的預測值跟n-1時刻以及之前所有時刻的實際觀測值按(1-α)i的i遞增,這便是指數(shù)加權移動平均法中指數(shù)的意義所在。公式(1)和公式(2)的文字描述就是,對離當前預測時刻較近的觀測值賦予較大的權數(shù),對離當前預測時刻較遠的觀測值賦予較小的權數(shù),權數(shù)按照時間由近到遠的順序按指數(shù)規(guī)律遞減,因此稱之為指數(shù)加權移動平均法。
arma模型是研究時間序列的另一個重要方法,它由自回歸模型(ar)和滑動平均模型(ma)為基礎組合而成。其中,p階自回歸模型計算公式如下:
其中,
q階滑動平均模型計算公式如下:
其中,θi為待估計參數(shù),i=1,2,...,q;u為指標均值。滑動平均模型描述的是自回歸部分的誤差累計。
arma(p,q)模型包含了p個自回歸項和q個滑動平均項,它可以表示為如下公式(5):
給定arma模型,以及一段時間內的時間序列,便可以通過極大似然原理,給出模型參數(shù)和白噪聲方差的極大似然估計。
rnn是一種特殊的神經網絡,在它的網絡結構中有環(huán)的存在。一個神經元的輸出結果可以是另一個神經元的輸入,其網絡結構如圖2b所示。從圖2b中可以看出,隱藏層的輸入不僅包括當前時刻輸入層的輸入,還包括前一時刻隱藏層自己的輸出。輸出層在t時刻的最終結果o(t)是該時刻輸入和所有歷史輸出共同作用的結果。因此這種網絡結構非常適合用來給時間序列建模。在該網絡中,每一個隱藏層神經單元和輸出層單元的激活函數(shù)可以表達為如下公式(6)和公式(7):
ht=σ(whxxt+whhht-1+bh)(6)
yt=softmax(wyhht+by)(7)
其中,σ(.)為激活函數(shù),在本發(fā)明實施例中我們使用sigmoid函數(shù),whx、whh、wyh為神經網絡結構中的待估計參數(shù),whx為輸入層和隱藏層連接神經元之間的權重矩陣、whh為隱藏層和隱藏層之間的權重矩陣、wyh為隱藏層和輸出層之間的權重矩陣。bh、by為待估計偏置項??梢酝ㄟ^反向傳播算法求解這些參數(shù)。
在本發(fā)明實施例中,在根據(jù)業(yè)務指標的第一歷史時間序列,訓練對業(yè)務指標進行預測的至少一個第一模型時,可采取下述方式實現(xiàn):
基于時間順序,在第一歷史時間序列中分別確定訓練數(shù)據(jù)和測試數(shù)據(jù);根據(jù)訓練數(shù)據(jù)訓練至少一個第二模型中的各個參數(shù),得到至少一個訓練模型;根據(jù)測試數(shù)據(jù)對至少一個訓練模型中的各個參數(shù)進行優(yōu)化,得到至少一個第一模型。
需要說明的是,在本發(fā)明實施例中第一模型指代已經過初步訓練過程和參數(shù)優(yōu)化過程處理后的模型;第二模型指代原始模型,即未經過初步訓練過程和參數(shù)優(yōu)化過程處理的模型。
其中,基于時間順序的含義是將第一歷史時間序列中時間變量早于預設時間閾值的業(yè)務數(shù)據(jù)作為訓練數(shù)據(jù);將第一歷史時間序列中時間變量晚于預設時間閾值的業(yè)務數(shù)據(jù)作為測試數(shù)據(jù)。以第一歷史時間序列中業(yè)務數(shù)據(jù)為1月1號到12月31號之間每天的網站訪問人數(shù)為例,在這一時間段內的所有業(yè)務數(shù)據(jù)均為該網站訪問人數(shù)的實際觀測值。比如可將1月1號到11月30號之間每天網站訪問人數(shù)的實際觀測值作為訓練數(shù)據(jù),而將12月1號到12月31號之間每天網站訪問人數(shù)的實際觀測值作為測試數(shù)據(jù)。
在開始訓練一個模型之前,該模型所涉及的所有參數(shù)可用一些不同的小隨機數(shù)進行初始化?!靶‰S機數(shù)”用來保證模型不會因參數(shù)值過大而進入飽和狀態(tài),從而導致訓練失?。弧安煌庇脕肀WC模型可以正常地學習。如果用相同的數(shù)去初始化參數(shù)(比如,權矩陣),則模型可能無能力學習。在根據(jù)第一歷史時間序列中的訓練數(shù)據(jù)訓練好模型后,也即通過訓練數(shù)據(jù)確定模型中的各個參數(shù)后,為了提高模型的預測精確度,減小該模型預測出的預測值與實際觀測值之間的誤差,本發(fā)明實施例還包括根據(jù)第一歷史時間序列中的測試數(shù)據(jù)對上述訓練模型進行進一步地修正過程,即對訓練模型中的各個參數(shù)進行進一步地優(yōu)化,為模型選擇出最優(yōu)參數(shù)。
其中,可使用mape算法為訓練出的每一個訓練模型選擇最優(yōu)參數(shù)。其中,mape算法主要用來衡量預測值與實際觀測值之間差別的平均值。其定以如下:
預測值與實際觀測值之間差別的平均值越小,也即mape的數(shù)值越小,證明模型當前的參數(shù)越優(yōu)。在根據(jù)測試數(shù)據(jù)和訓練模型中當前的各個參數(shù)得到預測數(shù)據(jù)后,基于上述公式(8)計算預測數(shù)據(jù)與實測試數(shù)據(jù)之間差別的平均值,再 根據(jù)得到的mape的數(shù)值進一步地對模型中當前的各個參數(shù)進行調整,不斷重復上述過程,直到mape的數(shù)值小于一定值或者mape的數(shù)值維持在一個恒定值不變,此時模型中的各個參數(shù)即為該模型的最優(yōu)參數(shù)。
202、對于每一個第一模型,基于該第一模型和第二歷史時間序列對業(yè)務指標進行預測,得到一個初步預測結果。
其中,第二歷史時間序列既可與第一歷史時間序列一致,也可與第一歷史時間序列不一致,本發(fā)明實施例對此不進行具體限定。在根據(jù)上述步驟訓練好至少一個第一模型,即為至少一個第一模型分別選擇出最優(yōu)參數(shù)后,本步驟基于第二歷史時間序列,分別利用每一個模型對該業(yè)務指標進行預測。以至少一個第一模型為ewma模型、arma模型、rnn模型為例,則在本步驟中基于第二歷史時間序列,利用ewma模型對該業(yè)務指標進行一次預測,得到一個初步預測結果;再基于第二歷史時間序列,利用arma模型對該業(yè)務指標進行一次預測,得到一個初步預測結果;再基于第二歷史時間序列,利用rnn模型對該業(yè)務指標進行一次預測,得到一個初步預測結果。
在得到上述每一個模型的初步預測結果后,可直接將上述得到的全部初步預測結果進行加權平均,得到的數(shù)據(jù)即為對該業(yè)務指標進行預測的最終預測結果。這樣通過多種模型融合不僅能進一步地提高模型預測的精確度,而且還能有效防止過擬合現(xiàn)象的出現(xiàn)。此外,為了進一步地提升預測精確度,本發(fā)明實施例還提供了在至少一個第一模型中選擇表現(xiàn)較好的一部分模型進行加權平均,完成對業(yè)務指標進行預測的方法,詳細過程如下:
203、基于mape算法,在輸出的所有初步預測結果中選取指定個初步預測結果。
在本發(fā)明實施例中,在至少一個第一模型輸出的所有初步預測結果中選取指定個初步預測結果時,同樣基于mape算法實現(xiàn)。在經過上述201的處理后,每一個第一模型中的參數(shù)均為最優(yōu)參數(shù)。此時,可在第一歷史時間序列的測試數(shù)據(jù)中或在第二歷史時間序列中選擇一小部分數(shù)據(jù),根據(jù)這一小部分數(shù)據(jù)分別對至少一個第一模型中的每一個模型進行測試。如果輸出的預測數(shù)據(jù)與實際觀測值之間的mape的數(shù)值小于指定數(shù)值,則表明該模型對業(yè)務指標的預測誤差小于指定數(shù)值,將該模型劃分為指定個初步預測結果中的一員。
204、將指定個初步預測結果進行加權平均處理,得到最終預測結果。
在本發(fā)明實施例中,在將指定個初步預測結果進行加權平均處理時,可為預測誤差最小的模型賦予最大的權重,為預測誤差最大的模型賦予最小的權重,以保證最終預測結果的精確度,本發(fā)明實施例對此不進行具體限定。
本發(fā)明實施例提供的方法,基于歷史數(shù)據(jù)訓練多個模型,且每一個模型均根據(jù)歷史數(shù)據(jù)對同一業(yè)務指標進行預測,進而得到多個預測結果。之后,將這多個預測結果進行加權平均等統(tǒng)計分析,將最終得到的結果作為對該業(yè)務指標的預測結果,由于進行了多個模型融合,這樣即便業(yè)務指標存在較大波動和受到季節(jié)性因素等影響,依然可以通過多種模型有效地抓住指標的變化規(guī)律和長期趨勢,使得對業(yè)務指標的預測更為精準,該種預測效果較佳。
圖3是本發(fā)明實施例提供的一種業(yè)務指標預測裝置的結構示意圖。參見圖3,該裝置包括:訓練模塊301、預測模塊302、統(tǒng)計分析模塊303。
其中,訓練模塊301與預測模塊302連接,用于對于一個業(yè)務指標,根據(jù)業(yè)務指標的第一歷史時間序列,訓練對業(yè)務指標進行預測的至少一個第一模型;預測模塊302與統(tǒng)計分析模塊303連接,用于對于每一個第一模型,基于該第一模型和第二歷史時間序列對業(yè)務指標進行預測,得到一個初步預測結果;統(tǒng)計分析模塊303,用于將至少一個第一模型輸出的初步預測結果進行統(tǒng)計分析,得到業(yè)務指標的最終預測結果。
在另一個實施例中,訓練模塊301,用于基于時間順序,在第一歷史時間序列中分別確定訓練數(shù)據(jù)和測試數(shù)據(jù);根據(jù)訓練數(shù)據(jù),訓練至少一個第二模型中的各個參數(shù),得到至少一個訓練模型;根據(jù)測試數(shù)據(jù)對至少一個訓練模型中的各個參數(shù)進行優(yōu)化,得到至少一個第一模型。
在另一個實施例中,訓練模塊301,用于將第一歷史時間序列中時間變量早于預設時間閾值的業(yè)務數(shù)據(jù)作為訓練數(shù)據(jù);將第一歷史時間序列中時間變量晚于預設時間閾值的業(yè)務數(shù)據(jù)作為測試數(shù)據(jù)。
在另一個實施例中,統(tǒng)計分析模塊303,用于將至少一個第一模型輸出的初步預測結果進行加權平均處理,得到最終預測結果。
在另一個實施例中,統(tǒng)計分析模塊303,用于基于mape算法,在輸出的所有初步預測結果中選取指定個初步預測結果,指定個初步預測結果對應的模型對業(yè)務指標的預測誤差小于指定數(shù)值;將指定個初步預測結果進行加權平均 處理,得到最終預測結果。
本發(fā)明實施例提供的裝置,基于歷史數(shù)據(jù)訓練多個模型,且每一個模型均根據(jù)歷史數(shù)據(jù)對同一業(yè)務指標進行預測,進而得到多個預測結果。之后,將這多個預測結果進行加權平均等統(tǒng)計分析,將最終得到的結果作為對該業(yè)務指標的預測結果,由于進行了多個模型融合,這樣即便業(yè)務指標存在較大波動和受到季節(jié)性因素等影響,依然可以通過多種模型有效地抓住指標的變化規(guī)律和長期趨勢,使得對業(yè)務指標的預測更為精準,該種預測效果較佳。
需要說明的是:上述實施例提供的業(yè)務指標預測裝置在進行業(yè)務指標預測時,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的業(yè)務指標預測裝置與業(yè)務指標預測方法實施例屬于同一構思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。
圖4是根據(jù)一示例性實施例示出的一種服務器,該服務器可以用于實施上述任一示例性實施例示出的業(yè)務指標預測方法。具體來講:參見圖4,該服務器400可因配置或性能不同而產生比較大的差異,可以包括一個或一個以上中央處理器(centralprocessingunit,cpu)422(例如,一個或一個以上處理器)和存儲器432,一個或一個以上存儲應用程序442或數(shù)據(jù)444的存儲介質430(例如一個或一個以上海量存儲設備)。其中,存儲器432和存儲介質430可以是短暫存儲或持久存儲。存儲在存儲介質430的程序可以包括一個或一個以上模塊(圖示沒標出)。
服務器400還可以包括一個或一個以上電源428,一個或一個以上有線或無線網絡接口450,一個或一個以上輸入輸出接口458,和/或,一個或一個以上操作系統(tǒng)441,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。
一個或者一個以上程序存儲于存儲器中,且經配置以由一個或者一個以上處理器執(zhí)行,一個或者一個以上程序包含用于進行以下操作的指令:
對于一個業(yè)務指標,根據(jù)所述業(yè)務指標的第一歷史時間序列,訓練對所述 業(yè)務指標進行預測的至少一個第一模型;
對于每一個第一模型,基于所述第一模型和第二歷史時間序列對所述業(yè)務指標進行預測,得到一個初步預測結果;
將所述至少一個第一模型輸出的所述初步預測結果進行統(tǒng)計分析,得到所述業(yè)務指標的最終預測結果。
在另一個實施例中,所述根據(jù)所述業(yè)務指標的第一歷史時間序列,訓練對所述業(yè)務指標進行預測的至少一個第一模型,包括:
基于時間順序,在所述第一歷史時間序列中分別確定訓練數(shù)據(jù)和測試數(shù)據(jù);
根據(jù)所述訓練數(shù)據(jù),訓練至少一個第二模型中的各個參數(shù),得到至少一個訓練模型;
根據(jù)所述測試數(shù)據(jù)對所述至少一個訓練模型中的各個參數(shù)進行優(yōu)化,得到所述至少一個第一模型。
在另一個實施例中,所述基于時間順序,在所述第一歷史時間序列中分別確定訓練數(shù)據(jù)和測試數(shù)據(jù),包括:
將所述第一歷史時間序列中時間變量早于預設時間閾值的業(yè)務數(shù)據(jù)作為所述訓練數(shù)據(jù);
將所述第一歷史時間序列中時間變量晚于所述預設時間閾值的業(yè)務數(shù)據(jù)作為所述測試數(shù)據(jù)。
在另一個實施例中,所述將所述至少一個第一模型輸出的所述初步預測結果進行統(tǒng)計分析,得到所述業(yè)務指標的最終預測結果,包括:
將所述至少一個第一模型輸出的初步預測結果進行加權平均處理,得到所述最終預測結果。
在另一個實施例中,所述將所述至少一個第一模型輸出的所述初步預測結果進行統(tǒng)計分析,得到所述業(yè)務指標的最終預測結果,包括:
基于相對百分誤差mape算法,在輸出的所有初步預測結果中選取指定個初步預測結果,所述指定個初步預測結果對應的模型對所述業(yè)務指標的預測誤差小于指定數(shù)值;
將所述指定個初步預測結果進行加權平均處理,得到所述最終預測結果。
在另一個實施例中,所述至少一個第一模型包括ewma模型、arma模型、rnn模型。
本發(fā)明實施例提供的服務器,基于歷史數(shù)據(jù)訓練多個模型,且每一個模型均根據(jù)歷史數(shù)據(jù)對同一業(yè)務指標進行預測,進而得到多個預測結果。之后,將這多個預測結果進行加權平均等統(tǒng)計分析,將最終得到的結果作為對該業(yè)務指標的預測結果,由于進行了多個模型融合,這樣即便業(yè)務指標存在較大波動和受到季節(jié)性因素等影響,依然可以通過多種模型有效地抓住指標的變化規(guī)律和長期趨勢,使得對業(yè)務指標的預測更為精準,該種預測效果較佳。
本領域普通技術人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。