GTD全球恐怖主义可视化系统

Gtd全球恐怖主义可视化分析

Gtd全球恐怖主义可视化分析 1

一. 数据来源与数据处理 2

1. 数据来源 2

2. 数据处理 3

二. 数据存储以及持久化存储技术的选择 4

1. 数据库选择 4

2. 数据库设计 4

3. 持久化技术 5

三. 后端开发 5

1. 技术说明 6

2. 可视化平台框架设计 6

3. 后端设计与实现 7

(1) maven进行的包的管理 7

(2) 实现数据库的连接 8

(3) 代码实现 8

(4) 运行结果 9

四. 前端开发 9

1. 技术选择及开发感想 9

2. 可视分析 10

(1) 整体分析 10

(2) 关系分析 11

(3) 时间维度 12

(4) 地理分布可视 14

基于K-Means算法的地理上分布可视 14

KNN最近邻算法 14

本可视化项目基于全球恐怖主义数据库进行数据可视分析,对1970年到2017年世界各地恐怖主义案例的信息进行数据处理、数据存储、数据挖掘、数据展示的过程。

一.数据来源与数据处理

1.数据来源

网址为:https://www.start.umd.edu/gtd/,在这里对数据进行下载,本项目采用的数据为:1970年到2017年世界各地恐怖主义案例的信息。

 

1.1 gtd网站

数据含义说明:在附件2 GTD全球恐怖主义数据库变量说明.doc

2.数据处理

简单的对数据进行处理,首先简单的对数据的缺失值进行查看,发现数据的缺失值情况良好。

但是观察数据的信息可以发现数据的维度较大,并且数据的颗粒度比较细,所以在这里我们需要对数据进行压缩来方便数据的展示以及信息的挖掘。

数据简单处理完之后,将最后的数据导出,结果保存在:gtd_clean1.csv。这是我们第一步得到的数据,也是后边入库、挖掘、展示的基础。

 

 

 

二.数据存储以及持久化存储技术的选择

1.数据库选择

在数据库的选择上,考虑到我们的数据模式比较具备结构的特性,这里选择使用面广的MySql数据库,来存储我们的恐怖主义事件数据。

2.数据库设计

首先现建立gtd数据库以及表来对数据进行存储。接下来,针对数据,设计表的结构以及字段类型等。

 

 

 

整个过程的sql语句在:gtd.sql中。

3.持久化技术

为了使数据模型转换为存储模型,针对数据对象进行有:保存、更新、删除、查询等的基本操作,这里使用持久化技术来实现。然而,持久化技术众多:有比较流行的mybatis、jdbc等,在这里结合我后端使用的springboot框架,选用配合其使用的springData家族的JPA技术来进行持久化存储,当然mybatis也是一个非常不错的减少耦合的方法。具体使用会在后面的后端开发中进行介绍。

三.后端开发

1.技术说明

在整个平台的设计框架上主要采用以下配置:

IntelliJ IDEA:

jdk 1.8.0_271

Maven 3.6.1

MySQL 5.1.49

Vscode:

Vue Cli 4.5.12

Vue 2.5.2

Element-UI 2.15.1

dataV +

AntV

D3

2.可视化平台框架设计

整个可视化平台实现了前后端分离,后端向前端传json的形式进行数据传送响应;前端向后端发送请求后等待响应。整个后端是在IDEA环境下进行开发的,使用的是spring boot框架,并结合Maven进行包的管理,使用了JPA持久化存储技术。

在前端当中是在Vscode环境开发的,使用的是Vue的脚手车,并用element UI进行布局。在整个布局的边框设计上使用的是dataV,在画图的过程中使用的是AntV以及D3进行绘图。

下面是本平台采用的技术栈:

 

 

3.后端设计与实现

1.maven进行的包的管理

 

2.实现数据库的连接

 

3.代码实现

在后端的开发中符合当前的开发逻辑,从Entity实体层到DAO层的数据访问层,再到将service服务层与controller控制层的结合,符合数据的存储、查询、修改等操作的业务逻辑。

 

 

4.运行结果

 

 

四.前端开发

1.技术选择及开发感想

在前端的开发中使用的vue进行开发,其中绘制图主要使用了AntV以及D3。AntV是以前我从没有使用过的库,抱着学习的目的在这次的开发中我选着了它,最后我还是坚持用它完成了几乎大部分的图形,当然有一部分的基于算法的图形需要根据需求去定制,这让我不得不使用D3去画图。

在布局的设计中,我使用的是element UI进行布局分化,但是其效果并没有想象中的那么好,感觉没有基于传统模式开发使用bootstrap进行分割的效果好,这让我在布局方面浪费了很多时间。在边框的选择上,我选择的是dataV组件中的边框装饰,其效果以及使用方式上都是极为美观、方便。

2.可视分析

由于数据维度较大,数据内容较多。所以,在可视化平台的设计上,我分成4个部分对数据进行展示、分析与预测。

其中第1个部分是整体分析。对整体进行分析,对数据有一个大致的感官与想法,对数据的规模、数据量、数据特点、数据的分布有一个较为大致的印象。从而在后面的深入分析中,作为突破口、为下一步深入摸索打好基础。

