Doing Computational Social Science
Description
Computational approaches offer exciting opportunities for us to do social science differently. This beginner's guide discusses a range of computational methods and how to use them to study the problems and questions you want to research.
It assumes no knowledge of programming, offering step-by-step guidance for coding in Python and drawing on examples of real data analysis to demonstrate how you can apply each approach in any discipline.
The book also:
- Considers important principles of social scientific computing, including transparency, accountability and reproducibility.
- Understands the realities of completing research projects and offers advice for dealing with issues such as messy or incomplete data and systematic biases.
- Empowers you to learn at your own pace, with online resources including screencast tutorials and datasets that enable you to practice your skills and get up to speed.
For anyone who wants to use computational methods to conduct a social science research project, this book equips you with the skills, good habits and best working practices to do rigorous, high quality work.
Contents
Introduction - Learning to do computational social science
Part I: Foundations
- Setting up your open source scientific computing environment
- Python programming: The basics
- Python programming: Data structures, functions and files
- Collecting data from Application Programming Interfaces (APIs)
- Collecting data from the web (Scraping)
- Processing structured data
- Visualisation and exploratory data analysis
- Latent factors and components
Part II: Fundamentals of Text Analysis
- Processing natural language data
- Iterative text analysis
- Exploratory text analysis
- Text similarity and latent semantic space
Part III: Fundamentals of Network Analysis
- Social networks and relational thinking
- Connection and clustering in social networks
- Influence, inequality and power in social networks
- Going viral: Modelling the epidemic spread of simple contagions
- Not so fast: Modelling the diffusion of complex contagions
Part IV: Research Ethics and Machine Learning
- Research ethics, politics and practices
- Machine learning: Symbolic and connectionist
- Supervised learning with regression and cross-validation
- Supervised learning with tree-based models
- Neural networks and deep learning
- Developing neural network models with Keras and Tensorflow
Part V: Bayesian Machine Learning and Probabilistic Programming
- Statistical machine learning and generative models
- Probability: A primer
- Approximate posterior inference with stochastic sampling and MCMC
Part VI: Bayesian Data Analysis and Latent Variable Modelling with Relational and Text Data
- Bayesian regression models with probabilistic programming
- Bayesian hierarchical regression modelling
- Variational Bayes and the craft of generative topic modelling
- Generative network analysis with Bayesian stochastic blockmodels
Part VII: Embeddings, Transformer Models and Named Entity Recognition
- Can we model meaning?: Contextual representation and neural word embeddings
- Named entity recognition, transfer learning and transformer models