An Investigation of the Bechdel Test Using Logistic Regression

By Noelle Pablo

January 30, 2022

Introduction

Last spring, I took a categorical data analysis course at the University of Kansas as part of the Applied Statistics, Analytics, and Data Science graduate program. For our final project, we were asked to find a data set, form a research question, and conduct a series of analyses to answer that research question. While looking for inspiration for my final project, I found a Bechdel test data set containing the Bechdel test ratings for films released between 1970 and 2013 on the Tidy Tuesday weekly data project which was originally used in a FiveThirtyEight article titled The Dollar-And-Cents Case Against Hollywood’s Exclusion of Women. This post provides an overview of the analyses and findings from that data set.

Background and Analysis Objective

One metric of female representation in film is the Bechdel test. The Bechdel test is a set of criteria used to measure the representation of women in films. The test was popularized by Alison Bechdel’s comic strip titled The Rule. In order to pass the “rule”, now known as the Bechdel test, a movie must satisfy the following requirements: 1. At least two named women appear in the film; 2. The two named women speak to each other; 3. The two named women speak to each other about something other than a man. Rotten Tomatoes’ 30 Best Films of 2021 list features 17 (57%) movies that fully pass the Bechdel test, 4 movies that fail the Bechdel test due to no named women characters, and 9 movies where a Bechdel rating was unavailable or non-applicable as the film was a non-fiction documentary.

The primary objective of this analysis was to understand which factors explain the difference between films’ Bechdel test rating by building a logistic regression model with Bechdel test rating as the main outcome of interest.

Data Preprocessing

The main outcome of interest was the Bechdel rating, which is categorized into three ordered responses: 1 = two named women, 2 = who speak to each other, and 3 = about something other than a man. The potential explanatory variables were movie budget (inflation-adjusted to 2013), MPAA rating, language, and year. Due to strong positive-skewness present in the budget variable, budget was transformed using the logarithm function with base two. Two was chosen as the logarithm base so that the interpretation would involve a doubling or two-fold increase of budget. Using a logarithm transformation on budget is sensible, as a $1000 increase in budget is much larger for a $10,000 movie than a $1,000,000 movie. The language variable was redefined as a dichotomous variable indicating whether only one language (0) or multiple languages were spoken in the film (1). Table 1 displays a sample of six films from the data. The raw budget is presented in Table 1, but the log-transformed budget was used in the regression model.

tuesdata <- tidytuesdayR::tt_load('2021-03-09')
## 
##  Downloading file 1 of 2: `raw_bechdel.csv`
##  Downloading file 2 of 2: `movies.csv`
bechdel <- tuesdata$raw_bechdel

movies <- tuesdata$movies

moviesclean <- movies %>% 
  mutate(imdb = str_replace(imdb, "tt", "")) %>% 
  left_join(bechdel, by = c("imdb" = "imdb_id",
                            "year",
                            "title")) %>% 
  distinct(year, imdb, title, budget_2013, 
           rated, language, rating) %>% 
  filter(!is.na(rating) & rating != 0) %>% 
  na.omit() %>% 
  mutate(numlanguages = str_count(language, "\\S+"),
         bechdelrating = as_factor(rating),
         rated = case_when(
           rated == "N/A" | rated == "Unrated" ~ "Not Rated",
           rated == "TV-PG" ~ "PG",
           rated == "TV-14" ~ "PG-13",
           rated == "X" ~ "NC-17",
           TRUE ~ rated
         ),
         languagecat = case_when(
           numlanguages == 1 ~ 0,
           numlanguages > 1 ~ 1
         )) %>% 
  filter(rated != "Not Rated") %>% 
  mutate(mpaa = fct_relevel(rated,
                            levels = c("G", "PG", "PG-13", 
                                       "R", "NC-17")),
         languagecat = as_factor(languagecat),
         logbudget = log2(budget_2013)) %>% 
  dplyr::select(imdb, title, year, budget_2013, 
                logbudget, mpaa, languagecat, bechdelrating) %>% 
  rename(budget2013 = budget_2013) 

bdl_model <- VGAM::vglm(bechdelrating ~ logbudget + year 
                        + languagecat,
                  family = cumulative(parallel = TRUE),
                  data = moviesclean)
Table 1: Six Observations from The Movies Data Set
Title Bechdel Rating Budget ($) Language Year MPAA Rating
Good Morning, Vietnam 1 $26,655,166 0 1987 R
The Princess Diaries 3 $39,475,379 0 2001 G
The Help 3 $25,892,270 0 2011 PG-13
The Departed 1 $104,021,671 1 2006 R
All About Steve 3 $16,285,974 1 2009 PG-13
Hedwig and the Angry Inch 3 $7,895,076 1 2001 R

Results

The final model for the data includes log budget, number of languages, and year as explanatory variables. The cumulative logit model with proportional odds can be written as:

\(logit(\hat{P}(Y \leq j)) = \alpha_j + \beta_{budget}x_{budget} + \beta_{language}x_{language} + \beta_{year}x_{year}, j = 1, 2\)

Table 2 displays inferential statistics from the final cumulative logit model with proportional odds. Under this model, for every two-fold increase in budget, the odds of being further away from fully passing the Bechdel test, i.e., receiving a Bechdel rating of 2 or 1, increase by \(e^{0.115} = 1.12\), or 12% (95% CI: 1.06, 1.19) after holding language and year constant. The negative coefficient of the year variable (\(\beta_{year}\) = -0.02) suggests that older movies are relatively less likely of fully passing the Bechdel test. For movies with more than one language spoken in the film, the odds of being further away from passing the Bechdel test are \(e^{0.291} = 1.34\) (95% CI: 1.08, 1.66) times that of movies where only one language is spoken in the film after holding budget and year constant.

Table 2: Summary of Cumulative Logit Model with Proportional Odds with Selected Variables
Estimate Std. Error z value Pr(>|z|) 2.5 % 97.5 %
(Intercept):1 39.107 11.467 3.410 0.001 16.632 61.582
(Intercept):2 39.578 11.468 3.451 0.001 17.100 62.055
logbudget 0.115 0.030 3.896 0.000 0.057 0.173
year -0.021 0.006 -3.734 0.000 -0.033 -0.010
languagecat1 0.291 0.109 2.683 0.007 0.078 0.504

Conclusion

Overall, film budget, year of film release, and number of languages spoken in the film each seem to have a statistically significant relationship with Bechdel rating, after holding the other variables constant. Bechdel rating appears to have a negative relationship with budget; films with higher budgets tend to have lower Bechdel ratings. There is also evidence of a negative association between Bechdel rating and number of languages; films with more than one language spoken tend to have lower Bechdel ratings. Lastly, films released more recently are relatively more likely to pass the Bechdel test than older movies.

While the Bechdel test is an easily measurable rating of women representation, it is unable to capture neither the depth of the women characters, nor the quality of the conversations between the women, and therefore should not be the only measure of women representation and gender equality in movies. Future research should include more sensitive alternatives for measuring female representation.

Posted on:
January 30, 2022
Length:
6 minute read, 1095 words
Tags:
bechdel test logistic regression categorical data tidy tuesday
See Also: