高廣銀 曹紅根 沈 楊
(1.南京理工大學(xué)泰州科技學(xué)院 泰州 225300)(2.興化市電子政務(wù)中心 泰州 225300)
公安巡防保證了社會治安穩(wěn)定良好,基層公安部門治安管理和警務(wù)工作的一項重要內(nèi)容即警情研判和預(yù)測分析,對案件發(fā)生轄區(qū)內(nèi)的所有案件發(fā)生數(shù)量進(jìn)行預(yù)測,根據(jù)預(yù)測結(jié)果分析出哪些轄區(qū)的警情會增加,及時調(diào)配警力適當(dāng)增加這些轄區(qū)的警力配置,從而降低轄區(qū)內(nèi)警情。為克服當(dāng)前公安警情預(yù)測分析主要依靠經(jīng)驗分析的不足,引入數(shù)據(jù)分析技術(shù)進(jìn)行量化研究,挖掘出社會安全狀態(tài)的變化及其規(guī)律,為未來特定階段可能出現(xiàn)的警情數(shù)量進(jìn)行預(yù)測,使得相關(guān)部門能做好預(yù)案準(zhǔn)備[1]。
將現(xiàn)代數(shù)據(jù)分析手段應(yīng)用于警情研判和預(yù)測分析正在不斷發(fā)展,并取得了一定成果。黃超等(2011)提出了應(yīng)用平均值分析、回歸分析等簡單統(tǒng)計方法,描述治安警情的一些周期性外在特征,但對于警情時間序列本身所隱含的內(nèi)在信息如波動性等難以挖掘[2]。盧睿(2015)將灰色系統(tǒng)理論應(yīng)用于網(wǎng)絡(luò)犯罪研究,通過三角函數(shù)變換對不確定因素建模,在缺乏大量數(shù)據(jù)支撐的條件下提高了預(yù)測精度[3]。陳鵬等(2015)應(yīng)用ARIMA模型和指數(shù)平滑模型對某市警情數(shù)據(jù)分別建模,并得出ARIMA模型更適用于警情分析的短期預(yù)測的結(jié)論,因為指數(shù)平滑模型對治安案件變化的短期趨勢和隨機(jī)波動性表現(xiàn)不夠[4]。宋兆銘等(2018)將ARIMA模型應(yīng)用于某市刑事類警情預(yù)測,對2015年1月至2017年12月刑事類警情數(shù)據(jù)進(jìn)行建模,對2018年1月進(jìn)行預(yù)測,結(jié)果認(rèn)為該模型在一定條件下有效,即針對刑事類警情[5]。現(xiàn)有方法有一定局限性,即假定未來的條件與現(xiàn)在的條件是相似的,但警情并不是一個穩(wěn)定的狀態(tài),警情的產(chǎn)生是一個復(fù)雜的非線性動態(tài)系統(tǒng),比如警務(wù)活動的主體及對象、外在環(huán)境本身及其變化,這些因素都可能改變時間序列的趨勢。對于復(fù)雜非線性問題可以使用神經(jīng)網(wǎng)絡(luò)模型描述,神經(jīng)網(wǎng)絡(luò)模型基于歷史數(shù)據(jù)樣本自動學(xué)習(xí),通過優(yōu)化參數(shù)擬合描述樣本數(shù)據(jù)規(guī)律的最佳隱函數(shù),并且隱函數(shù)越復(fù)雜,神經(jīng)網(wǎng)絡(luò)的應(yīng)用效果就越好[6~8]。因而,神經(jīng)網(wǎng)絡(luò)已經(jīng)成為目前非線性預(yù)測中較為常用的方法。
建立神經(jīng)網(wǎng)絡(luò)模型包括確定網(wǎng)絡(luò)的輸入變量、網(wǎng)絡(luò)層數(shù)、選擇傳遞函數(shù)、設(shè)置學(xué)習(xí)速率等。通過對警情影響因素進(jìn)行分析和表示確定輸入變量,結(jié)合問題復(fù)雜度設(shè)置網(wǎng)絡(luò)層數(shù)并選擇傳遞函數(shù)。最后對模型進(jìn)行訓(xùn)練、預(yù)測以及誤差分析。
單純地應(yīng)用時間序列法對巡防警情進(jìn)行預(yù)測的實際效果還不夠理想,是因為僅通過時間這一個維度刻畫對警情的影響,忽略了其非線性動態(tài)特征,即影響警情的其他因素,如轄區(qū)地理位置、有效接處警、警情同比環(huán)比變化和是否節(jié)假日等。本文分析巡防相關(guān)因素,如轄區(qū)地理位置、特殊節(jié)假日、警情環(huán)比變化等,進(jìn)行歸一化表示,具體如下:轄區(qū)在非商業(yè)中心區(qū)用“1”表示,商業(yè)中心區(qū)用“0.75”表示;特殊節(jié)假日用“1”表示,非節(jié)假日用“0.5”表示;同比警情數(shù)變化,上升用“1”表示,持平用“0.5”表示,下降用“0”表示。通過對這些警情影響因素的分析可以確定神經(jīng)網(wǎng)絡(luò)輸入變量。
1)確定網(wǎng)絡(luò)層數(shù)
神經(jīng)網(wǎng)絡(luò)通過設(shè)置多個隱含層表征問題的非線性,亦可針對單層網(wǎng)絡(luò)增加隱含層的神經(jīng)元個數(shù)實現(xiàn)對非線性的映射,本文根據(jù)警務(wù)系統(tǒng)要求采用單隱層的神經(jīng)網(wǎng)絡(luò),即包含三層:輸入層、單隱層和輸出層。設(shè)置時間窗口,即t-5、t-4、t-3、t-2、t-1、t時刻來預(yù)測t+1時刻的警情數(shù),其中t可以指一天、一周、一月或一季度等,同時考慮3.1中警情影響因素,最終確定輸入層的神經(jīng)元數(shù)為9,即6個時刻的警情數(shù)及3個影響因素。根據(jù)Kolmogorov定理計算得出隱藏層的神經(jīng)元數(shù)為19。預(yù)測t+1時刻的警情數(shù),輸出層的神經(jīng)元數(shù)為1。
2)選擇傳遞函數(shù)
傳遞函數(shù)通常選擇Log-Sigmoid函數(shù)及Purelin函數(shù)。

