OpenCyber Academy
Mestrado · Capítulo 6 · Português
Código do curso: OCA-164Capítulo 06: OCA-164-C006

Capítulo 6 — Coleta e análise de dados

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Mapa da aula

Aula 06 publicada. Mapa, exemplo, EX033.

flowchart TD
  N0["6.1 Coletando os dados"]
  N1["6.2 A estimativa"]
  N2["6.3 Verificando as rivais"]
  N3["6.4 O que a estimativa significa"]
  N4["Laboratório — Diferenças em diferenças dos tempos de"]
  N0 --> N1 --> N2 --> N3 --> N4
  N4 --> EX["Exemplo resolvido"]
  EX --> Q["Exercício EX033"]

Desenho lógico

flowchart LR
  N0["6.1 Coletando os dados"]
  N1["6.2 A estimativa"]
  N2["6.3 Verificando as rivais"]
  N3["6.4 O que a estimativa significa"]
  N4["Laboratório — Diferenças em diferenças dos tempos de"]
  N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX033"]
[6.1 Coletando os dados]
    |
    v
[6.2 A estimativa]
    |
    v
[6.3 Verificando as rivais]
    |
    v
[6.4 O que a estimativa significa]
    |
    v
[Laboratório — Diferenças em diferenças dos tempos de]
    |
    v
[Exemplo resolvido] --> [Exercício EX033]

Objetivos de aprendizagem

Você vai (1) coletar dados de desfecho no nível do departamento; (2) estimar um efeito de diferenças em diferenças com intervalo por bootstrap; (3) verificar as explicações rivais.

6.1 Coletando os dados

Tomás extrai os tempos de correção de seis meses antes e seis meses depois do piloto, 120 correções por grupo em cada período, usando a definição do piloto. A extração segue um script escrito e revisado pela equipe de dados da prefeitura, que o executa dentro dos sistemas do órgão e devolve apenas tabelas no nível do departamento. A análise deste livro reproduz essas tabelas com dados sintéticos gerados a partir dos mesmos números agregados, para que qualquer leitor possa executá-la sem acesso aos sistemas da prefeitura nem aos dados dos moradores. Nada identificável sai do órgão.

6.2 A estimativa

O laboratório mostra o tempo médio de correção nos departamentos com curadores caindo de 24,1 para 14,8 dias, enquanto os departamentos de comparação passam de 21,9 para 19,6 dias. A estimativa de diferenças em diferenças é de -7,0 dias, com intervalo de 95% por bootstrap de -9,1 a -4,8 dias, com base em 2.000 reamostragens. Todo o intervalo fica além do limiar de cinco dias fixado de antemão, de modo que o efeito do piloto é estatisticamente claro e relevante na prática, segundo o critério que Tomás definiu antes de ver os dados. Os departamentos de comparação também melhoraram um pouco, cerca de dois dias, talvez por causa da ferramenta de consulta comum, e o desenho subtrai essa mudança comum do ganho dos departamentos com curadores.

6.3 Verificando as rivais

Os volumes de erros são estáveis nos dois grupos, então uma carga de trabalho menor não explica a mudança. Os dados de tempo de casa não mostram deslocamento de servidores experientes. Os resultados mensais mostram melhora ao longo dos seis meses, sem se dissipar, o que pesa contra um puro efeito de novidade. No grupo com curadores, os dois departamentos melhoram, inclusive a tributação, que não tinha compartilhamento informal prévio, o que enfraquece a rival cultural. Tomás relata cada verificação em uma tabela ao lado da estimativa principal, para que os leitores julguem até que ponto as rivais foram tratadas.

6.4 O que a estimativa significa

Tomás interpreta o resultado com cuidado: nesta reprodução sintética do piloto de uma prefeitura, nomear curadores com direitos de decisão sobre padrões de endereço esteve associado a correções que chegaram a todos os sistemas cerca de uma semana antes. As entrevistas sugerem o mecanismo: os curadores acordaram um padrão único de endereço e uma rotina semanal de propagação. Ele evita afirmar que a curadoria funciona em qualquer lugar. A Dra. Solberg observa que essa redação cuidadosa respeita tanto a evidência quanto os limites de um piloto com dois departamentos. Outras prefeituras podem diferir em pessoal, sistemas e número de departamentos que mantêm endereços.

Laboratório — Diferenças em diferenças dos tempos de correção com intervalo por bootstrap

"""Difference-in-differences of days to fix address errors, stewarded vs comparison departments, with bootstrap CI (stdlib only)."""
import random, statistics as st
random.seed(30)
def sample(mu, n): return [max(1, random.gauss(mu, 6)) for _ in range(n)]
treat_pre, treat_post = sample(24, 120), sample(15, 120)
comp_pre, comp_post = sample(22, 120), sample(19, 120)
def did(a, b, c, d): return (st.mean(b) - st.mean(a)) - (st.mean(d) - st.mean(c))
est = did(treat_pre, treat_post, comp_pre, comp_post)
boots = sorted(did(*(random.choices(x, k=len(x)) for x in (treat_pre, treat_post, comp_pre, comp_post))) for _ in range(2000))
print(f"mean days: stewarded {st.mean(treat_pre):.1f} -> {st.mean(treat_post):.1f}; comparison {st.mean(comp_pre):.1f} -> {st.mean(comp_post):.1f}")
print(f"difference-in-differences {est:.1f} days (95% CI {boots[50]:.1f} to {boots[1949]:.1f})")

Execute com python3 lab_did.py. Saída verificada:

mean days: stewarded 24.1 -> 14.8; comparison 21.9 -> 19.6
difference-in-differences -7.0 days (95% CI -9.1 to -4.8)

Exemplo resolvido

Tomás estima uma diferença em diferenças de -7,0 dias (IC 95% de -9,1 a -4,8), além do limiar de cinco dias, verifica as rivais de volume, tempo de casa, novidade e cultura e identifica como mecanismo um padrão único e uma propagação semanal.

Caso sintético. Os dados são sintéticos.

Erros e limites

Um intervalo por bootstrap reflete a variação amostral, não o viés do desenho.

Exercícios

Respostas comentadas

EX033. De 24,1 para 14,8 dias.

EX034. -7,0 dias.

EX035. De -9,1 a -4,8 dias.

EX036. Sim, todo o intervalo fica além de cinco dias.

EX037. A tributação também melhorou, apesar de não ter compartilhamento informal prévio.

EX038. Um padrão único de endereço e uma rotina semanal de propagação.