石少沖, 陳 鵬,2*, 曾昭龍, 胡校成
(1.中國人民公安大學(xué)信息技術(shù)與網(wǎng)絡(luò)安全學(xué)院,北京 102600;2.安全防范技術(shù)與風(fēng)險評估公安部重點(diǎn)實(shí)驗(yàn)室,北京 102600;3.社會安全風(fēng)險感知與防控大數(shù)據(jù)應(yīng)用國家工程實(shí)驗(yàn)室,北京 100043)
對犯罪活動進(jìn)行態(tài)勢感知、情報挖掘、分析研判和預(yù)測是公安機(jī)關(guān)進(jìn)行犯罪打擊和預(yù)防的重要工作。其中,犯罪預(yù)測由于對勤務(wù)資源的調(diào)度和指揮具有重要的參考價值,受到了各級公安部門的高度關(guān)注。目前,在犯罪預(yù)測的研究領(lǐng)域,研究人員主要采用各類時間序列預(yù)測方法對犯罪活動的時間趨勢進(jìn)行預(yù)測分析。從總體來看,現(xiàn)有的犯罪時間序列預(yù)測工作大體可以分為兩個方面,一是使用單一模型進(jìn)行犯罪時間序列的預(yù)測,比如Yadav等利用ARMA模型預(yù)測了犯罪距離[1],Rodriguez等利用時間序列方法對舊金山犯罪數(shù)量進(jìn)行了預(yù)測[2],申貴成等[3]利用時間序列預(yù)測了短期交通流量,陳鵬等[4]則利用孤立點(diǎn)挖掘發(fā)現(xiàn)了警情時間序列的異常點(diǎn),單勇等[5]采用X-11方法對溫州市龍灣區(qū)的盜竊犯罪數(shù)量進(jìn)行了預(yù)測,陳鵬等[6]使用ARIMA模型對廊坊市的110警情數(shù)據(jù)進(jìn)行了短期預(yù)測,張立強(qiáng)等[7]利用一階整值對盜竊犯罪時間序列進(jìn)行了預(yù)測,陳鵬等[8]使用模糊?;С窒蛄繖C(jī)對警情時間序列進(jìn)行了預(yù)測,等等;二是使用復(fù)合模型進(jìn)行犯罪時間序列的預(yù)測分析,比如陳鵬等[9]構(gòu)建了灰色-馬爾可夫模型對廊坊侵財類警情數(shù)量進(jìn)行了預(yù)測;涂小萌等[10]提出了ARIMA-LSSVM模型對犯罪時間序列進(jìn)行了預(yù)測;劉美霖等[11]構(gòu)建了ANN-STARM模型預(yù)測了警情的數(shù)量,等等,從實(shí)際應(yīng)用來看,其效果要好于采用單一模型的預(yù)測精度。然而,這些研究大都以預(yù)測短期內(nèi)單位時間的案發(fā)數(shù)量為目標(biāo),同時由于犯罪事件本身隨機(jī)性強(qiáng),且容易受到人為因素和突發(fā)因素等多重噪聲因素的影響,因此實(shí)現(xiàn)犯罪或警情時間序列的精準(zhǔn)預(yù)測往往十分困難,即便能夠達(dá)到較好的預(yù)測精度,也只能實(shí)現(xiàn)短期內(nèi)預(yù)測,無法實(shí)現(xiàn)長周期的預(yù)測。實(shí)際上,從當(dāng)前公安工作的需求來看,其對犯罪或警情的時序預(yù)測不再以精準(zhǔn)的數(shù)量預(yù)測為主,而是希望獲得未來一段時期內(nèi)警情的分布或風(fēng)險級別以便于提前進(jìn)行勤務(wù)資源的機(jī)動調(diào)度和部署。為此,針對警情時間序列的特點(diǎn),以時間序列和神經(jīng)網(wǎng)絡(luò)模型為基礎(chǔ),提出了一種適合警情時間序列長周期預(yù)測的STL-FNN模型,并以實(shí)際數(shù)據(jù)進(jìn)行分析,通過與傳統(tǒng)的預(yù)測方法相比較證明其在犯罪預(yù)測領(lǐng)域的有效性。
對時間序列Yt,其可以分解成趨勢項(xiàng)分量Tt、周期項(xiàng)分量St和殘差項(xiàng)Rt,其表達(dá)式如式(1)所示:
Yt=Tt+St+Rt,t=1,2,…,N
(1)
解趨勢項(xiàng)分量Tt、周期項(xiàng)分量St和殘差項(xiàng)Rt可以通過以魯棒局部加權(quán)回歸作為平滑方法的時間序列分解方法(seasonal decomposition of time series by loess,STL)得到[12-13],其分為內(nèi)循環(huán)與外循環(huán)兩個過程,其中內(nèi)循環(huán)主要實(shí)現(xiàn)時間序列趨勢分量的擬合與周期分量的計算,STL的外循環(huán)主要為調(diào)節(jié)魯棒性權(quán)重,以減少殘差項(xiàng)Rt的異常值對時間序列分解產(chǎn)生影響。
在內(nèi)循環(huán)每次迭代過程中,在(2)與(6)做LOESS回歸時,鄰域權(quán)重需要乘以魯棒性權(quán)重ρt,以減少異常值對內(nèi)循環(huán)的影響,魯棒性權(quán)重ρt計算為:對任一時刻t,時間序列Yt的魯棒性權(quán)重ρt的計算如式(2)~式(4)所示:
(2)
(3)
h=6median(|Rt|)
(4)
式中:B為雙平方函數(shù);h為中間變量。
全連接神經(jīng)網(wǎng)絡(luò)(fully connected neural network,F(xiàn)NN)是一種非線性模型,是基于仿生人腦神經(jīng)系統(tǒng)工作原理而演化而來,具備強(qiáng)大的非線性函數(shù)逼近能力[13],其相應(yīng)的演化模型應(yīng)用十分廣泛[14-16]。全連接神經(jīng)網(wǎng)絡(luò)是指任意相鄰兩層即n-1層任一神經(jīng)元節(jié)點(diǎn)都與n層的所有神經(jīng)元節(jié)點(diǎn)相連,第n層每個神經(jīng)元節(jié)點(diǎn)在進(jìn)行計算時,其激活函數(shù)的輸入值是n-1層所有神經(jīng)節(jié)點(diǎn)的加權(quán)。其中yi為第n層第i個神經(jīng)元節(jié)點(diǎn)的輸出值,f為第n層第i個神經(jīng)元節(jié)點(diǎn)的激活函數(shù),xj為n-1層第j個神經(jīng)元節(jié)點(diǎn)的輸出值,wj為對應(yīng)的權(quán)重值。其公式如式(5):
(5)
激活函數(shù)采用廣泛應(yīng)用的線性整流函數(shù)(rectified linear unit,ReLU),公式如式(6):
(6)
損失函數(shù)采用均方差(mean squared error,MSE),公式如式(7):
(7)
式(7)中:observed指真實(shí)值;predicted指預(yù)測值;N為預(yù)測值個數(shù)。
從STL和FNN模型的算法原理可以看出,STL模型主要通過提取時間序列Yt中的趨勢項(xiàng)分量Tt和周期項(xiàng)St,并以Tt為基礎(chǔ)來進(jìn)行短期趨勢預(yù)測。而相比之下,F(xiàn)NN模型由于其強(qiáng)大的非線性擬合能力能夠?qū)r間序列Yt中的非線性分量,如周期項(xiàng)St和殘差項(xiàng)Rt進(jìn)行較為精準(zhǔn)的預(yù)測。因此,根據(jù)警情時間序列預(yù)測的現(xiàn)實(shí)需求,提出一種基于STL和FNN模型的警情時間序列長周期預(yù)測模型。將警情時間序列的周期項(xiàng)分量St和殘差項(xiàng)Rt記為組合項(xiàng)Mt,則警情時間序列可以表示為
Yt=Tt+Mt
(8)
基于STL-FNN警情時間序列長周期預(yù)測模型結(jié)構(gòu)如圖1所示,其實(shí)現(xiàn)步驟如下。
圖1 STL-FNN預(yù)測模型組成
(1)將周期長度為k的警情時間序列訓(xùn)練數(shù)據(jù)Yt(t=1,2,…,N)導(dǎo)入模型,利用STL提取時間序列的趨勢項(xiàng)Tt和組合項(xiàng)Mt,設(shè)提取到的時間序列趨勢項(xiàng)序列為
Tt={T1,T2,…,TN}
(9)
設(shè)提取到的時間序列組合項(xiàng)為
Mt={M1,M2,…,MN}
(10)
(11)
(12)
(4)對得到的預(yù)測結(jié)果進(jìn)行相應(yīng)的標(biāo)準(zhǔn)差分級,最終得到一個周期內(nèi)的單日警情風(fēng)險等級。
為驗(yàn)證STL-FNN預(yù)測模型的有效性,以B市的盜竊類犯罪時間序列數(shù)據(jù)為例進(jìn)行一年周期的預(yù)測。數(shù)據(jù)的時間區(qū)間為2004—2014年,期間共發(fā)生盜竊類警情478 328起。以2004—2013年的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),2014年的數(shù)據(jù)為驗(yàn)證數(shù)據(jù)。首先,對B市的盜竊類警情記錄進(jìn)行數(shù)據(jù)轉(zhuǎn)化,生成時間序列,時間單位為1 d。在特殊年份的處理方面,2004年、2008年、2012年均為閏年,除二月以外,閏年的時間長度與平年相同,而閏年的二月份比平年的二月份僅多出2月29日1 d,其觀測值樣本較少,為減少平年、閏年的劃分對研究工作的影響,更好地研究說明盜竊類案件的全年規(guī)律,需要將閏年特殊處理成平年,即刪除2月29日的數(shù)據(jù)。其次,在處理缺失值方面,采用相同日期歷史案發(fā)量的均值代替失時期的缺失值。
在單日警情風(fēng)險等級的劃分上,采用標(biāo)準(zhǔn)差分級的方法[17-19]。根據(jù)公安部門的預(yù)測預(yù)警標(biāo)準(zhǔn),采用四色分級方法,將警情數(shù)量轉(zhuǎn)化為四類等級,分別標(biāo)示為“輕度”“中度”“重度”和“嚴(yán)重”。具體劃分方法如表1所示。
表1 警情日風(fēng)險等級劃分
注:min為實(shí)際警情最小值;μ為實(shí)際警情數(shù)量的均值;σ為實(shí)際案發(fā)數(shù)量的標(biāo)準(zhǔn)差;max為實(shí)際案發(fā)數(shù)量的最大值。如果預(yù)測的警情低于min,則將其劃分為一級,若預(yù)測的警情高于max,則將其劃分為四級。
機(jī)器學(xué)習(xí)領(lǐng)域有一系列測試性度量方法來反映所訓(xùn)練模型的性能[20],這些測試性度量方法主要通過混淆矩陣實(shí)現(xiàn)。對此,STL-FNN模型的測試指標(biāo)借鑒了機(jī)器學(xué)習(xí)領(lǐng)域的混淆矩陣來衡量模型分級能力,混淆矩陣是一種觀察統(tǒng)計真實(shí)類別和預(yù)測類別的交叉列表,如表2所示。
表2 混淆矩陣
在機(jī)器學(xué)習(xí)領(lǐng)域,類別i被稱為興趣類別,非類別i被稱為非興趣類別,i∈(輕度,中度,重度,嚴(yán)重)。其中,P(a)是指模型真實(shí)值一致性比例,Pr(e)表示期望一致性的比例,TP為真陽性(true positive),代表正確分類為感興趣類別樣本的數(shù)量;TN為真陰性(true negative),代表正確分類為非感興趣類別樣本的數(shù)量;FP為假陽性(false positive),代表錯誤分類為感興趣類別樣本的數(shù)量;FN為假陰性(false negative)代表錯誤分類為非感興趣類樣本的數(shù)量。評價指標(biāo)主要采用Kappa值、預(yù)測精確度(Precision)、回溯精確度(Recall)和正確率(Accuracy),公式如下:
(13)
(14)
(15)
(16)
以2004—2013年間B市實(shí)際盜竊警情時間序列數(shù)據(jù)為訓(xùn)練集,以2014年B市實(shí)際盜竊警情時間序列為測試集,利用STL-FNN模型進(jìn)行預(yù)測分析。同時,為便于對比,同樣采用Holt-Winters模型、LSTM模型、Prophet模型和ARIMA模型進(jìn)行數(shù)據(jù)訓(xùn)練和預(yù)測。圖2、圖3分別為STL-FNN模型、Holt-Winters模型、LSTM模型、Prophet模型和ARIMA模型的預(yù)測結(jié)果及2014年B市盜竊類警情時間序列實(shí)際發(fā)案風(fēng)險等級,其中構(gòu)建的ARIMA模型為ARIMA(5,1,1)。
圖2 各模型分級預(yù)測結(jié)果
從圖2可得,STL-FNN模型對2014年B市盜竊類警情時間序列風(fēng)險等級的預(yù)測效果與實(shí)際結(jié)果最為接近,其中模型對“輕度”“中度”“重度”和“嚴(yán)重”四種單日警情的風(fēng)險分級預(yù)測較為準(zhǔn)確,模型的延展性及可信度較高。而Holt-Winters模型則存在對“輕度”“中度”和“嚴(yán)重”風(fēng)險等級預(yù)測不充分,對“重度”預(yù)測過度的問題。LSTM模型和Prophet模型僅能對“中度”“重度”風(fēng)險等級進(jìn)行有效預(yù)測,但兩者的預(yù)測精確程度不高。ARIMA模型則失去了分級預(yù)測能力且對“中度”風(fēng)險等級產(chǎn)生了學(xué)習(xí)過度現(xiàn)象。
利用Kappa值、預(yù)測精確度、回溯精確度和正確率四個指標(biāo)分別對不同的模型預(yù)測結(jié)果進(jìn)行評價,評價結(jié)果如表3所示,其中Precision1、Precision2、Precision3、Precision4分別為對“輕度”、“中度”、“重度”和“嚴(yán)重”警情風(fēng)險等級的預(yù)測精確度;Recall1、Recall2、Recall3、Recall4分別為對“輕度”、“中度”、“重度”和“嚴(yán)重”警情風(fēng)險等級的回溯精確度。從表2中可見,STL-FNN模型的整體預(yù)測性能要好于其他四種模型。其中,STL-FNN模型對“輕度”“中度”“重度”和“嚴(yán)重”的警情風(fēng)險分級預(yù)測能力較好,各項(xiàng)性能得分較為均衡,具有很好的穩(wěn)健性;Holt-Winter模型對“重度”識別的可信度是各個模型中最好的。LSTM模型、Prophet模型和ARIMA模型則不具備預(yù)測“輕度”“中度”“重度”“嚴(yán)重”四級的能力。STL-FNN模型整體對四類警情日風(fēng)險等級預(yù)測的準(zhǔn)確率為62.47%,相對于其他四種傳統(tǒng)模型有著更好的預(yù)測效果,并可正確預(yù)測一年內(nèi)228 d的實(shí)際警情風(fēng)險等級。
圖3 實(shí)際警情的分級結(jié)果
表3 各個模型分級預(yù)測的評價指標(biāo)
針對警情時間序列預(yù)測存在的不足,基于警情時間序列預(yù)測的實(shí)際需求,設(shè)計并提出了一種基于STL-FNN警情時間序列長周期預(yù)測模型。該模型能夠綜合STL和FNN算法的特點(diǎn),實(shí)現(xiàn)對警情時間序列的長周期風(fēng)險等級預(yù)測。通過實(shí)證分析表明,STL-FNN模型能夠?qū)崿F(xiàn)周期為一年的警情時序預(yù)測,并且預(yù)測效果要優(yōu)于傳統(tǒng)的預(yù)測模型。在實(shí)際應(yīng)用上,STL-FNN模型可以幫助公安機(jī)關(guān)預(yù)測未來警情的長周期時間趨勢,有助于預(yù)先發(fā)現(xiàn)警情異常的日期,輔助公安機(jī)關(guān)對犯罪活動的作案時間規(guī)律進(jìn)行研判,從而制定有針對性地制定警務(wù)巡邏計劃和打擊犯罪計劃。