Capítulo 5 — Estudo principal e validação independente
Mapa da aula
Aula 05 publicada. Mapa, exemplo, EX027.
flowchart TD
N0["5.1 Desenho"]
N1["Laboratório — revocação com intervalos"]
N2["5.2 Lendo o resultado"]
N3["5.3 Por que intervalos"]
N4["5.4 Validação independente"]
N5["5.5 Interpretação"]
N6["5.6 Desvios"]
N7["Planejamento do tamanho da amostra"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
N7 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX027"]
Desenho lógico
flowchart LR
N0["5.1 Desenho"]
N1["Laboratório — revocação com intervalos"]
N2["5.2 Lendo o resultado"]
N3["5.3 Por que intervalos"]
N4["5.4 Validação independente"]
N5["5.5 Interpretação"]
N6["5.6 Desvios"]
N7["Planejamento do tamanho da amostra"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX027"]
[5.1 Desenho]
|
v
[Laboratório — revocação com intervalos]
|
v
[5.2 Lendo o resultado]
|
v
[5.3 Por que intervalos]
|
v
[5.4 Validação independente]
|
v
[5.5 Interpretação]
|
v
[5.6 Desvios]
|
v
[Planejamento do tamanho da amostra]
|
v
[Exemplo resolvido] --> [Exercício EX027]
Objetivos de aprendizagem
Você vai (1) conduzir o estudo principal em condições controladas; (2) relatar a revocação com estimativas intervalares; (3) organizar uma validação independente; (4) interpretar os resultados sem exagero.
5.1 Desenho
Três condições — imagens contíguas, 10% fragmentadas e 30% fragmentadas —, cada uma com 50 arquivos-alvo gerados a partir de sementes registradas. O carver de linha de base é executado nas três; as saídas são pontuadas por hash contra os manifestos. Com 50 arquivos por condição, cada valor de revocação se apoia numa contagem, como 48 de 50 arquivos contíguos recuperados intactos. As sementes estão listadas no pré-registro, de modo que ninguém pode depois trocar uma imagem incômoda por outra mais conveniente. O pontuador roda sem mudanças desde o piloto, e sua tag é impressa com cada tabela de resultados.
Laboratório — revocação com intervalos
"""Lab (ch 05): recall per synthetic test image with Wilson 95% intervals (stdlib only)."""
from math import sqrt
def wilson(k, n, z=1.96):
p = k / n; d = 1 + z*z/n
c = (p + z*z/(2*n)) / d; h = z*sqrt(p*(1-p)/n + z*z/(4*n*n)) / d
return round(c - h, 3), round(c + h, 3)
runs = {"img-contig": (48, 50), "img-frag10": (41, 50), "img-frag30": (29, 50)}
for name, (k, n) in runs.items():
print(name, f"recall={k/n:.2f}", "CI95=", wilson(k, n))
Execute com python3 lab_wilson.py. Saída verificada:
img-contig recall=0.96 CI95= (0.865, 0.989)
img-frag10 recall=0.82 CI95= (0.692, 0.902)
img-frag30 recall=0.58 CI95= (0.442, 0.706)
5.2 Lendo o resultado
A revocação é 0,96 nas imagens contíguas (intervalo de Wilson de 95%: 0,865–0,989), 0,82 com 10% de fragmentação (0,692–0,902) e 0,58 com 30% (0,442–0,706). A revocação cai à medida que a fragmentação aumenta, o que sustenta H1. Os intervalos das condições contígua e de 30% não se sobrepõem; o intervalo de 10% se sobrepõe aos dois vizinhos, de modo que o estudo não consegue distinguir com confiança a condição de 10% de nenhum dos extremos com este tamanho de amostra. Ines redige isso com cuidado porque os dados sustentam uma tendência, não uma curva precisa. Sua tese relata os três intervalos numa só tabela e evita dizer que 10% de fragmentação causa uma queda específica. As estimativas pontuais são contagens de 48, 41 e 29 arquivos recuperados de 50.
5.3 Por que intervalos
Um número único esconde a incerteza. Laboratórios que citam uma taxa de erro precisam de sua faixa. O intervalo de Wilson se comporta melhor do que a aproximação normal simples quando as proporções estão perto de 0 ou de 1. Os próprios valores de Ines mostram por quê. Uma revocação contígua de 0,96 a partir de 50 arquivos poderia refletir uma taxa verdadeira em qualquer ponto entre cerca de 0,87 e 0,99, e um laboratório que use o carver deveria planejar em torno do limite inferior. Relatar apenas 0,96 convidaria os leitores a tratar o método como quase perfeito em mídias não fragmentadas. Ines calcula o intervalo de Wilson em seu próprio script e o imprime ao lado de cada contagem.
5.4 Validação independente
Um segundo laboratório, que recebe o gerador, as sementes e o carver, refaz o estudo. A ISO/IEC 27042 enfatiza a repetibilidade (mesmo laboratório, mesmo método) e a reprodutibilidade (laboratório ou operador diferente). Hashes de saída coincidentes demonstram reprodutibilidade. O segundo laboratório não recebe resultados de antemão, apenas o gerador, as sementes, o carver, o pontuador e o README, de modo que sua execução testa o arquivo de reprodutibilidade além do método. Ines compara os hashes de saída e as contagens de revocação dele com os seus, condição por condição, e registra cada diferença com sua causa, em vez de tirar a média das duas execuções.
5.5 Interpretação
O achado se aplica ao carving por cabeçalho e rodapé de arquivos do tipo JPEG nestas imagens sintéticas. Ele não declara taxas de erro do mundo real para nenhuma ferramenta comercial. Ines repete esse limite no resumo, no capítulo de resultados e na conclusão, para que nenhuma frase isolada possa ser citada sem suas condições. Um laboratório que queira uma taxa de erro para seu próprio carver em suas próprias mídias precisa fazer sua própria validação; o gerador dela lhe dá um meio de fazê-lo. O achado não pode ordenar ferramentas nem prever a revocação em nenhum disco real.
5.6 Desvios
Uma semente produziu uma imagem com um padrão de cabeçalho extra acidental no ruído; ela é mantida e relatada, não removida, porque remover dados incômodos enviesa os resultados. Ines também registra uma mudança de escopo. O método de remontagem listado entre os métodos comparados não foi executado no estudo principal; as medidas pré-registradas cobriam apenas a linha de base, por isso a comparação com a remontagem passou para trabalho futuro e o enunciado da contribuição foi revisado para corresponder. A imagem ruidosa permanece na condição de 30%, e seu efeito é descrito no registro de desvios.
Planejamento do tamanho da amostra
Antes da execução principal, Ines confere quão largos seriam os intervalos para diferentes quantidades de arquivos. Com 50 arquivos, uma revocação observada perto de 0,8 dá um intervalo de cerca de 0,2 de largura. Reduzir essa largura à metade exige cerca de quatro vezes mais arquivos; ela reserva orçamento para isso no estudo ampliado.
Exemplo resolvido
Os números do laboratório de validação coincidem exatamente em duas condições, mas diferem em um arquivo na de 30%. A investigação mostra que ele usou uma versão mais nova do Python, cujo gerador aleatório se comportava de outra forma numa função auxiliar. Ines fixa as versões no arquivo de reprodutibilidade e registra a discrepância.
Caso sintético. Os valores são material didático inventado.
Erros e limites
Cinquenta arquivos por condição dão intervalos largos; mais imagens os estreitariam.
Exercícios
- EX027 — Leitura do intervalo. Declare a revocação e o intervalo de 95% com 30% de fragmentação. Rubrica: 3 = 0,58, 0,442–0,706; 2 = um; 1 = errado; 0 = nada.
- EX028 — Significado da sobreposição. O que implica a sobreposição do intervalo de 10% com os dois vizinhos? Rubrica: 3 = não é possível distinguir com este tamanho de amostra; 2 = parcial; 1 = significativo; 0 = nada.
- EX029 — Escolha de Wilson. Por que usar o intervalo de Wilson? Rubrica: 3 = melhor perto de 0/1 do que a aproximação normal; 2 = parcial; 1 = sem razão; 0 = nada.
- EX030 — Repetir vs. reproduzir. Distinga repetibilidade de reprodutibilidade. Rubrica: 3 = mesmo laboratório/operador vs. diferente; 2 = parcial; 1 = iguais; 0 = nada.
- EX031 — Semente estranha. Por que manter a imagem com um padrão de cabeçalho acidental? Rubrica: 3 = remover dados incômodos enviesa; relatá-la; 2 = parcial; 1 = excluir; 0 = nada.
- EX032 — Deriva de versão. O que causou a discrepância da validação, e qual foi a correção? Rubrica: 3 = diferença de versão do Python; fixar versões; 2 = um; 1 = vago; 0 = nada.
Síntese
Conduza condições controladas, relate intervalos, busque reprodução independente e limite a interpretação ao que foi testado.
Continue estudando — capítulo 05 de 08
← Capítulo 04 (rascunho) · Índice de capítulos do curso · Capítulo 06 (rascunho) →