石少沖, 陳 鵬,2*, 曾昭龍, 胡校成
(1.中國人民公安大學信息技術與網絡安全學院,北京 102600;2.安全防范技術與風險評估公安部重點實驗室,北京 102600;3.社會安全風險感知與防控大數據應用國家工程實驗室,北京 100043)
對犯罪活動進行態勢感知、情報挖掘、分析研判和預測是公安機關進行犯罪打擊和預防的重要工作。其中,犯罪預測由于對勤務資源的調度和指揮具有重要的參考價值,受到了各級公安部門的高度關注。目前,在犯罪預測的研究領域,研究人員主要采用各類時間序列預測方法對犯罪活動的時間趨勢進行預測分析。從總體來看,現有的犯罪時間序列預測工作大體可以分為兩個方面,一是使用單一模型進行犯罪時間序列的預測,比如Yadav等利用ARMA模型預測了犯罪距離[1],Rodriguez等利用時間序列方法對舊金山犯罪數量進行了預測[2],申貴成等[3]利用時間序列預測了短期交通流量,陳鵬等[4]則利用孤立點挖掘發現了警情時間序列的異常點,單勇等[5]采用X-11方法對溫州市龍灣區的盜竊犯罪數量進行了預測,陳鵬等[6]使用ARIMA模型對廊坊市的110警情數據進行了短期預測,張立強等[7]利用一階整值對盜竊犯罪時間序列進行了預測,陳鵬等[8]使用模糊粒化支持向量機對警情時間序列進行了預測,等等;二是使用復合模型進行犯罪時間序列的預測分析,比如陳鵬等[9]構建了灰色-馬爾可夫模型對廊坊侵財類警情數量進行了預測;涂小萌等[10]提出了ARIMA-LSSVM模型對犯罪時間序列進行了預測;劉美霖等[11]構建了ANN-STARM模型預測了警情的數量,等等,從實際應用來看,其效果要好于采用單一模型的預測精度。然而,這些研究大都以預測短期內單位時間的案發數量為目標,同時由于犯罪事件本身隨機性強,且容易受到人為因素和突發因素等多重噪聲因素的影響,因此實現犯罪或警情時間序列的精準預測往往十分困難,即便能夠達到較好的預測精度,也只能實現短期內預測,無法實現長周期的預測。實際上,從當前公安工作的需求來看,其對犯罪或警情的時序預測不再以精準的數量預測為主,而是希望獲得未來一段時期內警情的分布或風險級別以便于提前進行勤務資源的機動調度和部署。為此,針對警情時間序列的特點,以時間序列和神經網絡模型為基礎,提出了一種適合警情時間序列長周期預測的STL-FNN模型,并以實際數據進行分析,通過與傳統的預測方法相比較證明其在犯罪預測領域的有效性。
對時間序列Yt,其可以分解成趨勢項分量Tt、周期項分量St和殘差項Rt,其表達式如式(1)所示:
Yt=Tt+St+Rt,t=1,2,…,N
(1)
解趨勢項分量Tt、周期項分量St和殘差項Rt可以通過以魯棒局部加權回歸作為平滑方法的時間序列分解方法(seasonal decomposition of time series by loess,STL)得到[12-13],其分為內循環與外循環兩個過程,其中內循環主要實現時間序列趨勢分量的擬合與周期分量的計算,STL的外循環主要為調節魯棒性權重,以減少殘差項Rt的異常值對時間序列分解產生影響。



