O Bug Era o Quanto Eu Busquei
Por um tempo, eu media a minha própria seriedade pelo tamanho da minha busca. Testei centenas de milhões de configurações de uma estratégia e, depois, quando isso parecia insuficiente, bilhões. Eu tinha orgulho do número. Parecia rigor — como se eu não estivesse deixando nenhuma possibilidade sem ser examinada.
Era mais perto do oposto de rigor. O tamanho puro e simples da busca não estava me ajudando a encontrar uma vantagem. Estava fabricando uma miragem e, quanto maior eu a fazia, mais convincente a miragem se tornava.
O orgulho que deveria ter sido um aviso
Eu costumava mencionar a escala da minha busca do jeito que alguém menciona quantas horas trabalhou: como evidência de esforço, de minúcia, de levar o problema a sério. Centenas de milhões de combinações avaliadas. Depois, mais. Há uma satisfação real em apontar para um número tão grande e dizer, na prática, olha como eu busquei de forma exaustiva.
A satisfação era o problema. Eu tinha, em silêncio, confundido o tamanho da busca com a qualidade do resultado, e essas duas coisas não são apenas não relacionadas — passado um certo ponto, elas puxam em direções opostas.
O que uma busca gigante de fato faz
Aqui está o mecanismo incômodo. Pegue qualquer fatia fixa da história e teste estratégias diferentes o suficiente contra ela, e algumas delas vão parecer espetaculares — não porque são boas, mas porque, dentre milhões de tentativas, algumas inevitavelmente vão se alinhar com os acidentes particulares do passado por pura sorte. Quanto mais configurações você testa, mais certeza você adquire de encontrar uma dessas casualidades, e mais extrema a casualidade mais sortuda vai parecer.
Então uma busca gigante não traz à tona, de forma confiável, a melhor estratégia real. O que ela traz à tona de forma confiável é a coincidência que melhor se ajusta — a configuração mais precisamente moldada às esquisitices aleatórias dos exatos dados que você buscou. E ela apresenta essa coincidência para você vestindo os resultados mais bonitos que você já viu.
Essa armadilha tem um nome
Nada disso é novo. É uma das armadilhas mais conhecidas de toda a estatística, com um pequeno museu de nomes: comparações múltiplas, dragagem de dados, p-hacking. O cerne dela é sempre o mesmo. Teste uma hipótese, e um resultado forte carrega informação. Teste um bilhão contra os mesmos dados, e a probabilidade de encontrar um resultado aparentemente excepcional apenas por acaso pode se tornar muito alta — havendo ou não algo real ali. Com tentativas suficientes, “excepcional por pura sorte” deixa de ser improvável.
Eu estava rodando um experimento de um bilhão de hipóteses e lendo o vencedor como se fosse uma única descoberta, conquistada a duras penas. Não era. Era o ruído mais alto em uma sala muito grande.
Por que parecia o oposto de overfitting
A parte cruel é o quanto parecia virtuoso. “Não deixe pedra sobre pedra” deveria ser um bom conselho. Mas não deixar pedra sobre pedra contra um único conjunto de dados fixo é uma das maneiras mais certas de garantir que você acabará revirando uma pedra que, por acaso, tem o formato de um tesouro. Minúcia contra uma única amostra não é o mesmo que rigor. Muitas vezes é só comprar para si mesmo mais e mais chances de ser enganado, e então ficar impressionado quando uma delas dá certo.
Eu achava que estava sendo cuidadoso. Eu estava sendo cuidadoso na única direção que tornava as coisas piores.
O sinal revelador: o vencedor nunca sobrevivia ao contato
A assinatura costumava ser a mesma, uma vez que aprendi a procurá-la. A configuração que vencia a busca enorme parecia incrível nos dados contra os quais tinha sido selecionada, e então desmoronava logo depois de encontrar dados sobre os quais não tinha sido escolhida. Esse colapso pode não ser mera falta de sorte. É um sinal de alerta comum de que a busca encontrou uma coincidência — forte dentro da amostra, porque dentro da amostra é exatamente o que ela foi otimizada para ajustar, e mais fraca fora da amostra, porque a coincidência pode não se repetir de forma confiável. (Uma mudança real nas condições ou um simples bug também podem causar um colapso; a seleção sobre uma busca enorme é apenas um suspeito de primeira linha.)
Uma mitigação: restringir a busca, proteger os dados de validação
O reparo tinha duas metades. A primeira foi parar de tratar o tamanho da busca como uma virtude — rodar explorações menores e mais deliberadas, movidas por alguma razão para esperar que uma configuração funcione, em vez de varreduras cegas e vastas que simplesmente mineram os dados em busca de qualquer coisa que se ajuste. A segunda, e mais importante, foi insistir que qualquer vencedor mostrasse evidência de robustez em dados que nunca teve permissão de ver enquanto estava sendo selecionado — sabendo que mesmo um conjunto de validação limpo, consultado com frequência demais, lentamente deixa de ser limpo.
Essa segunda regra é boa parte do jogo. A pergunta que importa não é “qual é a coisa de melhor aparência que eu consigo encontrar no passado?” Qualquer um com computação suficiente consegue encontrar uma coisa de ótima aparência no passado; o passado é finito, e uma busca grande o bastante acabará ajustando os seus acidentes. A pergunta que importa é “será que a melhor coisa que encontrei sobrevive a um trecho de dados ao qual ela não poderia, de jeito nenhum, ter sido moldada?” Quase tudo o que as minhas buscas gigantes revelaram falhou nessa pergunta, e a falha estava entre os resultados mais úteis que elas já produziram.
Mais computação não é mais verdade
A lição que eu guardo é uma correção silenciosa a um instinto que parece quase irresistível neste campo: o de que, se você não está encontrando uma vantagem, basta buscar com mais força — mais configurações, mais computação, mais força bruta. Para alguns problemas, esse instinto está certo. Para o problema de encontrar uma vantagem real e durável em dados ruidosos, ele está muitas vezes mais perto do contrário. Mais força bruta não necessariamente te aproxima da verdade. Às vezes, ela só dá ao ruído mais inscrições na competição — e o ruído, com inscrições suficientes, tende a vencer alguma coisa.
Uma das coisas mais honestas que uma busca já fez por mim foi voltar, depois de um número enorme de tentativas, sem nada que sobrevivesse. Levei um tempo constrangedoramente longo para entender que isso não era uma falha da busca. Era a busca, finalmente, me dizendo a verdade.
— Sem sinais, sem retornos, não é aconselhamento de investimento.