O radar de velocidade também tem tolerância.
Numa via de 60 km/h, o radar marca 61. Você passou do limite? Depende da tolerância do aparelho. Se ele pode errar 2 km/h para mais ou para menos, 61 pode ser 59. Quem é honesto responde: "com certeza acima, não; talvez".
Um arquivo de medições comprimido tem a mesma situação. O TUBE guarda cada medição com uma tolerância combinada: o valor guardado nunca se afasta do original mais do que, digamos, 0,5 °C. Quem pergunta "quantas vezes passou de 80 °C?" precisa levar essa tolerância em conta, ou vai errar exatamente nos casos que importam, os que ficaram perto do limite.
O CLAMP separa as medições em três grupos: as que com certeza passaram (mesmo descontando a tolerância), as que com certeza não passaram, e as que ficaram na borda. A resposta sai como um intervalo: no mínimo as certas, no máximo as certas mais as da borda. A verdade está sempre dentro.
Abrir só as horas que não dá para decidir de fora.
O TUBE guarda o arquivo em blocos de medições, e ao lado de cada bloco anota o menor e o maior valor dele, em 2 a 4 bytes. É como a etiqueta de uma caixa de arquivo morto: "notas de 2019, de janeiro a março".
Para a pergunta "passou de 80 °C?", o CLAMP lê primeiro as etiquetas. Se o maior valor de um bloco, somado à tolerância, ainda fica abaixo de 80, o bloco inteiro está abaixo, com prova, e nem é aberto. Se o menor valor, descontada a tolerância, já fica acima, o bloco inteiro está acima, e a etiqueta basta. Só os blocos que cruzam o limite são abertos.
Quando o evento é raro, isso é quase nada: numa pergunta sobre o 0,1% mais alto de 100 mil medições, o CLAMP abriu 2 de 391 blocos. E o intervalo que sai é idêntico ao de abrir tudo.
Provar que algo não aconteceu custa ainda menos: se nenhuma etiqueta chega perto do limite, a resposta é [0, 0] sem abrir bloco nenhum.
Em dado real, lendo pouco do arquivo.
Rodamos a mesma pergunta em cinco conjuntos de dados públicos, cada um com a sua régua de lei ou de segurança. Em todos, o intervalo continha a resposta verdadeira.
Na usina a carvão, a pergunta da lei americana (quantas horas a emissão de NOx passou do limite de 0,15?) deu [162, 162]: resposta exata, sem nenhuma hora na borda. No voo, "quantas medições passaram de 25° de inclinação?" deu [612, 620], com a verdade em 616, lendo 2,3% do registro.
No monitoramento do tratado de testes nucleares, provar que não houve sinal num sismômetro custou zero blocos abertos.
O contraste que importa: o jeito comum de responder rápido é sortear uma parte do dado e dar uma margem de 95%. Em 2.000 perguntas, esse método errou a verdade 102 vezes (5,1%). O CLAMP errou 0.
| Caso (dado público) | Pergunta | Resposta garantida | Verdade | Arquivo lido |
|---|---|---|---|---|
| Usina Barry (EUA), 2023 · demo | horas com NOx acima de 0,15 | [162, 162] | 162 | — |
| Voo NASA DASHlink · demo | medições com inclinação acima de 25° | [612, 620] | 616 | 2,3% |
| Sismômetro EKB5, Escócia · demo | houve sinal acima do limiar? | [96, 102] | 100 | 11% |
| Sismômetro EKB10, Escócia | prove que nada passou | [0, 0] | 0 | 0% |
| Bitcoin, 1 dia, 638.484 negócios · demo | negócios fora da faixa de ±0,5% | [795, 795] | 795 | 0,14% |
| Glicose contínua (Colás 2019) · demo | tempo na faixa 70–180 mg/dL, com a precisão legal do sensor (±15) | [84,2%, 95,3%] | relatado 90,3% | — |
O caso da glicose mostra o outro lado: quando a tolerância é grande perto da decisão, o intervalo fica largo, e isso é informação. Um estudo que anuncia "o tempo na faixa subiu de 65% para 72%" pode não significar nada quando se conta a precisão do sensor.
Quando o número vai ser cobrado de alguém.
Limite escrito em lei ou contrato
Emissão, qualidade de execução na bolsa, exposição a vibração. A pergunta "passou do limite?" tem consequência, e o valor em 0,1499 contra 0,1501 decide.
Auditoria meses depois
O auditor refaz a conta a partir do arquivo guardado e chega ao mesmo intervalo, sem precisar confiar em quem respondeu da primeira vez.
Provar que algo não aconteceu
"Nenhum teste nuclear", "nenhuma inclinação acima do limite nesse voo": a prova de ausência sai das etiquetas, sem abrir o arquivo.
Onde não vale a pena
Se ninguém vai contestar o número, um painel comum basta. E se a tolerância do arquivo é grande perto do limite que importa, o intervalo sai largo; aí a resposta certa é guardar com tolerância menor.
Quanto cada medição guardada pode se afastar da original. É escolhida antes, por quem usa o dado, e o TUBE garante que nunca é ultrapassada.
A resposta na forma [mínimo, máximo], com a verdade sempre dentro. Não é "provavelmente dentro": é dentro, e dá para conferir.
Mostrar que algo não aconteceu, só com as etiquetas dos blocos. Custa quase nada e vale tanto quanto achar o evento.
Onde isso pode estar errado.
O intervalo alarga perto do limite
Numa soma de 100 mil medições, o intervalo tem largura de 0,08% sem filtro, mas chega a 2,9% quando a pergunta é sobre o topo de 3%, porque ali muitas medições ficam na borda. A largura é o preço honesto da tolerância.
Depende do arquivo ter tolerância garantida
O CLAMP funciona sobre dado guardado com tolerância garantida por medição, como o do TUBE. Sobre um arquivo que só promete "erro médio pequeno", não há o que garantir.
O concorrente foi medido pelo método, não pelo produto
O "5,1% de erro por sorteio" vem do método que os sistemas de consulta aproximada usam (sortear e dar margem de 95%), rodado por nós. Rodar o produto concorrente instalado ainda está no roteiro.
Não é o primeiro a dar intervalo
Pesquisas anteriores já davam intervalos garantidos para alguns tipos de compressão. O diferencial do CLAMP é funcionar com qualquer compressor que garanta a tolerância por medição.
← Telemetria certificada · stickybit.com.br
- Medições próprias com a biblioteca CLAMP (Go): intervalos em 100 mil medições com tolerância ±0,05; leitura por blocos (2 de 391 no topo de 0,1%); comparação com sorteio e margem de 95% em 2.000 perguntas (102 erros contra 0).
- Demos com dado público: EPA CAMPD, usina Barry, 2023 · NASA DASHlink · IMS/CTBTO, arranjo de Eskdalemuir · Binance BTCUSDT, um dia · Colás 2019 (PLOS ONE) · índice por bloco, 24 h de temperatura.
- Trabalhos anteriores: Plato (PVLDB 2020), DAQ (VLDB 2015), PilotDB e B-AQP (2025), para intervalos em consultas aproximadas.