本文隱藏層選擇Log-Sigmoid函數(shù)作為傳遞函數(shù),輸出層選擇Purelin函數(shù)作為傳遞函數(shù)。
3)調(diào)整學(xué)習(xí)速率
本文構(gòu)建的神經(jīng)網(wǎng)絡(luò)輸入變量包含兩類:時間序列上警情數(shù)、警情影響因素,不同類的變量增加了網(wǎng)絡(luò)復(fù)雜性,因而采用自適應(yīng)的學(xué)習(xí)速率,提高訓(xùn)練效率,在不同的階段網(wǎng)絡(luò)的訓(xùn)練將相應(yīng)地被設(shè)置不同學(xué)習(xí)速率。

式中:η(k)表示學(xué)習(xí)速率,e(k)表示誤差函數(shù)。
4)改進(jìn)權(quán)值更新
權(quán)值調(diào)整量為Δwji(n),學(xué)習(xí)速率為η,學(xué)習(xí)速率的選擇與確定通過動量項α解決,具體地,實際權(quán)值調(diào)整量Δwji(n)定義為將前一次權(quán)值調(diào)整量Δwji(n-1)與本次誤差計進(jìn)行疊加計算,得到權(quán)值調(diào)整量 ηδjxji。

動量項α的取值為(0,1)之間的常數(shù),根據(jù)經(jīng)驗α通常設(shè)置為0.1。加入了動量項的神經(jīng)網(wǎng)絡(luò)將會降低誤差曲面局部敏感性,減少局部收斂帶來的網(wǎng)絡(luò)訓(xùn)練過程震蕩,從而增強(qiáng)網(wǎng)絡(luò)的全局收斂性。
1)實驗數(shù)據(jù)
本文實驗數(shù)據(jù)來源于某市公安局2015年1月至2017年12月巡防系統(tǒng)中接處警記錄,共有8735條。統(tǒng)計并歸一化處理t時刻、t-1時刻、t-2時刻、t-3時刻、t-4時刻、t-5時刻警情數(shù),記錄3個影響因素的值,給網(wǎng)絡(luò)的輸入變量賦值,以2016年1月~12月為例,如表1所示。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本選自2015、2016年共6013個,測試樣本選自2017年共2722個。對原始數(shù)據(jù)歸一化處理及對預(yù)測數(shù)據(jù)還原處理的公式為

