O que overfitting significa em termos simples
Overfitting é quando um modelo ou conjunto de regras se ajusta tão precisamente aos detalhes de um conjunto de dados específico que acaba aprendendo a aleatoriedade (ruído) em vez da relação subjacente e repetível.
Uma maneira simples de pensar sobre isso: se a abordagem tem um bom desempenho nos dados que você usou para construí-la, mas um desempenho visivelmente pior em dados que ela nunca viu, você pode estar diante de overfitting.
O mecanismo: por que bons resultados podem ser enganosos
O overfitting geralmente aparece quando três ingredientes se combinam:
- Alta flexibilidade: o modelo pode usar muitos parâmetros, condições ou graus de liberdade.
- Dados limitados ou não representativos: o período de treinamento não captura a variação futura.
- Ajuste ao passado: ajustes são feitos repetidamente para melhorar os resultados passados.
Nessa situação, o modelo pode “memorizar” padrões exclusivos da amostra. Quando as condições mudam, esses padrões memorizados param de funcionar.
Mecânicas estáveis vs. condições variáveis
Tenha cuidado para separar o que é geralmente verdadeiro do que depende de entradas variáveis.
- Mecânicas estáveis: a incompatibilidade estatística entre os dados de treinamento e os dados novos é a questão central.
- Condições variáveis: os resultados reais dependem de mudanças nos regimes de mercado, qualidade dos dados, diferenças de execução e custos.
Como essas condições variáveis raramente são idênticas às condições históricas, mesmo um modelo bem ajustado pode não generalizar.
Evidências e exemplo (com premissas declaradas)
Imagine que você tenha dados históricos de um processo e tente muitas versões cada vez mais complexas de uma regra de previsão.
Premissas para este exemplo:
- Você avalia as versões apenas no mesmo período histórico usado para ajustá-las.
- Você escolhe a versão com o melhor desempenho histórico.
O que pode acontecer:
- A versão selecionada provavelmente se beneficiou de peculiaridades aleatórias e de curta duração naquele período.
- Quando você testar posteriormente em uma janela de tempo diferente (não usada para o ajuste), o desempenho pode cair.
Esse padrão é um sinal prático comum de overfitting: sucesso em dados “conhecidos” que se torna não confiável quando os dados mudam.
Limitações e riscos: como o overfitting falha na prática
Uma limitação importante é que o backtesting ou a avaliação podem dar uma falsa confiança.
Os modos de falha comuns incluem:
- Viés de look-ahead: informações que não estariam disponíveis são usadas acidentalmente.
- Vazamento de dados: sinais ou etapas de pré-processamento incorporam involuntariamente informações futuras.
- Mudanças de regime: a relação estatística muda, então o padrão aprendido não se aplica mais.
- Premissas de custos ocultas: pequenas diferenças nos custos de transação ou na execução podem eliminar ganhos passados.
Mesmo que um método pareça consistente, os resultados podem variar entre diferentes períodos de tempo porque a relação histórica pode não ser estável.
Como verificar (sem assumir certeza futura)
Para verificar se um resultado é robusto, use etapas de validação que reduzam a chance de confundir ruído com sinal:
- Use testes fora da amostra: reserve dados que não foram usados para o ajuste.
- Teste em múltiplas janelas de tempo: procure por estabilidade, não apenas por um único período melhor.
- Varie as premissas: mude configurações razoáveis (como janelas de avaliação ou premissas de custo) e veja se as conclusões persistem.
Ponto de controle: se o desempenho depender fortemente de um trecho específico do histórico ou de ajustes repetidos aos resultados passados, isso é um sinal de alerta.
Lembre-se: relações históricas não estabelecem resultados futuros. Trate qualquer ajuste forte ao passado como uma hipótese que deve sobreviver a dados novos e não vistos e a condições em mudança.