/START-Global-Terrorism-Dataset

Analysis and Visualization for the Global Terrorism Dataset including ANOVA tests volcano plots and Topological Data Analysis applications https://www.start.umd.edu & https://www.kaggle.com/START-UMD/gtd#globalterrorismdb_0718dist.csv

Primary LanguageJupyter Notebook

START Global Terrorism Dataset

We analyze the START Global Terrorism Dataset using Plotly, ANOVA test volcano plots, Topological Data Analysis (TDA) and Google Data Studio. Our notebook is published at Google Colab. Our Google Data Studio is at link. Our team includes: Ly Tran (github) and Tuc Nguyen (github)

Python Dependencies

  1. GDSCTools and dependencies
  2. Bokeh
  3. Scikit-tda Kepler-Mapper and dependencies
  4. Plotly

ANOVA Volcano plots

  1. Preprocessing data
    • We use pandas.get_dummies to "one-hot encode" categorical data
    • Our features include Attack Type, Target Type, Victim Nationality, Group Name, Weapon Type, Province State, Region
    • Our labels include Number Killed, Number Killed US, Success, Damaged Property Value, Number Wounded, Number Wounded US, Number Hostages kidnapped, Number Hostages Kidnapped US, Number of Days kidnapped, Number of Hostages Released, Ransom Amount, Ransom Amount US sources, Ransom Paid, Ransom Paid from US sources
    • We split our labels and features data into regions for faster ANOVA test runs with gdsctools standalone application.
  2. Visualizing ANOVA test results with volcano plots
    • For understanding volcano plots see this link
    • we use bokeh to plot for each regions
    • standalone volcano plots published at this link

Topological Data Analysis

  1. About the data

  2. Pearson correlation of number killed and firearms fraction

    • For each node we calculate the average number killed for all node members and fraction of firearms weapon type for all node members.
    • We use scipy.stats.pearsonr to calculate the Pearson correlation

Plotly

  1. Geomap:
    • We use plotly.graph_objects to create the global map of terrorist events. We enable hover text to show the event details including number killed, by group, motive, date.
  2. Successful attacks by regions:
    • We use plotly.graph_objects to create the interactive plot showing yearly event counts by region
  3. Number of success/fail attacks in North Africa & Middle East/South Asia/North America/Southeast Asia:
    • We use plotly.graph_objects to create stacked bar charts showing number of success/fail events for the years 1970-2017.
  4. Stacked bar charts of weapon type number of success attacks by year:
    • We use plotly.graph_objects to create stacked bar charts of weapon type number of success attacks for the years 1970-2017