数据挖掘技术在跨区域犯罪预警中的研究与应用尚处于起步阶段,许多跨区域犯罪预警业务信息系统还停留在初级处理水平,缺乏综合性的开发应用,智能化的分析研判,科学性的决策预警;缺乏对数据由微观到宏观的加工能力,由宏观数据到微观数据的问题发现手段(点击文末“阅读原文”获取完整代码数据)。
相关视频
如何利用数据挖掘技术挖掘和提取潜藏在大量业务数据中具备关联性的规律趋势,提高跨区域犯罪预警执法效率与快速反应能力、及时预防和打击犯罪行为,为警务决策提供支持服务,是本文研究的重点。
在结合公安犯罪行为分析实际的基础上,进行了基于决策树算法的犯罪行为分析原型系统设计,提出了功能需求与系统流程图,介绍了原型系统模块构成和实现。
分析表明:运用数据挖掘技术对公安信息数据库中的海量数据进行挖掘处理,发现趋势规律,从而快速准确的辅助警务决策,在跨区域犯罪预警中具有重要的现实意义。
数据准备
本文使用社区与犯罪相关数据(查看文末了解数据免费获取方式),其结合了人口普查的社会经济数据。通过相关的数据,我们将进行数据分析,得到想要的结果。社区犯罪本身与许多因素有关,Communities也提供了很多相关数据。因为数据有所缺失,在使用前我们进行了相关处理。
首先,我们取ViolentCrimesPerPop(total number ofviolent crimes per 100K popuation)作为因变量,与这些影响元素做回归分析,发现拟合的效果很差,而且结果也难以解读。
跨区域犯罪预警模型的建立
在结合公安犯罪行为分析实际的基础上,进行了基于决策树算法的犯罪行为分析原型系统设计与实验,提出了功能需求与系统流程图,介绍了原型系统模块构成和实现。实验及分析表明:运用数据挖掘技术对公安信息数据库中的海量数据进行挖掘处理,发现趋势规律,从而快速准确的辅助警务决策,在跨区域犯罪中具有重要的现实意义。
建立模型和评估优化
接下来我们通过画图来观察部分系数检验效果很好的变量:
采用主成分分析降维
看图screeplot,考虑前6个主成分。
可以看到检验效果还不错,再进一步观察:
观察图predict.jpg可以看到总体趋势确实接近,但是无法再进一步作更精确的预测,因而转向其他方法。
建立模型和优化
接下来,我们用决策树对communities分类
并找出那些对ViolentCrimesPerPop最有影响的因素
summary(D$ViolentCrimesPerPop)
按1st Qu,3rd Qu划分,将社区评级为Good,Medium,Bad
plot(rp) text(rp)
可以看到,决策树的主要的分类节点为
PctKids2Par: percentage of kids in familyhousing with two parents
HousVacant: number of vacant households
pctWInvInc: percentage of households withinvestment / rent income in 1989
OwnOccHiQuart: owner occupied housing -upper quartile value
NumIlleg: number of kids born to nevermarried
racePctWhite: percentage of population thatis caucasian
PersPerOccupHous: mean persons perhousehold
MalePctDivorce: percentage of males who aredivorced
使用决策树对communities
进行分类并找出对ViolentCrimesPerPop
(每人口的暴力犯罪数)最有影响的因素是一个很好的分析策略。决策树通过递归地将数据集分割成更小的、更纯的子集来工作,每个分割点都基于一个特定的特征值。
在给出的特征中对犯罪数有影响的因素有:
PctKids2Par
:家庭住房中双亲家庭的孩子百分比HousVacant
:空置户数的数量pctWInvInc
:1989年拥有投资/租金收入的户数的百分比OwnOccHiQuart
:业主自住房的上四分位数价值NumIlleg
:从未结婚的孩子的数量racePctWhite
:白种人人口的百分比PersPerOccupHous
:每户平均人数MalePctDivorce
:离婚的男性百分比
模型发布和模型应用
·OwnOccHiQuart
函数关系不明确。但是大多数的点集中在左下角,正相关。
·NumIlleg
·racePctWhite
函数关系不明确。但是大多数的点集中在右下角,负相关。
预警模型的验证
我们对模型进行检测:
pre=predict(rp,A) for(i in 1:3){ for (j in 1:1994) if (pre[j,i]>=pre[j,1] &&pre[j,i]>
决策树分类效果不错,准确率大概0.742。可以预见,如果用组合算法的话,准确率会很高。
下面,我们将一半的数据用于训练。
boost(Rank~.,data=A[1:1000,])
准确率约为0.860。
存在问题和相关建议
尽管开展了基于犯罪行为分析的决策树原型系统的设计,但还有许多不足之处,如数据表中的离散化数据缺少一定的灵活性,不能够完全反映复杂类型数据的信息,需要进一步改进;其次数据是基于内存而不是磁盘或磁盘组,也未能实现动态的加载数据,另外程序还有待于进一步优化以提高程序运行速度。