神经网络在巡防警情预测中应用研究*

2020-08-11 00:46高广银曹红根
计算机与数字工程 2020年6期
关键词:传递函数警情辖区

高广银 曹红根 沈 杨

(1.南京理工大学泰州科技学院 泰州 225300)(2.兴化市电子政务中心 泰州 225300)

1 引言

公安巡防保证了社会治安稳定良好,基层公安部门治安管理和警务工作的一项重要内容即警情研判和预测分析,对案件发生辖区内的所有案件发生数量进行预测,根据预测结果分析出哪些辖区的警情会增加,及时调配警力适当增加这些辖区的警力配置,从而降低辖区内警情。为克服当前公安警情预测分析主要依靠经验分析的不足,引入数据分析技术进行量化研究,挖掘出社会安全状态的变化及其规律,为未来特定阶段可能出现的警情数量进行预测,使得相关部门能做好预案准备[1]。

2 相关工作

将现代数据分析手段应用于警情研判和预测分析正在不断发展,并取得了一定成果。黄超等(2011)提出了应用平均值分析、回归分析等简单统计方法,描述治安警情的一些周期性外在特征,但对于警情时间序列本身所隐含的内在信息如波动性等难以挖掘[2]。卢睿(2015)将灰色系统理论应用于网络犯罪研究,通过三角函数变换对不确定因素建模,在缺乏大量数据支撑的条件下提高了预测精度[3]。陈鹏等(2015)应用ARIMA模型和指数平滑模型对某市警情数据分别建模,并得出ARIMA模型更适用于警情分析的短期预测的结论,因为指数平滑模型对治安案件变化的短期趋势和随机波动性表现不够[4]。宋兆铭等(2018)将ARIMA模型应用于某市刑事类警情预测,对2015年1月至2017年12月刑事类警情数据进行建模,对2018年1月进行预测,结果认为该模型在一定条件下有效,即针对刑事类警情[5]。现有方法有一定局限性,即假定未来的条件与现在的条件是相似的,但警情并不是一个稳定的状态,警情的产生是一个复杂的非线性动态系统,比如警务活动的主体及对象、外在环境本身及其变化,这些因素都可能改变时间序列的趋势。对于复杂非线性问题可以使用神经网络模型描述,神经网络模型基于历史数据样本自动学习,通过优化参数拟合描述样本数据规律的最佳隐函数,并且隐函数越复杂,神经网络的应用效果就越好[6~8]。因而,神经网络已经成为目前非线性预测中较为常用的方法。

3 用于巡防警情预测的神经网络

建立神经网络模型包括确定网络的输入变量、网络层数、选择传递函数、设置学习速率等。通过对警情影响因素进行分析和表示确定输入变量,结合问题复杂度设置网络层数并选择传递函数。最后对模型进行训练、预测以及误差分析。

3.1 警情影响因素分析

单纯地应用时间序列法对巡防警情进行预测的实际效果还不够理想,是因为仅通过时间这一个维度刻画对警情的影响,忽略了其非线性动态特征,即影响警情的其他因素,如辖区地理位置、有效接处警、警情同比环比变化和是否节假日等。本文分析巡防相关因素,如辖区地理位置、特殊节假日、警情环比变化等,进行归一化表示,具体如下:辖区在非商业中心区用“1”表示,商业中心区用“0.75”表示;特殊节假日用“1”表示,非节假日用“0.5”表示;同比警情数变化,上升用“1”表示,持平用“0.5”表示,下降用“0”表示。通过对这些警情影响因素的分析可以确定神经网络输入变量。

3.2 设计神经网络

1)确定网络层数

神经网络通过设置多个隐含层表征问题的非线性,亦可针对单层网络增加隐含层的神经元个数实现对非线性的映射,本文根据警务系统要求采用单隐层的神经网络,即包含三层:输入层、单隐层和输出层。设置时间窗口,即t-5、t-4、t-3、t-2、t-1、t时刻来预测t+1时刻的警情数,其中t可以指一天、一周、一月或一季度等,同时考虑3.1中警情影响因素,最终确定输入层的神经元数为9,即6个时刻的警情数及3个影响因素。根据Kolmogorov定理计算得出隐藏层的神经元数为19。预测t+1时刻的警情数,输出层的神经元数为1。

2)选择传递函数

