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直播

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

GTD全球恐怖主义可视化系统相关推荐

  1. 全球网络拓扑测绘系统--擎天神

    擎天神是基于IP定位技术的全球网络拓扑测绘系统,系统界面如下图所示.该系统通过不同级别不同颗粒度的网络拓扑可视化功能,展示全球互联网的拓扑关系,包含全球.国家间.国家内.AS 域间.AS 域内的三维地 ...

  2. 全球百年地震数据可视化系统

    在科学技术如此发达的今天,我们在某些自然灾害面前,仍然无能为力,比如地震.我们无法阻止地震的发生,也无法预知下一次的大地震会发生在哪里.1976年唐山地震.2004年印尼海啸.2008年汶川地震.以及 ...

  3. 2022-2028全球及中国先进核磁共振成像可视化系统行业研究及十四五规划分析报告

    受新冠肺炎疫情等影响,2021年全球先进核磁共振成像可视化系统市场规模大约为 亿元(人民币),预计2028年将达到 亿元,2022-2028期间年复合增长率(CAGR)为 %.未来几年,本行业具有很大 ...

  4. 【Dash搭建可视化网站】项目12:全球恐怖主义数据大屏制作步骤详解

    全球恐怖主义数据大屏制作步骤详解 1 项目效果图 2 项目架构 3 文件介绍和功能完善 3.1 assets文件夹介绍 3.2 app.py和index.py文件完善 3.3 header.py文件完 ...

  5. 数据可视化系统在哪些行业中应用

    使用大数据可视化系统,可以将图像.数据传输到屏幕显示给用户,并对海量数据信息进行分析,让分析结果一目了然,跃然屏上,帮助管理者发现数据背后的关系和规律,为决策提供依据. 数据可视化系统一目了然的展示效 ...

  6. 智慧园区三维可视化系统,助力传统产业园区发展

    随着社会进步与发展,构建智慧城市的步伐不断深入推进,智慧园区已成为当今城市规划与社会发展的关注焦点.作为智慧城市战略规划中重要的一环,智慧园区更像是智慧城市的缩影,智慧园区渗透着智慧城市建设中的方方面 ...

  7. html楼层效果,基于 HTML5 WebGL 的智慧楼宇可视化系统

    前言 可视化的智慧楼宇在 21 世纪是有急迫需求的,中国被世界称为"基建狂魔",全球高层建筑数量位居首位,所以对于楼宇的监控是必不可少.智慧楼宇可视化系统更多突出的是管理方面的功能 ...

  8. 5G智慧港口三维可视化系统 数字孪生赋能升级

    建设背景 在经济全球化的推动下,港口作为交通运输的枢纽,在促进国际贸易和地区发展中起着举足轻重的作用.随着港口信息化水平的不断提高,国内外许多港口都在尝试将大数据技术.云计算.物联网.可视化等相关信息 ...

  9. 基于Vue+Element-UI实现的威胁情报可视化系统【100011419】

    基于威胁情报基础库的关联关系可视化 摘 要 威胁情报数据分析是网络安全防护及网络攻击追踪溯源的重要前提,但传统分析方式并不足以反映复杂网络数据的真实情况,只有充分结合专家分析模式与交互式可视化技术,才 ...

最新文章

  1. 代码生成codegen
  2. 如何成为linux内核维护人员,Linux内核维护人员Greg Kroah-Hartman拒绝明尼苏达大学的道歉...
  3. linux无效内存访问,x86_64 Linux 3.0:无效的内存地址
  4. CentOS x86_64系统手动释放内存
  5. java定长池,java线程池源码学习
  6. spring4声明式事务mdash;02 xml配置方式
  7. 【语音隐写】基于matlab GUI DWT音频数字水印(带语音播报)【含Matlab源码 711期】
  8. 计算机复试读研规划,【图片】2020考研,老学长教你如何规划!【计算机考研吧】_百度贴吧...
  9. 《提问的智慧》 - 懒人的脑图
  10. Appium+Android+Python,关闭广告
  11. SDWebImage使用详解
  12. 【C语言】PAT乙级1004 成绩排名
  13. 如何降低高级计划与排程APS应用的复杂性?
  14. ios图像和图形最佳实践(三)
  15. 第三篇 JavaScript基础
  16. upx命令行版本脱壳全过程
  17. Windows(Win7)下用Xming实现X11图形界面功能
  18. python中print无法打印在控制台输出_Pycharm Python控制台不打印输出
  19. 51单片机开发板资料270G | 免费下载
  20. 高德地图地区编码各省市区县poi及区划名称 代码/高德历史poi

热门文章

  1. 【路径规划】基于FMM快速行进法实现船舶路径规划附matlab代码
  2. 重磅!《2020年中国 DevOps 现状调查》全面启动!
  3. C#修改解决方案的名称 和解决方案文件夹的名称 ,及项目程序名称,项目文件夹名称
  4. 企业如何保护“特权访问”的安全?
  5. 微创居然被唐骏买了,顺便挖挖里面的内部
  6. 结对第二次—文献摘要热词统计及进阶需求
  7. 衡水一中2021高考成绩查询,2021清北保送名单出炉,这些学校表现很亮眼,衡水中学未上榜?...
  8. 智能汽车与智能手机:谁是智慧生活的核心?
  9. python将字符串s和换行符写入文件fp_软件测试技术之如何用python在Windows系统下,生成UNIX格式文件...
  10. AttributeError: module ‘keras.backend‘ has no attribute ‘get_session‘问题解决