Mapa da aula
Aula 06 publicada. Mapa, exemplo, EX033.
flowchart TD
N0["6.1 Execução principal"]
N1["6.2 Visão geral dos resultados"]
N2["6.3 Estudo de concordância"]
N3["Laboratório — concordância entre peritos"]
N4["6.4 Interpretando o kappa"]
N5["6.5 Discordâncias"]
N6["6.6 Relato"]
N7["6.7 Dados ausentes"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
N7 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX033"]
Desenho lógico
flowchart LR
N0["6.1 Execução principal"]
N1["6.2 Visão geral dos resultados"]
N2["6.3 Estudo de concordância"]
N3["Laboratório — concordância entre peritos"]
N4["6.4 Interpretando o kappa"]
N5["6.5 Discordâncias"]
N6["6.6 Relato"]
N7["6.7 Dados ausentes"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX033"]
[6.1 Execução principal]
|
v
[6.2 Visão geral dos resultados]
|
v
[6.3 Estudo de concordância]
|
v
[Laboratório — concordância entre peritos]
|
v
[6.4 Interpretando o kappa]
|
v
[6.5 Discordâncias]
|
v
[6.6 Relato]
|
v
[6.7 Dados ausentes]
|
v
[Exemplo resolvido] --> [Exercício EX033]
Objetivos de aprendizagem
Você vai (1) conduzir o estudo principal em condições fixas; (2) medir a concordância entre peritos com o kappa de Cohen; (3) analisar a redução em função da atualidade da referência; (4) relatar resultados com contagens.
6.1 Execução principal
Trinta imagens sintéticas, conjunto de referência congelado, versões de ferramentas registradas. Cada imagem produz redução, perdas e dias desde o lançamento da referência. Cada imagem segue os mesmos passos: construção a partir da semente registrada, cálculo de hash com a ferramenta validada, filtragem contra a versão congelada da NSRL e comparação dos resultados com os rótulos. Cada execução grava uma entrada de registro com a imagem, as versões e os resultados. Tomás confere algumas imagens à mão para confirmar que os scripts contam os arquivos corretamente. A execução principal usa o construtor de imagens revisado, que inclui aplicativos comuns de terceiros.
6.2 Visão geral dos resultados
A redução média é alta quando a versão do sistema operacional antecede o lançamento da referência e cai à medida que o intervalo cresce. As perdas projetadas (ferramentas legítimas com uso ilegítimo plantado, documentos de fornecedores) são todas postas de lado — a filtragem não consegue distingui-las por hash. A relação entre a redução e o intervalo até o lançamento da referência confirma o que o piloto sugeria. As perdas projetadas mostram o limite do hash: uma ferramenta legítima usada para causar dano e um documento de fornecedor não modificado são idênticos a arquivos publicados, de modo que nenhuma comparação de hash consegue distingui-los de suas cópias legítimas. Tomás relata as perdas por tipo com suas contagens, separando as ferramentas legítimas usadas para causar dano dos documentos de fornecedores idênticos a entradas da NSRL.
6.3 Estudo de concordância
Dois peritos classificam 40 eventos de linha do tempo, extraídos dos arquivos restantes, como atividade de usuário ou de sistema. A concordância mostra se o conjunto reduzido pode ser interpretado de forma consistente. Usar eventos dos conjuntos reduzidos testa se o que resta depois da filtragem pode ser lido de forma consistente por peritos diferentes. Os peritos trabalham separadamente, com um guia de codificação escrito, e não conhecem a hipótese do estudo nem quais arquivos foram plantados. Suas classificações são comparadas evento a evento, e cada discordância é registrada com as duas respostas. Os peritos vêm de duas unidades, como planejado.
Laboratório — concordância entre peritos
"""Cohen's kappa for two examiners classifying 40 synthetic timeline events."""
a = ["user"]*18 + ["system"]*14 + ["user"]*4 + ["system"]*4
b = ["user"]*18 + ["system"]*14 + ["system"]*4 + ["user"]*4
n = len(a); po = sum(x == y for x, y in zip(a, b)) / n
pe = sum((a.count(c)/n) * (b.count(c)/n) for c in ("user", "system"))
print(f"events={n} observed_agreement={po:.2f} expected={pe:.2f} kappa={(po-pe)/(1-pe):.2f}")
Execute com python3 lab_kappa.py. Saída verificada:
events=40 observed_agreement=0.80 expected=0.51 kappa=0.60
6.4 Interpretando o kappa
A concordância observada é 0,80, mas o acaso sozinho daria 0,505, dadas as proporções de categorias de cada perito (o laboratório imprime esse valor arredondado para 0,51). O kappa = (0,80 − 0,505) / (1 − 0,505) = 0,596, relatado como 0,60, corrige o acaso. Landis e Koch (1977) propuseram rótulos nos quais 0,41–0,60 é "moderado"; Tomás cita os rótulos como convenção, não como lei. Os dois peritos usaram as duas categorias nas mesmas proporções, 22 eventos de usuário e 18 de sistema cada um, de modo que o acaso sozinho produziria uma coincidência cerca de metade das vezes. O kappa mostra quanto a concordância excede esse nível. Tomás relata a concordância observada, a concordância por acaso, o kappa e o número de eventos, para que os leitores possam conferir o cálculo e julgar o resultado por si mesmos.
6.5 Discordâncias
As oito discordâncias envolvem tarefas agendadas que rodaram sob uma conta de usuário. A definição da categoria era ambígua; ele registra isso como um achado para o guia de codificação. Uma tarefa agendada que roda sob uma conta de usuário pode razoavelmente ser lida das duas formas: foi configurada por um usuário, mas roda automaticamente. O guia de codificação não dizia qual categoria se aplicava, de modo que cada perito fez uma escolha sensata. Tomás não conta as discordâncias como erro dos peritos. Ele revisa o guia para definir essas tarefas explicitamente e recomenda que futuros estudos de concordância testem a definição revisada.
6.6 Relato
As tabelas mostram contagens por imagem; os gráficos plotam a redução contra os dias de intervalo. Cada número tem um script e uma entrada de registro. Plotar a redução contra o intervalo mostra a relação com mais clareza do que uma média mostraria. As tabelas também listam as perdas por imagem, para que os leitores vejam que as perdas projetadas foram postas de lado em todas as imagens em que foram plantadas. Tomás confere cada tabela contra os registros antes de incluí-la na dissertação. Os gráficos usam os mesmos eixos para todos os grupos de imagens, para que possam ser comparados diretamente.
6.7 Dados ausentes
Uma imagem falhou na construção; ele relata 29 analisadas de 30 planejadas, com a razão. A imagem que falhou é relatada, não substituída, como exigia a regra de parada. O registro de construção mostrou que o construtor de imagens parou ao instalar um aplicativo, e a imagem nunca foi filtrada. Tomás registra a falha e sua causa no capítulo de resultados, para que os leitores saibam que a análise cobre 29 imagens. Ele também confere que a imagem que falhou não era incomum em nenhuma variável planejada, de modo que sua ausência dificilmente muda os resultados.
Scripts de análise
Um script calcula a redução e as perdas por imagem; outro plota a redução contra os dias de intervalo; um terceiro calcula o kappa. Cada um grava suas saídas com um hash, para que as tabelas possam ser conferidas depois contra o arquivo, e cada execução é anotada no registro com sua data e seus parâmetros.
Exemplo resolvido
Tomás rascunha: "O kappa foi 0,60 (observada 0,80, acaso 0,505, n = 40). As discordâncias se concentraram em tarefas agendadas sob contas de usuário; o guia de codificação vai defini-las explicitamente."
Caso sintético. Os dados de concordância vêm do script do laboratório.
Erros e limites
Dois peritos e 40 eventos dão um kappa impreciso; é uma estimativa de viabilidade.
Exercícios
- EX033 — Valores do kappa. Relate a concordância observada, a concordância por acaso e o kappa.
Mostrar critérios de avaliação
Rubrica: 3 = 0,80, 0,505, 0,60; 2 = dois; 1 = um; 0 = nada. - EX034 — Por que kappa. Por que não relatar apenas a concordância observada?
Mostrar critérios de avaliação
Rubrica: 3 = corrige a concordância por acaso; 2 = parcial; 1 = sem razão; 0 = nada. - EX035 — Cautela com rótulos. Como o rótulo "moderado" deve ser apresentado?
Mostrar critérios de avaliação
Rubrica: 3 = como convenção de Landis–Koch; 2 = parcial; 1 = como fato; 0 = nada. - EX036 — Origem das discordâncias. O que causou as discordâncias?
Mostrar critérios de avaliação
Rubrica: 3 = tarefas agendadas sob contas de usuário; definição ambígua; 2 = parcial; 1 = erro dos peritos; 0 = nada. - EX037 — Perdas projetadas. Por que todas as perdas projetadas foram postas de lado?
Mostrar critérios de avaliação
Rubrica: 3 = os hashes são iguais aos de arquivos publicados; a filtragem não julga o uso; 2 = parcial; 1 = defeito da ferramenta; 0 = nada. - EX038 — Imagem ausente. Como a imagem que falhou é relatada?
Mostrar critérios de avaliação
Rubrica: 3 = 29 de 30, com a razão; 2 = parcial; 1 = escondida; 0 = nada.
Síntese
Relate a execução principal com contagens, corrija a concordância pelo acaso e trate a ambiguidade como um achado.
Continue estudando — capítulo 06 de 08
← Capítulo 05 (rascunho) · Índice de capítulos do curso · Capítulo 07 (rascunho) →