/Advanced-Computational-Methods-for-Social-Media-and-Text-Data

Essex Summer School Advanced Computational Methods for Social Media and Textual Data

Primary LanguageR

Advanced-Computational-Methods-for-Social-Media-and-Text-Data

I recommend using the code and course content at the newest version of my Essex summer school course here: https://github.com/CJFariss/Programming-and-Simulation-Methods-for-Computational-Social-Science?tab=readme-ov-file#day-4-simulation-based-programming-for-model-comparison-and-selection

Introduction

Course Title: Essex Summer School Advanced Computational Methods for Social Media and Textual Data (3b)

Course Date: Monday 8 August – Friday 19 August 2022

Key Course Objective: Learn to program. Program to learn.

Essex Course Website: https://essexsummerschool.com/summer-school-facts/courses/ess-2022-course-list/3b-advanced-methods-for-social-media-textual-data/

Past Course Syllabi

Course Content

This course focuses on the research design and data analysis tools used to explore and understand social media and text data. The fundamentals of research design are the same throughout the social sciences, however the topical focus of this class is on computationally intensive data generating processes and the research designs used to understand and manipulate such data at scale.

By massive or large scale, I mean that there are lots of subjects/connections/units/rows in the data (e.g., social network data like the kind available from twitter), or there are lots of variables/items/columns in the data (e.g., image or text data with many thousands of columns that represent the words in the document corpus), or the selected analytical tool is a computationally complex algorithm (e.g., a Bayesian simulation for modeling a latent variable, a random forest model for exploratory data analysis, or a neural network for automatically classifying new observations), or finally some combination of these three issues. The course will provide students with the tools to design observational studies and experimental interventions into large and unstructured data sets at increasingly massive scales and at different degrees of computational complexity.

How will we go about learning these tools? In this class, we will learn to program and program to learn. What do I mean? First, we will use the R program environment to learn the building blocks of programming. These skills are essential for managing the increasingly large and complex datasets of interest to social scientists (e.g., image data, text data).

As we develop programming skills in R, we will use them to help us understand how different types of data analysis tools work. For example, by the end of the course, students will be able to program and evaluate their own neural network or structural topic model from scratch.

We will start very small and learn how to scale up. In the beginning of the course, we will not make use of many packages other than the base packages available by default in R. As we proceed, we will learn how models for data work before then investigating the functions that exist in the large, always increasing catalogue of packages available for you to use in R. The development of new functions in R is advancing rapidly. The tools you learn in this class will help you improve as a programmer and a data scientists but learning how to program and using your programming skills to learn how to analyze data.

Course Objectives

Students will learn how to design models for data that take advantage of the wealth of information contained in new massive scale online datasets such as data available from twitter, images, and the many newly digitized document corpuses now available online. The focus of the course is on learning to program in R with special attention paid to designing studies in such a way as to maximize the validity of inferences obtained from these complex datasets.

  1. Learn to program models in R at a small scale using the base package and a minimal number of other packages.
  2. Use the tools from research design to assist in model development
  3. Validate models of observational data in comparison to an appropriate baseline model
  4. Develop simulation based models for large scale, observational data
  5. Develop and validate measurement (e.g., latent variable models, structural topic models) and classification models (e.g., neural networks) of text and image based data

Course Prerequisites

Students should have some familiarity with concepts from research design and statistics. Generally, exposure to these concepts occurs during the first year course at a typical PhD program in political science. Students should also have familiarity with the R computing environment. The more familiarity with R the better.

Course Details

  1. We will begin each class period with a ``programming challenge'' (approximately 20-25 minutes).
  2. I will then give a short lecture over the class material (approximately 30-45 minutes).
  3. On the first day of class, I will introduce students to two large scale datasets. Students will use these data for applied examples over the 10 days of the course.
  4. The remaining portion of class (approximately 1.5-2 hours) will be devoted to hands on learning with R, simulated data, and the large scale datasets provided by the instructor.
  5. The course schedule section, which is below, provides even more details about the topic of the lecture for each class day, citations for the discussion readings, and chapter entries from the text books for the programming and data analysis tools covered in the class.