传递函数通常选择Log-Sigmoid函数及Purelin函数。

本文隐藏层选择Log-Sigmoid函数作为传递函数,输出层选择Purelin函数作为传递函数。

3)调整学习速率

本文构建的神经网络输入变量包含两类:时间序列上警情数、警情影响因素,不同类的变量增加了网络复杂性,因而采用自适应的学习速率,提高训练效率,在不同的阶段网络的训练将相应地被设置不同学习速率。

式中:η(k)表示学习速率,e(k)表示误差函数。

4)改进权值更新

权值调整量为Δwji(n),学习速率为η,学习速率的选择与确定通过动量项α解决,具体地,实际权值调整量Δwji(n)定义为将前一次权值调整量Δwji(n-1)与本次误差计进行叠加计算,得到权值调整量 ηδjxji。

动量项α的取值为(0,1)之间的常数,根据经验α通常设置为0.1。加入了动量项的神经网络将会降低误差曲面局部敏感性,减少局部收敛带来的网络训练过程震荡,从而增强网络的全局收敛性。

3.3 训练神经网络

1)实验数据

本文实验数据来源于某市公安局2015年1月至2017年12月巡防系统中接处警记录,共有8735条。统计并归一化处理t时刻、t-1时刻、t-2时刻、t-3时刻、t-4时刻、t-5时刻警情数,记录3个影响因素的值,给网络的输入变量赋值,以2016年1月~12月为例,如表1所示。神经网络的训练样本选自2015、2016年共6013个,测试样本选自2017年共2722个。对原始数据归一化处理及对预测数据还原处理的公式为

式中:x为原始数据,x'为归一化后数据,xmax为原始最大值,xmin为原始最小值。

表1 警情数及辖区位置、节假日、同比变化

2)神经网络建模与训练

本实验环境基于Matlab,创建和训练神经网络的代码如下:

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)

神经网络在训练100次数左右达到收敛,训练曲线如图1所示。

图1 训练误差变化曲线图

4 实验结果

1)真值与预测值

真值表示实际警情数,预测值是对测试样本应用训练好的网络进行预测得到的值,比较这两个值可评价网络的通用性。预测结果如图2所示,展示数据为2017年10月。

图2 预测值与实际警情数比较图

2)本方法与传统时间序列法

传统时间序列预测法假定历史趋势延续不变,仅利用实际警情历史数据构造模型,通常认为平均误差在5%左右为预测效果良好。本文优化了神经网络输入变量,即确定辖区位置、同比警情变化及节假日等非时序输入变量,构建非线性网络,如表2所示,在增强网络的表达能力的同时,也提高了预测的精度,平均相对误差为4.3%,预测结果相对误差小于5%的比例达到94.6%。

表2 与传统时间序列预测法比较

3)误差分析

本文方法相比较传统方法预测的平均相对误差改进较少,是因为存在少量的奇值,其预测结果偏差较大,这是由于警情动态变化以及警务工作的特点使得接处警原始数据未能客观反映警情状态,导致输入变量值存在一定误差,例如,在整理实验数据过程中发现,某日某执勤民警在处理当前警情时,现场发生另一起警情,处理完成后在执勤日志中进行了记录,但大平台数据库中未记录。

5 结语

本文将神经网络应用于巡防警情预测研究,根据影响警情的因素优化了网络输入变量,建立了用于巡防警情预测的神经网络。在实验部分,将某市公安局提供的真实数据分成训练样本及测试样本,首先训练模型,其次应用模型进行预测,最后对实验结果进行分析,并得出结论,即神经网络法比传统时间序列预测法得到更好的预测结果,且预测精度有较大提高,但预测平均误差无明显改进。进一步的研究将完善数据的预处理,建立公安大平台统一数据格式,考虑网络采用多隐含层,从而提高网络的泛化能力。

猜你喜欢
传递函数警情辖区
多尺度土壤入渗特性的变异特征和传递函数构建
长江上游低山丘陵区土壤水分特征曲线传递函数研究
井陉苍岩山派出所积极排查辖区流动人口
派出所里的“禁忌”
一种基于空间位置进行警情高发统计的方法
福建省晋江市公安局青阳派出所:扎实推进辖区打防质态提升
基于快速傅里叶变换的SmaartLive音频测量基本原理(节选)