Sobre Implicit Association Tests (IAT) – Olhe o README do repositório.

IAT: 0.15, 0.35, and 0.65 are considered small, medium, and large levels of bias for individual scores. Positive means bias towards arts / against Math.

Exemplo de análise de uma replicação

iat = read_csv(here::here(params$arquivo_dados), col_types = "cccdc")
iat = iat %>% 
    mutate(sex = factor(sex, levels = c("m", "f"), ordered = TRUE))
glimpse(iat)
## Rows: 267
## Columns: 5
## $ session_id  <chr> "2478783", "2478785", "2478786", "2478787", "2478789", "24…
## $ referrer    <chr> "lse", "lse", "lse", "lse", "lse", "lse", "lse", "lse", "l…
## $ sex         <ord> m, f, f, f, m, m, f, m, m, f, f, f, f, f, f, f, f, f, f, m…
## $ d_art       <dbl> 0.80543823, 0.31463632, 0.60437687, 0.32284672, 0.73121367…
## $ iat_exclude <chr> "Include", "Include", "Include", "Include", "Include", "In…
iat %>%
    ggplot(aes(x = d_art, fill = sex, color = sex)) +
    geom_histogram(binwidth = .2, alpha = .4) +
    geom_rug() +
    facet_grid(sex ~ ., scales = "free_y") + 
    theme(legend.position = "None")

iat %>% 
    ggplot(aes(x = sex, y = d_art)) + 
    geom_quasirandom(width = .1)

iat %>% 
    ggplot(aes(x = sex, y = d_art)) + 
    geom_quasirandom(width = .1) + 
    stat_summary(geom = "point", fun.y = "mean", color = "red", size = 5)
## Warning: The `fun.y` argument of `stat_summary()` is deprecated as of ggplot2 3.3.0.
## ℹ Please use the `fun` argument instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Qual a diferença na amostra
iat %>% 
    group_by(sex) %>% 
    summarise(
        media = mean(d_art),
        desvio_padrao = sd(d_art),
        N = n()
    )
## # A tibble: 2 × 4
##   sex   media desvio_padrao     N
##   <ord> <dbl>         <dbl> <int>
## 1 m     0.160         0.483    91
## 2 f     0.522         0.453   176
agrupado = iat %>% 
        group_by(sex) %>% 
        summarise(media = mean(d_art))
    m = agrupado %>% filter(sex == "m") %>% pull(media)
    f = agrupado %>% filter(sex == "f") %>% pull(media)
m - f
## [1] -0.3617526

Comparação via ICs

library(boot)

theta <- function(d, i) {
    agrupado = d %>% 
        slice(i) %>% 
        group_by(sex) %>% 
        summarise(media = mean(d_art))
    m = agrupado %>% filter(sex == "m") %>% pull(media)
    f = agrupado %>% filter(sex == "f") %>% pull(media)
    m - f
}

booted <- boot(data = iat, 
               statistic = theta, 
               R = 2000)

ci = tidy(booted, 
          conf.level = .95,
          conf.method = "bca",
          conf.int = TRUE)

glimpse(ci)
## Rows: 1
## Columns: 5
## $ statistic <dbl> -0.3617526
## $ bias      <dbl> -0.00109448
## $ std.error <dbl> 0.05980512
## $ conf.low  <dbl> -0.4796913
## $ conf.high <dbl> -0.2422167
ci %>%
    ggplot(aes(
        x = "",
        y = statistic,
        ymin = conf.low,
        ymax = conf.high
    )) +
    geom_pointrange() +
    geom_point(size = 3) + 
    labs(x = "Diferença", 
         y = "IAT homens - mulheres")

p1 = iat %>% 
    ggplot(aes(x = sex, y = d_art)) +
    geom_quasirandom(width = .1) + 
    stat_summary(geom = "point", fun.y = "mean", color = "red", size = 5)

p2 = ci %>%
    ggplot(aes(
        x = "",
        y = statistic,
        ymin = conf.low,
        ymax = conf.high
    )) +
    geom_pointrange() +
    geom_point(size = 3) + 
    ylim(-1, 1) + 
    labs(x = "Diferença", 
         y = "IAT homens - mulheres")

grid.arrange(p1, p2, ncol = 2)

Conclusão

