Capítulo 4 — Replicação da linha de base e piloto
Mapa da aula
Aula 04 publicada. Mapa, exemplo, EX021.
flowchart TD
N0["4.1 Replicar primeiro"]
N1["4.2 A publicação piloto"]
N2["4.3 Células pequenas"]
N3["4.4 Contabilidade do orçamento"]
N4["Laboratório — Ruído de Laplace em contagens de orige"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX021"]
Desenho lógico
flowchart LR
N0["4.1 Replicar primeiro"]
N1["4.2 A publicação piloto"]
N2["4.3 Células pequenas"]
N3["4.4 Contabilidade do orçamento"]
N4["Laboratório — Ruído de Laplace em contagens de orige"]
N5["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX021"]
[4.1 Replicar primeiro]
|
v
[4.2 A publicação piloto]
|
v
[4.3 Células pequenas]
|
v
[4.4 Contabilidade do orçamento]
|
v
[Laboratório — Ruído de Laplace em contagens de orige]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX021]
Objetivos de aprendizagem
Você vai (1) replicar um resultado conhecido antes de estendê-lo; (2) implementar o mecanismo de Laplace sobre contagens; (3) interpretar o custo de precisão do épsilon nas células pequenas.
4.1 Replicar primeiro
Antes de confiar no próprio código, Ines replica uma propriedade de manual descrita por Dwork e Roth (2014): para o ruído de Laplace com escala de um sobre épsilon, o erro absoluto esperado é igual a um sobre épsilon. Se sua implementação produzisse uma média diferente, todos os resultados posteriores ficariam sob suspeita. Ela sorteia muitas amostras de ruído para cada épsilon e compara o erro absoluto médio com a teoria. A replicação é um passo pequeno, mas o Prof. Aaltonen insiste que ela apareça na tese, porque os examinadores precisam de evidência de que o instrumento funciona antes de considerar o que ele mede no contexto do transporte.
4.2 A publicação piloto
O piloto usa 100 contagens sintéticas de origem e destino, entre zero e 400 viagens por dia. Para cada épsilon da grade 0,1, 0,5, 1,0 e 2,0, o laboratório acrescenta ruído de Laplace vinte vezes a cada contagem. O erro absoluto médio é 9,91 com épsilon 0,1, 1,98 com 0,5, 0,98 com 1,0 e 0,51 com 2,0, muito próximo de um sobre épsilon. A replicação é aprovada. Ines observa que esses erros absolutos parecem minúsculos ao lado de contagens de várias centenas de viagens, e é exatamente por isso que o passo seguinte examina as células pequenas em separado, em vez de confiar em uma média. As células pequenas recebem verificações próprias.
4.3 Células pequenas
Os planejadores se preocupam sobretudo com as linhas pouco movimentadas, em que poucas viagens decidem se um ônibus continua a circular. O piloto contém cinco células com menos de vinte viagens por dia. Nelas, o erro relativo médio é de 94,1% com épsilon 0,1, 22,0% com 0,5, 9,3% com 1,0 e 5,0% com 2,0. Com épsilon 0,1, o número publicado é quase só ruído. Ines espera, portanto, que os planejadores rejeitem valores baixos de épsilon para as linhas pequenas, e acrescenta uma análise secundária pré-registrada que informa os erros separadamente para células pequenas e grandes, para que uma média não possa esconder o problema.
4.4 Contabilidade do orçamento
Cada tabela publicada gasta parte de um orçamento de privacidade, porque responder a várias consultas sobre os mesmos passageiros tem efeito cumulativo. Dwork e Roth descrevem como os valores de épsilon se combinam pela composição. A Valemont quer tabelas diárias durante um ano, então Ines precisa decidir se o épsilon igual a um vale por tabela, por dia ou por ano. Ela registra essa decisão no protocolo como uma pergunta explícita ao encarregado de proteção de dados da autoridade, porque ela muda a força da garantia em ordens de grandeza, e adverte que um épsilon por tabela repetido diariamente não pode ser descrito honestamente como uma proteção anual forte.
Laboratório — Ruído de Laplace em contagens de origem e destino
# Laplace mechanism on 100 synthetic origin-destination counts (sensitivity 1); error by epsilon.
import random, math
r = random.Random(3)
true = [r.randint(0, 400) for _ in range(100)]
def lap(b):
u = r.random() - 0.5
return -b * math.copysign(1, u) * math.log(1 - 2 * abs(u))
for eps in [0.1, 0.5, 1.0, 2.0]:
errs = [abs(lap(1 / eps)) for _ in true for _ in range(20)]
small = [t for t in true if t < 20]
rel = sum(abs(lap(1 / eps)) / max(t, 1) for t in small for _ in range(20)) / (20 * len(small))
print(f"epsilon {eps:3.1f} mean abs error {sum(errs)/len(errs):5.2f} mean relative error on {len(small)} small cells {rel:6.1%}")
Execute com python3 lab_laplace.py. Saída verificada:
epsilon 0.1 mean abs error 9.91 mean relative error on 5 small cells 94.1%
epsilon 0.5 mean abs error 1.98 mean relative error on 5 small cells 22.0%
epsilon 1.0 mean abs error 0.98 mean relative error on 5 small cells 9.3%
epsilon 2.0 mean abs error 0.51 mean relative error on 5 small cells 5.0%
Exemplo resolvido
Ines replica o erro de um sobre épsilon do mecanismo de Laplace (0,98 com épsilon 1,0), depois encontra um erro relativo de 94,1% nas células pequenas com épsilon 0,1 e leva a contabilidade do orçamento ao protocolo como uma decisão a tomar.
Caso sintético. As contagens são sintéticas e geradas com semente fixa; Dwork, McSherry, Nissim e Smith (2006) e Dwork e Roth (2014) são reais.
Erros e limites
Cinco células pequenas são poucas para estimativas precisas. Publicações reais também exigem pós-processamento, como o arredondamento de contagens negativas, que o piloto omite.
Exercícios
- EX021 — Propósito da replicação. Por que replicar o erro de um sobre épsilon antes de estudar os dados de transporte? Rubrica: 3 = confirma que o instrumento funciona, para que os resultados posteriores sejam confiáveis;; 2 = diz que é boa prática;; 1 = omite;; 0 = nenhuma.
- EX022 — Erro com épsilon um. Que erro absoluto médio o piloto encontrou com épsilon 1,0, e o que a teoria previa? Rubrica: 3 = 0,98 contra 1,0 previsto;; 2 = dá um número;; 1 = não dá nenhum;; 0 = nenhuma.
- EX023 — A média esconde o dano. Por que o erro absoluto médio pode esconder danos ao planejamento? Rubrica: 3 = ele faz a média sobre contagens grandes, enquanto as linhas pequenas sofrem grande erro relativo;; 2 = menciona as células pequenas;; 1 = confia na média;; 0 = nenhuma.
- EX024 — Erro nas células pequenas. Que erro relativo as células pequenas mostram com épsilon 0,5? Rubrica: 3 = 22,0%;; 2 = cerca de um quinto;; 1 = número errado;; 0 = nenhuma.
- EX025 — Pergunta de composição. Por que a Valemont precisa decidir se o épsilon vale por tabela, por dia ou por ano? Rubrica: 3 = publicações repetidas se compõem, então a garantia total depende da unidade de contabilização;; 2 = menciona tabelas repetidas;; 1 = ignora a composição;; 0 = nenhuma.
- EX026 — Contagens negativas. Que questão de pós-processamento o piloto omite? Rubrica: 3 = contagens com ruído podem ser negativas ou fracionárias e precisam ser tratadas sem quebrar a garantia;; 2 = menciona arredondamento;; 1 = diz que nenhuma;; 0 = nenhuma.
Síntese
O capítulo 4 replica o mecanismo e expõe o erro em células pequenas e a contabilidade do orçamento. O capítulo 5 conduz o estudo principal com um ataque independente.
Continue estudando — aula 04 (capítulo 04 de 08)
← Capítulo 03 · Índice das aulas · Capítulo 05 →
Continue para a próxima aula já escrita.