式中:x為原始數(shù)據(jù),x'為歸一化后數(shù)據(jù),xmax為原始最大值,xmin為原始最小值。

表1 警情數(shù)及轄區(qū)位置、節(jié)假日、同比變化
2)神經(jīng)網(wǎng)絡(luò)建模與訓(xùn)練
本實驗環(huán)境基于Matlab,創(chuàng)建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)的代碼如下:
datain=importdata(‘datain.txt’);
dataout=importdata(‘dataout.txt’);
Threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;];
net=newff(threshold,[19 1],{‘logsig’‘purelin’},‘traingdx’);
net.trainparam.show=50
net.trainparam.goal=0.01
net.trainparam.epochs=500
net.trainparam.lr=0.1
net=train(net,datain,dataout)
神經(jīng)網(wǎng)絡(luò)在訓(xùn)練100次數(shù)左右達(dá)到收斂,訓(xùn)練曲線如圖1所示。

圖1 訓(xùn)練誤差變化曲線圖
1)真值與預(yù)測值
真值表示實際警情數(shù),預(yù)測值是對測試樣本應(yīng)用訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行預(yù)測得到的值,比較這兩個值可評價網(wǎng)絡(luò)的通用性。預(yù)測結(jié)果如圖2所示,展示數(shù)據(jù)為2017年10月。

圖2 預(yù)測值與實際警情數(shù)比較圖
2)本方法與傳統(tǒng)時間序列法
傳統(tǒng)時間序列預(yù)測法假定歷史趨勢延續(xù)不變,僅利用實際警情歷史數(shù)據(jù)構(gòu)造模型,通常認(rèn)為平均誤差在5%左右為預(yù)測效果良好。本文優(yōu)化了神經(jīng)網(wǎng)絡(luò)輸入變量,即確定轄區(qū)位置、同比警情變化及節(jié)假日等非時序輸入變量,構(gòu)建非線性網(wǎng)絡(luò),如表2所示,在增強(qiáng)網(wǎng)絡(luò)的表達(dá)能力的同時,也提高了預(yù)測的精度,平均相對誤差為4.3%,預(yù)測結(jié)果相對誤差小于5%的比例達(dá)到94.6%。

表2 與傳統(tǒng)時間序列預(yù)測法比較
3)誤差分析
本文方法相比較傳統(tǒng)方法預(yù)測的平均相對誤差改進(jìn)較少,是因為存在少量的奇值,其預(yù)測結(jié)果偏差較大,這是由于警情動態(tài)變化以及警務(wù)工作的特點使得接處警原始數(shù)據(jù)未能客觀反映警情狀態(tài),導(dǎo)致輸入變量值存在一定誤差,例如,在整理實驗數(shù)據(jù)過程中發(fā)現(xiàn),某日某執(zhí)勤民警在處理當(dāng)前警情時,現(xiàn)場發(fā)生另一起警情,處理完成后在執(zhí)勤日志中進(jìn)行了記錄,但大平臺數(shù)據(jù)庫中未記錄。
本文將神經(jīng)網(wǎng)絡(luò)應(yīng)用于巡防警情預(yù)測研究,根據(jù)影響警情的因素優(yōu)化了網(wǎng)絡(luò)輸入變量,建立了用于巡防警情預(yù)測的神經(jīng)網(wǎng)絡(luò)。在實驗部分,將某市公安局提供的真實數(shù)據(jù)分成訓(xùn)練樣本及測試樣本,首先訓(xùn)練模型,其次應(yīng)用模型進(jìn)行預(yù)測,最后對實驗結(jié)果進(jìn)行分析,并得出結(jié)論,即神經(jīng)網(wǎng)絡(luò)法比傳統(tǒng)時間序列預(yù)測法得到更好的預(yù)測結(jié)果,且預(yù)測精度有較大提高,但預(yù)測平均誤差無明顯改進(jìn)。進(jìn)一步的研究將完善數(shù)據(jù)的預(yù)處理,建立公安大平臺統(tǒng)一數(shù)據(jù)格式,考慮網(wǎng)絡(luò)采用多隱含層,從而提高網(wǎng)絡(luò)的泛化能力。