在內循環每次迭代過程中,在(2)與(6)做LOESS回歸時,鄰域權重需要乘以魯棒性權重ρt,以減少異常值對內循環的影響,魯棒性權重ρt計算為:對任一時刻t,時間序列Yt的魯棒性權重ρt的計算如式(2)~式(4)所示:
(2)
(3)
h=6median(|Rt|)
(4)
式中:B為雙平方函數;h為中間變量。
全連接神經網絡(fully connected neural network,FNN)是一種非線性模型,是基于仿生人腦神經系統工作原理而演化而來,具備強大的非線性函數逼近能力[13],其相應的演化模型應用十分廣泛[14-16]。全連接神經網絡是指任意相鄰兩層即n-1層任一神經元節點都與n層的所有神經元節點相連,第n層每個神經元節點在進行計算時,其激活函數的輸入值是n-1層所有神經節點的加權。其中yi為第n層第i個神經元節點的輸出值,f為第n層第i個神經元節點的激活函數,xj為n-1層第j個神經元節點的輸出值,wj為對應的權重值。其公式如式(5):
(5)
激活函數采用廣泛應用的線性整流函數(rectified linear unit,ReLU),公式如式(6):
(6)
損失函數采用均方差(mean squared error,MSE),公式如式(7):
(7)
式(7)中:observed指真實值;predicted指預測值;N為預測值個數。
從STL和FNN模型的算法原理可以看出,STL模型主要通過提取時間序列Yt中的趨勢項分量Tt和周期項St,并以Tt為基礎來進行短期趨勢預測。而相比之下,FNN模型由于其強大的非線性擬合能力能夠對時間序列Yt中的非線性分量,如周期項St和殘差項Rt進行較為精準的預測。因此,根據警情時間序列預測的現實需求,提出一種基于STL和FNN模型的警情時間序列長周期預測模型。將警情時間序列的周期項分量St和殘差項Rt記為組合項Mt,則警情時間序列可以表示為
Yt=Tt+Mt
(8)
基于STL-FNN警情時間序列長周期預測模型結構如圖1所示,其實現步驟如下。

圖1 STL-FNN預測模型組成
(1)將周期長度為k的警情時間序列訓練數據Yt(t=1,2,…,N)導入模型,利用STL提取時間序列的趨勢項Tt和組合項Mt,設提取到的時間序列趨勢項序列為
Tt={T1,T2,…,TN}
(9)
設提取到的時間序列組合項為
Mt={M1,M2,…,MN}
(10)

(11)

(12)
(4)對得到的預測結果進行相應的標準差分級,最終得到一個周期內的單日警情風險等級。
為驗證STL-FNN預測模型的有效性,以B市的盜竊類犯罪時間序列數據為例進行一年周期的預測。數據的時間區間為2004—2014年,期間共發生盜竊類警情478 328起。以2004—2013年的數據作為訓練數據,2014年的數據為驗證數據。首先,對B市的盜竊類警情記錄進行數據轉化,生成時間序列,時間單位為1 d。在特殊年份的處理方面,2004年、2008年、2012年均為閏年,除二月以外,閏年的時間長度與平年相同,而閏年的二月份比平年的二月份僅多出2月29日1 d,其觀測值樣本較少,為減少平年、閏年的劃分對研究工作的影響,更好地研究說明盜竊類案件的全年規律,需要將閏年特殊處理成平年,即刪除2月29日的數據。其次,在處理缺失值方面,采用相同日期歷史案發量的均值代替失時期的缺失值。
在單日警情風險等級的劃分上,采用標準差分級的方法[17-19]。根據公安部門的預測預警標準,采用四色分級方法,將警情數量轉化為四類等級,分別標示為“輕度”“中度”“重度”和“嚴重”。具體劃分方法如表1所示。

表1 警情日風險等級劃分
注:min為實際警情最小值;μ為實際警情數量的均值;σ為實際案發數量的標準差;max為實際案發數量的最大值。如果預測的警情低于min,則將其劃分為一級,若預測的警情高于max,則將其劃分為四級。
機器學習領域有一系列測試性度量方法來反映所訓練模型的性能[20],這些測試性度量方法主要通過混淆矩陣實現。對此,STL-FNN模型的測試指標借鑒了機器學習領域的混淆矩陣來衡量模型分級能力,混淆矩陣是一種觀察統計真實類別和預測類別的交叉列表,如表2所示。

表2 混淆矩陣
在機器學習領域,類別i被稱為興趣類別,非類別i被稱為非興趣類別,i∈(輕度,中度,重度,嚴重)。其中,P(a)是指模型真實值一致性比例,Pr(e)表示期望一致性的比例,TP為真陽性(true positive),代表正確分類為感興趣類別樣本的數量;TN為真陰性(true negative),代表正確分類為非感興趣類別樣本的數量;FP為假陽性(false positive),代表錯誤分類為感興趣類別樣本的數量;FN為假陰性(false negative)代表錯誤分類為非感興趣類樣本的數量。評價指標主要采用Kappa值、預測精確度(Precision)、回溯精確度(Recall)和正確率(Accuracy),公式如下:
(13)
(14)

(15)
(16)
以2004—2013年間B市實際盜竊警情時間序列數據為訓練集,以2014年B市實際盜竊警情時間序列為測試集,利用STL-FNN模型進行預測分析。同時,為便于對比,同樣采用Holt-Winters模型、LSTM模型、Prophet模型和ARIMA模型進行數據訓練和預測。圖2、圖3分別為STL-FNN模型、Holt-Winters模型、LSTM模型、Prophet模型和ARIMA模型的預測結果及2014年B市盜竊類警情時間序列實際發案風險等級,其中構建的ARIMA模型為ARIMA(5,1,1)。

圖2 各模型分級預測結果
從圖2可得,STL-FNN模型對2014年B市盜竊類警情時間序列風險等級的預測效果與實際結果最為接近,其中模型對“輕度”“中度”“重度”和“嚴重”四種單日警情的風險分級預測較為準確,模型的延展性及可信度較高。而Holt-Winters模型則存在對“輕度”“中度”和“嚴重”風險等級預測不充分,對“重度”預測過度的問題。LSTM模型和Prophet模型僅能對“中度”“重度”風險等級進行有效預測,但兩者的預測精確程度不高。ARIMA模型則失去了分級預測能力且對“中度”風險等級產生了學習過度現象。
利用Kappa值、預測精確度、回溯精確度和正確率四個指標分別對不同的模型預測結果進行評價,評價結果如表3所示,其中Precision1、Precision2、Precision3、Precision4分別為對“輕度”、“中度”、“重度”和“嚴重”警情風險等級的預測精確度;Recall1、Recall2、Recall3、Recall4分別為對“輕度”、“中度”、“重度”和“嚴重”警情風險等級的回溯精確度。從表2中可見,STL-FNN模型的整體預測性能要好于其他四種模型。其中,STL-FNN模型對“輕度”“中度”“重度”和“嚴重”的警情風險分級預測能力較好,各項性能得分較為均衡,具有很好的穩健性;Holt-Winter模型對“重度”識別的可信度是各個模型中最好的。LSTM模型、Prophet模型和ARIMA模型則不具備預測“輕度”“中度”“重度”“嚴重”四級的能力。STL-FNN模型整體對四類警情日風險等級預測的準確率為62.47%,相對于其他四種傳統模型有著更好的預測效果,并可正確預測一年內228 d的實際警情風險等級。

圖3 實際警情的分級結果

表3 各個模型分級預測的評價指標
針對警情時間序列預測存在的不足,基于警情時間序列預測的實際需求,設計并提出了一種基于STL-FNN警情時間序列長周期預測模型。該模型能夠綜合STL和FNN算法的特點,實現對警情時間序列的長周期風險等級預測。通過實證分析表明,STL-FNN模型能夠實現周期為一年的警情時序預測,并且預測效果要優于傳統的預測模型。在實際應用上,STL-FNN模型可以幫助公安機關預測未來警情的長周期時間趨勢,有助于預先發現警情異常的日期,輔助公安機關對犯罪活動的作案時間規律進行研判,從而制定有針對性地制定警務巡邏計劃和打擊犯罪計劃。