第2个部分可以说是第1部分整体分析的深入,主要分析的是各个恐怖事件之间的关系,判断事件成功的因素、数量分布地域的特点或者各个事件发生之间的关系。在这里基于第1部分的可视化结果,对部分重要的数据重点挖掘,分析其特点。

其中第3部分是对整个时间维度与地理单位中进行分析。为探索出一定的规律,并基于自己的数字指标比较,进行目标的分析。

第4部分是对整个的地理空间的分布可视化。在这里使用了算法来判断以及预测自己的猜想。主要使用了kmeans进行模式识别,将恐怖袭击分成几个类,判断其是否能够构成某些地理群体。使用kNN算法,对预测全球在地球的某个地方发生恐怖袭击的攻击类型以及目标类型。

1.整体分析

第一部分中分成五个模块进行数据展示。

左上角的用于展示恐怖袭击持续时间长短的饼图,可以了解在全世界范围内的恐怖袭击呈现时间短的特点,几乎百分之97以上的恐怖袭击时间都是不超过24小时的。右上角的Circle Packing用来展示恐怖袭击事件发生在不同国家的次数,在这里我们只展示了发生次数超过300的国家,可以通过圆圈的大小来判断,Iraq是发生恐怖袭击最多的国家。

左下角是折线图, x轴是时间、y轴表示的是数量。表示的是随着时间的流逝,每一年世界各地总共的死亡人数。根据图可以看出总死亡人数的趋势总体上在上升,期间呈小部分波状起伏。右下角是刻画了数量的词云图,表示的是从1970年至2017年,47年来参与恐怖袭击的恐怖组织。字体的大小表示恐怖组织参与的恐怖袭击次数最多,由图可以很清晰的看出Taliban组织参与的恐怖袭击次数最多。

中间是一副点密度图,每一个点表示的是一次可以恐怖袭击,由点密度图可以很好的表示从1970年至2017年各地区总共发生的恐怖袭击的分布情况。

通过第一部分的分析让我们对数据有了直接上的感官,但是对数据的分析层次与程度还不够,需要更深层的挖掘与探索。

 

4.1 整体分析

 

4.2整体分析

2.关系分析

第二部分是对第一部分的深入分析,主要是针对第一部分的关键、主要数据进行可视化与探索性分析。

图分为五个主体。其中左上与左下图,是具有承接的关系的。在第一部分中的几个重要国家,我们分析了重要国家是否为犯罪团伙打击对象以及各个区域的死亡人数的统计,在程度上比第一部分更细了。右上角是一个桑基图,重点选取了五个发生恐怖袭击较多的国家(Iraq、Pakistan、Afghanistan、India、Thailand),从四个维度:国家、区域、袭击成功或者失败、袭击对象类型(country, region, success, targtype)进行分析。通过此图可以很清楚看到各个国家的被恐怖袭击的成功或者失败情况、以及袭击对象的分布等规律。右下角与中间的图都表示着关系。其中右下角的关系图表示的是不同恐怖袭击性质下,各个事件的关系。

中间的3D关系图中,每个节点表示的是一个事件,每一个事件都有唯一的ID号,ID号由年、月、日以及该日发生的事件基数表示;与此同时,每个节点还代表着一个恐怖袭击事件内容以当日报道的总结的内容呈现;颜色表示发生在不同区域的恐怖袭击事件。节点的大小表示其度的大小,一件事与其他恐怖袭击事件相关的越多,其节点的大小越大。

 

3.时间维度

第三部分更偏侧于挖掘,我想基于探索的目标,通过使用可视化的方式来进行深层次的分析。

第三部分由两个模块构成。其中右侧为等值线图,探索的目标是:从Weapon Type、Attack Type、Target Type三个主要方向,并针对其各个子项如:Weapon Type方向中可以选取Explosives、Firearms等武器类型,基于时间维度展示了各个区域从伤亡人数的大小的分布。

左侧为散点图,它有3个数字属性:

X: 死亡,

Y: 受伤,

大小: 计数

使用散点图通过数字指标比较分类属性(例如Weapon Type)。由于这些属性中的许多属性在区域甚至国家之间的比较有所不同,因此增加了按地理单位进行汇总的功能。探索的目标是:

选定的地理单位中找到

  1. 最致命的武器类型
  2. 最有效的攻击类型
  3. 最脆弱的目标类型

 

 

 

4.地理分布可视

第四部分主要就是在于预测两字,在本内容中会采用算法结合可视化的方法对预测结果通过通过视觉图案进行较为直观的展示。

基于K-Means算法的地理上分布可视

    猜想,是否一定区域的恐怖组织构成一定地理群体。

使用K-Means用于分析的模式识别,将恐怖袭击分为几类(一个想法),恐怖袭击是否构成某些地理群体。

探索的目标是:通过视觉图案找到不同恐怖袭击的地理群体。

在这里可以根据不同的K值,比较分类属性来寻找不同恐怖袭击的地理群体。

KNN最近邻算法

k近邻算法,是一种分类回归算法。使用kNN我们能够根据它的(k)邻居对地球上的任何点进行分类。

这里的探索的目标是:预测如果全球某个地方发生恐怖袭击,那么其恐怖袭击的攻击类型、目标类型是什么

 

 

 

 

 

 

视频链接:

gtd全球恐怖主义可视化分析-CSDN直播

仅供交流,转载请注明来源,谢谢!!!

  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值