Posts | Andy Halterman


To get future blog posts in newsletter form, you can sign up here:

Campaign analysis with R's Shiny

Campaign analysis–a technique for understanding the outcomes of military operations–is an important tool for scholars of security studies. As Rachel Tecott and I argue in our International Security article, campaign analysis involves specifying a model of a particular military operation, and a set of inputs that the model uses to generate outputs.

Crash course in Python for R users

This is Part 1 of a two part series. Stay tuned for Part 2, which will cover numpy, pandas and scikit-learn. R is an extremely powerful language for data analysis, and probably the best language for working with tabular data, running regressions, and making visualizations.

Simple political actor classification with "soft" dictionaries

As political scientists, we are often interested in using text to understand the actions of political actors. Thankfully, have a growing set of tools for identifying political actors in text, including named entity recognition and dependency parses, custom event models, or hand labeling events text.

Introducing Mordecai 3: A Neural Geoparser and Event Geocoder in Python

Researchers working with text data are often faced with the problem of identifying place names in text and linking them to their geographic coordinates. In social science, we might want to measure news coverage of specific locations, track discussions of specific places in government documents, or geolocate events such protests to the locations where they occur.

Tutorial: Information Extraction for Social Science Research

This workshop provides an interactive introduction to information extraction for social science–techniques for identifying specific words, phrases, or pieces of information contained within documents. It focuses on two common techniques, named entity recognition and dependency parses using the spaCy library, and shows how they can provide useful descriptive data about the civil war in Syria.

Bootstrapping your way to active learning

Active learning is great, but what if you don’t already have a model? You can bootstrap your way to a machine learning model with majority-vote deterministic rules. Human labeled data is often the primary bottleneck in building good machine learning models.

Event Data in 30 Lines of Python

Much of my work involves improving large-scale systems to extract political events from text (see code from our NSF project on the subject here). These systems are designed for full production use over many hundreds of sources both daily and for the past in many dozens of event categories, including protests, armed conflict, statements, arrests, and humanitarian aid.

Managing Machine Learning Experiments

Reproducible methods like knitr and version control using git are on their way toward being standard for academic code, even in social science disciplines such as political science. knitr, Rmarkdown, and Jupyter notebooks make it easy to verify that your findings and figures come from the most recent version of your code and that it runs without errors.

Making Event Data From Scratch: A Step-By-Step Guide

This tutorial covers how to create event data from a new set of text using existing Open Event Data Alliance tools. After going through it, you should be able to use the OEDA event data pipeline for your own projects with your own text.

The future of forecasting: the good and the bad

Science has a special issue this month on forecasting political behavior, which included an essay by Cederman and Weidmann in which they discuss the limitations of current conflict forecasting models, as well as the areas where they’re better than many people, including political science scholars, think they are.