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
- EX033 — Mudança com curadores. Como mudaram os tempos de correção com curadores?
Mostrar critérios de avaliação
Rubrica: 3 = de 24,1 para 14,8 dias;; 2 = parcialmente correto;; 1 = errado;; 0 = nenhuma. - EX034 — Estimativa DiD. Qual foi a estimativa de diferenças em diferenças?
Mostrar critérios de avaliação
Rubrica: 3 = -7,0 dias;; 2 = parcialmente correto;; 1 = errado;; 0 = nenhuma. - EX035 — Intervalo. Qual foi o intervalo de 95%?
Mostrar critérios de avaliação
Rubrica: 3 = de -9,1 a -4,8 dias;; 2 = parcialmente correto;; 1 = errado;; 0 = nenhuma. - EX036 — Limiar atingido. O intervalo ultrapassa o limiar de cinco dias?
Mostrar critérios de avaliação
Rubrica: 3 = sim, inteiramente;; 2 = parcialmente correto;; 1 = não;; 0 = nenhuma. - EX037 — Rival cultural. Por que a rival cultural fica enfraquecida?
Mostrar critérios de avaliação
Rubrica: 3 = a tributação melhorou sem compartilhamento prévio;; 2 = parcialmente correto;; 1 = vago;; 0 = nenhuma. - EX038 — Mecanismo. Que mecanismo as entrevistas sugeriram?
Mostrar critérios de avaliação
Rubrica: 3 = padrão único de endereço e propagação semanal;; 2 = ambos;; 1 = um;; 0 = nenhuma.