As participantes do experimento, em média, apresentaram uma associação implícita com a matemática de caráter negativo e de intensidade moderada, conforme mensurado pelo IAT (média = 0,52; desvio padrão = 0,45; N = 176). Já os homens demonstraram uma associação positiva com a matemática, com uma média inferior (média = 0,16; desvio padrão = 0,48; N = 91). Isso revela uma diferença significativa entre os grupos (diferença entre as médias = -0,36; intervalo de confiança de 95%: [-0,485, -0,245]). Com base nesses dados, pode-se inferir que as mulheres, nesta amostra, tendem a apresentar uma associação implícita mais negativa em relação à matemática do que os homens, sugerindo uma distinção perceptível nas atitudes implícitas conforme o sexo.

Análise de uma replicação

compute_bootstrap_ci <- function(dataset, num_iter = 2000, conf_level = 0.95) {
  n <- nrow(dataset)
  boot_diffs <- numeric(num_iter)
  
  for (rep in seq_len(num_iter)) {
    resample <- dataset[sample(n, replace = TRUE), ]
    
    avg_men <- mean(resample$d_art[resample$sex == "m"])
    avg_women <- mean(resample$d_art[resample$sex == "f"])
    
    boot_diffs[rep] <- avg_men - avg_women
  }
  
  est_diff <- mean(boot_diffs)
  original_diff <- mean(dataset$d_art[dataset$sex == "m"]) - 
                   mean(dataset$d_art[dataset$sex == "f"])
  boot_bias <- est_diff - original_diff
  se_boot <- sd(boot_diffs)
  
  alpha <- 1 - conf_level
  ci_limits <- quantile(boot_diffs, probs = c(alpha / 2, 1 - alpha / 2))
  
  dplyr::tibble(
    estimate = est_diff,
    bias = boot_bias,
    std_error = se_boot,
    ci_lower = ci_limits[1],
    ci_upper = ci_limits[2]
  )
}

# Executando a função com os dados do IAT
ci_result <- compute_bootstrap_ci(iat)
ci_result
## # A tibble: 1 × 5
##   estimate      bias std_error ci_lower ci_upper
##      <dbl>     <dbl>     <dbl>    <dbl>    <dbl>
## 1   -0.362 -0.000659    0.0615   -0.485   -0.243
ci_result %>%
  ggplot(aes(
    x = "",
    y = estimate,
    ymin = ci_lower,
    ymax = ci_upper
  )) +
  geom_pointrange(color = "steelblue") +
  geom_point(size = 3, color = "darkred") +
  labs(
    x = "Comparação",
    y = "Diferença média (homens - mulheres, IAT)"
  ) +
  theme_minimal()

Conclusão

Análise com Implementação Própria de Bootstrap

A partir de uma implementação própria do método Bootstrap, verificou-se que:

  • As mulheres participantes apresentaram, em média, uma associação implícita negativa com a matemática, conforme medida pelo IAT (média = 0.52, desvio padrão = 0.45, N = 176).
  • Os homens, por outro lado, apresentaram uma associação implícita positiva (média = 0.16, desvio padrão = 0.48, N = 91).
  • A diferença entre as médias foi de -0.362, com um intervalo de confiança de 95% estimado em [-0.483, -0.24].

Esses resultados indicam que, na amostra analisada, as mulheres demonstraram uma associação negativa com a matemática moderadamente mais forte do que os homens, sugerindo a presença de uma diferença significativa nas atitudes implícitas entre os sexos.

Comparação entre Implementação Própria e Biblioteca boot

Diferença das Médias:

  • Implementação própria: -0.362
  • Biblioteca boot: -0.361

Intervalos de Confiança (IC 95%):

  • Implementação própria: [-0.483, -0.24]
  • Biblioteca boot: [-0,485, -0,245]

As diferenças entre os métodos são mínimas e não comprometem a interpretação geral dos resultados. Ambas as abordagens convergem para a mesma conclusão: mulheres apresentam uma associação implícita negativa mais acentuada com a matemática do que homens.

Justificativa do Método de Intervalo de Confiança

O método percentil foi adotado na implementação própria por ser:

  • Simples de aplicar;
  • Amplamente utilizado na literatura;
  • Considerado robusto em diversas situações empíricas.