翟一鳴, 丁 寧,2, 李成龍
(1.中國人民公安大學偵查學院, 北京 100038; 2.中國人民公安大學公共安全行為科學實驗室, 北京 102623)
犯罪預測是建立現(xiàn)代化社會治安防控體系的重要問題之一。目前隨著大數(shù)據(jù)、人工智能等技術的發(fā)展,公安機關建立了各類警務信息平臺來監(jiān)測當前以及預測未來的社會治安狀況。對未來的犯罪狀況進行預測不僅可以提前采取措施防止重大、惡性的犯罪發(fā)生,同時也是建立智慧城市的重要一環(huán)。
對犯罪案件的時序分析與預測一直是國內外犯罪分析和犯罪預防工作中的一種重要途徑。目前可用于預測犯罪的方法主要有時序分析、神經網絡等,但是應用神經網絡等機器學習方法進行預測對犯罪現(xiàn)象的解釋性不強,且在參數(shù)設置過程中還應考慮如何確保操作率的收斂性和一致性問題。因此時序分析方法作為一種傳統(tǒng)的數(shù)據(jù)分析方法,不僅可以很好地解釋犯罪數(shù)據(jù)的波動性,且其算法一直在不斷優(yōu)化和發(fā)展中,如本文所使用的Prophet就是一種新的時序算法。犯罪的時序分析和預測主要分為3種類型:(1)如Felson和Poulsen對一天內各時段犯罪模式的分析[1]、Gorr等人基于全市范圍的數(shù)據(jù)利用Holt指數(shù)平滑度與每月的季節(jié)性變化對未來一個月犯罪的預測[2]。(2)結合地理因素,構建“space-time”類型的犯罪分析[3-4],如Ye等人分析武漢的入室盜竊數(shù)據(jù)發(fā)現(xiàn)入室盜竊的時空聚類同時存在,且隨著時間的推移,熱點相對穩(wěn)定[5]。(3)時序分析結合可能對犯罪產生影響的經濟、環(huán)境等因素對犯罪進行預測[6-8]。然而其中很少有研究能將節(jié)假日因素完整納入到模型中,國內外文章中僅有Cohn & Rotton于2003年統(tǒng)計了Minneapolis州的報警電話數(shù)據(jù),并通過設置啞變量進行邏輯回歸的方法發(fā)現(xiàn)暴力犯罪和財產犯罪均與重大(或法定)假日顯著相關[9]。為提高模型預測的準確率,采用了Prophet模型來對犯罪時序進行分析和預測并將我國節(jié)假日因素完整地加入到模型中。
時間序列(Time Series)就是一串按時間維度索引的數(shù)據(jù),本文中與時間維度對應的是B市公安局的每日案件數(shù)量,其時間跨度為2004~2014共11年。犯罪類型的選擇需要考慮兩方面的因素:首先,犯罪量過少會在很大程度上影響預測的準確率,其次,不同案件數(shù)據(jù)量之間若存在較大差異也會影響結果的說服力。因此本文所選擇的盜竊案件和詐騙案件的數(shù)量為2014年度發(fā)案量最高的兩類案件,分別為6.7萬件和5.2萬件。本文規(guī)定在預測過程中,訓練集為2004~2013年的所有數(shù)據(jù),預測集為2014年的數(shù)據(jù)。最后將預測的案件數(shù)量與真實案件數(shù)量進行比較得出RMSE、MAE以及準確率。
隨著社會經濟的發(fā)展以及治安狀況的不斷改善,各類案件產生的數(shù)量和類型都發(fā)生了變化,本文中兩種案件數(shù)據(jù)進行處理并繪制出折線圖如圖1(a)(b)所示。從圖中可以看出:
(1)年際規(guī)律。盜竊類犯罪從2008年開始呈現(xiàn)下降趨勢,其總體數(shù)量從2009年開始又有逐年上升的趨勢;詐騙類犯罪案件數(shù)量逐年快速上升,直到2012年開始有所緩和。
(2)月際規(guī)律。兩類犯罪數(shù)量均在過年期間進入全年的谷值,但在年前案件數(shù)量會攀升出現(xiàn)峰值,且在年后案件數(shù)量也會迅速上升;各類犯罪數(shù)量在年后達到峰值后開始周期性回落,且在國慶節(jié)前后會出現(xiàn)谷值。
(3)一周之內的規(guī)律。盜竊犯罪在周四有一個明顯的谷值,周五開始回升并達到一周之內發(fā)案量最多,而詐騙案件的最高發(fā)案量在周二產生;盜竊案的總體趨勢是周末的發(fā)案量高于工作日,詐騙案件是工作日發(fā)案量大于周末,且詐騙案件這種規(guī)律更加明顯,其工作日的發(fā)案量遠遠高于周末的發(fā)案量。
傳統(tǒng)的對時間序列的預測方法有很多種,如加權移動平均法、簡單指數(shù)平滑法、霍爾特(Holt)線性趨勢模型、霍爾特- 溫特斯(Holt Winters)方法以及ARIMA模型等。ARIMA(Autoregressive Integrated Moving Average model)中文全稱為自回歸滑動平均模型,是一種流行的時序分析方法[10-12]。在ARIMA中,AR代表自回歸模型,參數(shù)p是自回歸項數(shù);MA代表滑動平均模型,參數(shù)q為滑動平均項數(shù);參數(shù)d是使時間序列平穩(wěn)所需做的差分次數(shù)。實際上ARIMA(p,d,q)模型是ARMA(p,q)模型的擴展,ARIMA模型可以用以下公式表達:
(1)
其中L是滯后算子,d∈Z,d>0。
ARIMA模型本身也存在一些不足,如作為一種線性預測方法,可以很好地擬合數(shù)據(jù)內在的規(guī)律,但其樣本需求量大,且缺乏靈活性,無法感知外部變量對自身的影響[13]。另外,ARIMA也不能自動化處理異常值,需要在使用之前對數(shù)據(jù)進行大量處理。Prophet工具可以很好地解決以上傳統(tǒng)時序分析工具的缺陷,具有很強的靈活性和易用性。
Prophet是Facebook公司于2017年發(fā)布的一款開源的時序分析工具,主要用來預測未來一段時間網站的訪問量。Prophet將復雜的統(tǒng)計分析過程整合簡化,且在擬合過程中可以處理異常值、突變點、季節(jié)性以及節(jié)假日效應等,提升了數(shù)據(jù)分析效率的同時提高了預測的準確率[14]。當前國內將Prophet應用于各領域的研究,主要有李麗萍等人利用Prophet算法來預測銀行網點備付金,有效解決了“異常值”和“拐點”的預測問題,其預測準確率高于 ARMA 算法和LSTM 算法[15];翟篤林等人將Prophet應用于電離層TEC異常識別,比較發(fā)現(xiàn)Prophet預測模型的預測精度比ARIMA模型方法高2.55倍左右,比滑動四分位法高10.74倍左右[16];國外RONANKI等人利用WHO提供的關于青少年自殺的數(shù)據(jù),利用線性回歸、隨機森林和Prophet方法在社交媒體上定位可能會自殺的青少年人群[17];YASSIR等人提出了一個用于預測單個地理區(qū)域在給定的時間t是否將達到聯(lián)合國可持續(xù)發(fā)展目標的框架,并在框架中使用了ARMA、ARIMA和Prophet模型作為比較,其中Prophet取得了最好的預測效果[18]。
Prophet模型中除了考慮季節(jié)項,趨勢項和剩余項3項內容外,還將節(jié)假日效應考慮在內,如公式(2)所示。其中gt,st和t分別代表趨勢項、周期項和剩余項,ht代表節(jié)假日項。Prophet通過擬合以上四項,最后把它們結合起來就得到了時間序列的預測值。
yt=gt+st+ht+t
(2)
其中,對于趨勢項gt而言,當增長率k不變時:
(3)
(4)
那么在時間t上的增長率可轉換為k+aTδ. 增長率k確定之后,在拐點Sj(j=1,2,…m)自適應調整偏移量項,參數(shù)m也要隨之確定,通過數(shù)學公式表示為:
(5)
g(t)的表達式可表示為公式6,其中a(t)=(a1(t),…,aS(t))T,δ=(δ1,…,δS)T,γ=(γ1,…,γS)T. 由于g(t)是基于邏輯回歸函數(shù)和分段線性函數(shù),對于分段線性函數(shù)而言,g(t)的表達式還可簡化為公式7。其中k是增長率,δ是增長率的變化量,且服從拉普拉斯分布。
(6)
g(t)=[k+a(t)Tδ]t+[m+a(t)Tγ]
(7)
s(t)表示季節(jié)性趨勢,以傅里葉級數(shù)來模擬時間序列的周期性,時間序列的周期為P,不論是以年為周期P=365.25,還是以星期為周期P=7,其傅里葉級數(shù)都可以表示為:
(8)
在Prophet中N的設定要考慮到P的值,P=365.25時N=10,P=7時N=3,可設置參數(shù)β=(a1,b1,…,aN,bN)T,通過設定公式9可將公式8可轉換為公式10,其中β的初始化是β~Normal(0,σ2).
(9)
s(t)=x(t)β
(10)
h(t)是節(jié)假日效應,在Prophet中不同的節(jié)假日之間被認為是相互獨立的,對第i個節(jié)假日來說,Di表示該節(jié)假日日期前后的一段時間,參數(shù)ki表示節(jié)假日的影響范圍,同時引入指示函數(shù)Z(t),假設有L個節(jié)假日,那么
(11)
其中k~Normal(0,v2),v的默認值為10,可以在計算中自定義調整,v的值越大表示節(jié)假日對該模型的預測效果影響越大。
為分析犯罪案件數(shù)據(jù)的規(guī)律,減少由于統(tǒng)計錯誤出現(xiàn)的誤差,首先對預測方法進行3次優(yōu)化,方案優(yōu)化的流程見圖2。第1組方案為Prophet和ARIMA的原始模型,此為對照組;第2組方案是利用Prophet內建的holiday函數(shù)添加節(jié)假日變量,內建函數(shù)包含的節(jié)假日信息為:元旦、春節(jié)、清明節(jié)、勞動節(jié)、端午節(jié)、中秋節(jié)以及國慶節(jié)。但是我們發(fā)現(xiàn)每個節(jié)日只設定在一天之內,這不符合我國節(jié)假日的放假周期為3天或7天的國情,因此我們建立了2004~2014年每年的節(jié)假日列表,并將該列表導入Prophet的holiday函數(shù)形成第3組優(yōu)化。第4組優(yōu)化是在處理數(shù)據(jù)的過程中,發(fā)現(xiàn)每月1日的發(fā)案量遠高于本月其他日期,經于公安部門實地考察后判定每月1日的案件數(shù)量存在一定的統(tǒng)計錯誤,因此將每月1號的案件數(shù)量處理為異常值。以盜竊案為例對4組優(yōu)化的效果進行比較,同時區(qū)分Prophet的加法模型和乘法模型,在表1可以看出第4組方案具有最好的預測效果。
表1 4組預測方案效果對比
圖2 預測方案優(yōu)化流程圖
在得出最優(yōu)方案的基礎上,分別利用Prophet和ARIMA對2004~2013年的盜竊案件和詐騙案件的發(fā)案數(shù)量進行訓練,并從未來一周、一月和一年3個時間尺度來預測2014年的發(fā)案量。預測未來一年的數(shù)據(jù)時所使用的數(shù)據(jù)量為前10年的每日犯罪數(shù)據(jù);預測未來一月的數(shù)據(jù)時所使用的是上一月份及其之前所有月份的數(shù)據(jù);預測未來一周的數(shù)據(jù)時所使用的是被預測周之前的每周的數(shù)據(jù),為避免節(jié)假日和每月1號誤差的影響,特選擇每月的第3個完整星期。如果每月的第3個完整星期的實際日期和其他月份實際日期相差太大,可適當調整為前一個或后一個星期,以此來保證預測周期選擇的最大的相近性。因此,在2014年一年中存在可預測的12組未來一周的犯罪、12組未來一月的犯罪以及1組未來一年的犯罪,并使用均方根誤差(RMSE)、平均絕對誤差(MAE)和預測日期內的平均準確率對預測結果進行檢驗。利用Prophet對盜竊、詐騙犯罪在2004~2014年的趨勢擬合見圖3(a)(b),表2為模型的預測結果。
圖3 2004~2014年的盜竊案件和詐騙案件趨勢擬合
從表2中可以看出:(1)對于短期預測特別是未來一周的預測,ARIMA模型對盜竊案件預測的準確率更高,對于長期預測如未來一年的預測,Prophet模型在這兩類案件中都更具優(yōu)勢;(2)對于詐騙案件而言,Prophet的加法模型一直是最優(yōu)的預測模型,對于盜竊案件而言,預測未來一周和一月都應選擇ARIMA模型;(3)ARIMA模型具有良好的短期預測性能,其對盜竊案件的預測準確率達到88.99%,比Prophet模型高出4.86%;加入節(jié)假日因素的Prophet模型在各時間尺度上均衡性更強,且對兩類犯罪的長期預測準確率均高于ARIMA模型,達到83.69%和82.49%。
表2 利用Prophet和ARIMA模型對兩類犯罪進行預測的結果比較
從上述對預測結果的分析中可以看出,模型選擇主要以預測周期的長短為依據(jù),為了進一步探究模型的效果是否與案件類型有關,表3選取了5類案件均以年為周期進行預測,可以發(fā)現(xiàn)即使是盜竊—盜竊自行車、搶劫—入室搶劫,這些屬于同一類的案件其最優(yōu)模型也是不同的;發(fā)案量越大,Prophet模型越優(yōu)于ARIMA模型。綜上所述,模型的預測效果與案件類別之間不存在明顯的關系,而與預測周期的尺度及發(fā)案數(shù)量存在一定關系。
表3 5類案件周期一年的Prophet和ARIMA模型預測結果
本文首先分析了盜竊案和詐騙案在年際、月際以及一周之內的分布規(guī)律,然后基于犯罪數(shù)據(jù)特點以及我國節(jié)假日的特殊性對預測方案進行優(yōu)化。在利用Prophet和ARIMA對犯罪案件進行時序預測時,發(fā)現(xiàn)ARIMA在短期預測具有良好的性能,Prophet模型具有更好的均衡性,且在長期預測時Prophet的模型遠優(yōu)于ARIMA模型。因此,在分析城市未來短期的治安狀況、為未來短期內的社會治安防控工作做準備時,可選擇ARIMA模型來預測犯罪狀況;分析城市未來長期的社會安全事件發(fā)生規(guī)律時,或者為較長時間后的城市大型活動做準備時,應選擇Prophet模型作為預測工具。
利用社會安全事件歷史數(shù)據(jù)來預測未來的犯罪狀況可至少帶來3個方面的益處。第一,優(yōu)化警力配置??筛鶕?jù)未來一段時間對犯罪趨勢的預測,合理安排警力資源,當未來犯罪較少時只配備所需的最低警力即可處理各項警情,此時可適當減少出勤民警數(shù)量;如果預測未來可能發(fā)生犯罪數(shù)量較多時,可提前抽調其他警組的警力協(xié)助執(zhí)勤,以防警力不足來穩(wěn)定當前的治安形勢。第二,開展專項行動。在預測未來的犯罪趨勢持續(xù)走高時,可組織專項打擊活動,減少某類犯罪嚴重影響人們的正常生活。第三,服務國家大型活動預案。社會治安環(huán)境是決定一個城市能否開展國家大型活動的重要因素之一,不僅要考察該城市以往的犯罪態(tài)勢,還要考慮未來活動開展期間可能的犯罪狀況,并提前布置相應力度的社會治安清理整治任務。此外,還可為活動過程中與犯罪有關的緊急預案提供參考。
在未來對社會安全事件發(fā)生規(guī)律的分析和利用過程中,應借助各種機器學習模型將包括節(jié)假日、大型活動、政策影響和自然環(huán)境等一系列因素納入其中,來滿足不同時間跨度的犯罪預測的需要,不僅在宏觀角度上服務于省市的廳局級警務部門,實現(xiàn)為警務高級決策人員提供決策參考的戰(zhàn)略性目標;同時,還為公安分局、派出所等實戰(zhàn)部門的具體警務活動提供技術性情報支持。