Introdução
Você construiu um método de previsão e quer saber se ele funciona.
Existe um problema óbvio:
o futuro verdadeiro ainda não aconteceu.
Se queremos descobrir hoje quanto um modelo consegue prever bem aquilo que ainda não conhece, precisamos encontrar uma forma de testá-lo sem esperar meses ou anos.
Uma solução simples é transformar uma parte do passado em um futuro artificial.
Pegamos uma série histórica, escondemos as observações mais recentes e fingimos que ainda não as conhecemos.
Depois entregamos ao método apenas os dados anteriores e pedimos:
“Preveja o trecho que escondemos.”
Como nós já conhecemos o que realmente aconteceu naquele período, conseguimos comparar previsão e realidade.
Essa lógica é conhecida como hold-out temporal.
Em linguagem simples:
guardamos o final da história para testar se o método consegue adivinhar razoavelmente o que viria depois.
A ideia central do hold-out temporal
Imagine esta série:
10 → 11 → 12 → 13 → 14 → 15 → 16 → 17 → 18 → 19
Hoje conhecemos todos os valores.
Mas, para testar uma previsão, dividimos a série em duas partes.
Treino
10 → 11 → 12 → 13 → 14 → 15 → 16
Teste
17 → 18 → 19
O método recebe apenas:
10 → 11 → 12 → 13 → 14 → 15 → 16
E precisa produzir uma previsão para os três passos seguintes.
Depois comparamos:
previsto
com
observado.
É essa comparação que permite medir o erro de previsão.
Por que esconder dados que já conhecemos?
Porque queremos reproduzir, da melhor maneira possível, a situação real enfrentada por uma previsão.
Quando estávamos na observação 16, os valores:
17, 18 e 19
ainda não seriam conhecidos.
Se o algoritmo pudesse vê-los antes de produzir a previsão, o teste deixaria de representar a realidade.
Seria como entregar o gabarito antes da prova.
Por isso, existe uma regra fundamental:
o período usado para testar a previsão não pode participar da construção daquela previsão.
A analogia da prova
Imagine um aluno estudando até determinado capítulo.
Depois recebe uma prova sobre capítulos que ainda não viu.
O professor conhece as respostas.
O aluno, não.
Isso permite avaliar quanto ele consegue generalizar o que aprendeu.
No forecasting, funciona de forma parecida.
O modelo recebe o período de treinamento.
O trecho final vira a prova.
Nós conhecemos os resultados porque tudo já aconteceu historicamente.
O algoritmo precisa agir como se não conhecesse.
Hold-out temporal é diferente de um split aleatório
Em muitos problemas de machine learning, é comum dividir observações aleatoriamente entre treino e teste.
Em séries temporais, isso pode ser inadequado.
Imagine misturar:
2021
2024
2022
2025
2023
e depois utilizar informações de 2025 para ajudar a estimar algo que ocorreu em 2022.
Isso não representa uma previsão real.
O tempo possui direção.
Por isso, no hold-out temporal, mantemos a cronologia:
- PASSADO
- PRESENTE
- FUTURO
Não:
PRESENTE → FUTURO → PASSADO → PRESENTE
Regra de ouro: informação disponível naquele instante
A pergunta correta é:
“Se estivéssemos realmente naquele momento, essa informação já estaria disponível?”
Se a resposta for não, ela não deveria participar da previsão.
Essa regra vale não apenas para o valor principal da série.
Também vale para outras variáveis.
Imagine tentar prever março utilizando um indicador que só foi publicado em abril.
Mesmo que o indicador se refira a fevereiro, ele ainda não estava disponível na data da previsão.
Usá-lo seria permitir que o modelo enxergasse o futuro.
O que é data leakage?
Data leakage, ou vazamento de dados, acontece quando alguma informação que não estaria disponível no momento real da previsão entra no processo de treinamento ou cálculo.
O resultado pode parecer excelente.
Mas ele é artificialmente fácil.
Imagine:
Queremos prever:
40
O modelo deveria conhecer apenas:
10 → 20 → 30
Mas, por algum erro de preparação, também recebe:
50
que só apareceria depois do valor que queremos prever.
Agora existe informação futura contaminando o teste.
O desempenho obtido deixa de representar aquilo que seria possível no mundo real.
Hold-out ajuda a combater leakage — mas não resolve tudo sozinho
Esse ponto merece cuidado.
Reservar corretamente o final da série é fundamental.
Mas ainda podemos criar vazamento em outras etapas.
Por exemplo:
Normalização
Calcular média e desvio-padrão utilizando também o conjunto de teste antes de treinar o modelo.
Seleção de variáveis
Escolher atributos depois de analisar seu desempenho sobre o próprio teste.
Preenchimento de dados
Utilizar observações posteriores para preencher dados anteriores quando a simulação deveria reproduzir informações disponíveis em tempo real.
Engenharia de atributos
Construir uma variável que incorpore informação futura sem perceber.
Portanto:
hold-out temporal é parte da proteção contra vazamento, não uma garantia automática de que toda a metodologia está limpa.
Hold-out não é uma métrica
Essa confusão é comum.
Hold-out responde:
“quais dados serão usados para avaliar?”
Métricas respondem:
“quanto a previsão errou?”
Uma frase simples ajuda:
hold-out monta a prova; a métrica calcula a nota.
MAE: erro absoluto médio
Uma das métricas mais intuitivas é o MAE.
Imagine valores reais:
17 → 18 → 19
e previsões:
16 → 20 → 18
Os erros absolutos seriam:
| Real | Previsto | Erro absoluto |
|---|---|---|
| 17 | 16 | 1 |
| 18 | 20 | 2 |
| 19 | 18 | 1 |
O MAE é:
(1 + 2 + 1) ÷ 3 = 1,33
Ou seja, o método errou em média cerca de 1,33 unidade naquele conjunto de teste.
A literatura de forecasting destaca o MAE como uma métrica bastante intuitiva quando os modelos são avaliados sobre uma mesma série e unidade.
RMSE
O RMSE também mede erro, mas eleva os erros ao quadrado antes de calcular a média.
Isso faz com que erros grandes recebam peso maior.
Por exemplo:
erros de 1, 1 e 10
terão impacto bem diferente no RMSE em comparação ao MAE.
Essa métrica pode ser útil quando grandes erros são especialmente indesejáveis.
E o MAPE?
O MAPE mede erros percentuais.
Isso facilita determinadas comparações.
Mas possui limitações.
Quando os valores reais são zero ou muito próximos de zero, a métrica pode ficar indefinida ou extremamente instável.
Por isso, não existe uma única métrica ideal para todos os problemas.
A escolha deve acompanhar a natureza da série.
Quanto do histórico deve ficar no teste?
Não existe um percentual mágico.
Às vezes encontramos regras como:
10%
15%
20%
Esses números podem funcionar como ponto de partida em alguns problemas.
Mas não são leis.
A literatura de forecasting cita conjuntos de teste em torno de 20% como prática comum, ressaltando que o tamanho depende do comprimento da série e do horizonte que se deseja prever. O teste deveria, idealmente, ser pelo menos grande o suficiente para representar o maior horizonte de interesse.
Por exemplo:
se seu objetivo real é avaliar previsões de 12 meses à frente, um teste com apenas três meses não representa bem esse problema.
Horizonte precisa influenciar o teste
Imagine que você deseja prever apenas:
o próximo mês.
Um teste de previsões de um passo à frente pode ser suficiente para determinada análise.
Agora imagine que seu objetivo seja:
projetar os próximos 12 meses.
Avaliar somente o próximo ponto e declarar o modelo vencedor para um horizonte de doze passos seria uma extrapolação.
O protocolo deveria avaliar o tipo de previsão que realmente será utilizado.
Série curta cria um dilema
Imagine uma série com apenas 20 observações.
Se você guardar 10 para teste:
restam apenas 10 para treinar.
Se guardar duas:
o teste pode ser pequeno demais para dizer muita coisa.
Esse é um dilema real.
A literatura destaca que, em séries muito curtas, pode nem existir informação suficiente para reservar um bom conjunto de teste e ainda ajustar o modelo adequadamente.
Por isso:
mais hold-out não é sempre melhor.
Existe uma troca entre:
dados para aprender
e
dados para avaliar.
Um único hold-out possui outra limitação
Suponha que você esconda os últimos 12 meses.
O método A vence.
Ótimo.
Mas esses 12 meses podem ter sido um período muito específico.
Talvez tenham sido:
- extremamente estáveis;
- muito voláteis;
- uma crise;
- um regime de juros diferente.
Será que o método também funcionaria bem em outros momentos?
Um único hold-out não responde completamente.
Ele avalia:
um único trecho histórico.
Rolling forecasting origin
Uma alternativa mais robusta é repetir o teste em vários pontos do tempo.
Por exemplo:
Rodada 1
Treino: 1 até 50
Teste: 51
Rodada 2
Treino: 1 até 51
Teste: 52
Rodada 3
Treino: 1 até 52
Teste: 53
E assim por diante.
O ponto de origem da previsão vai avançando.
Por isso, o processo é chamado de:
rolling forecasting origin
ou validação temporal com origem móvel.
A literatura de forecasting descreve essa estratégia como uma forma de criar vários conjuntos de treino e teste, sempre garantindo que cada previsão utilize apenas observações anteriores ao ponto avaliado.
Por que isso pode ser melhor?
Imagine:
Método A
Excelente em janeiro.
Ruim em fevereiro, março, abril e maio.
Método B
Segundo melhor em janeiro.
Bom em todos os outros meses.
Com um único hold-out, A talvez pareça vencedor.
Com várias origens temporais, B pode demonstrar maior consistência.
Isso produz uma pergunta metodologicamente mais interessante:
“qual método funciona melhor em vários momentos?”
e não apenas:
“qual ganhou naquele pedaço específico?”
Validação temporal com vários passos
O mesmo princípio pode ser aplicado a horizontes maiores.
Imagine que queremos avaliar previsões de três passos.
Podemos fazer:
Origem A
Treino até 10
Prever 11, 12 e 13
Origem B
Treino até 11
Prever 12, 13 e 14
Origem C
Treino até 12
Prever 13, 14 e 15
Depois avaliamos os erros em cada horizonte.
A literatura de forecasting mostra explicitamente essa adaptação da validação temporal para previsões multistep.
Previsão de vários passos não é sempre recursiva
Imagine:
10 → 11 → 12
Queremos prever:
13 → 14 → 15
Alguns modelos funcionam de forma recursiva:
prever 13 → usar a previsão para ajudar a produzir 14 → depois 15.
Nesse caso, erros anteriores podem influenciar etapas posteriores.
Mas não existe uma única estratégia de previsão multistep.
Outros métodos podem produzir horizontes específicos por outras abordagens.
Portanto, a frase mais correta é:
“dependendo do método, previsões anteriores podem participar da geração dos passos seguintes.”
O valor real do teste deve permanecer escondido
Se estamos avaliando três passos de uma previsão recursiva, o método não deve substituir sua primeira previsão pelo valor verdadeiro apenas para produzir a segunda — a menos que o protocolo que estamos avaliando seja especificamente uma sequência de previsões de um passo com atualização após cada nova observação.
Essas são duas perguntas diferentes.
Forecast multistep feito hoje
Prever hoje:
t+1, t+2, t+3.
Forecast atualizado ao longo do tempo
Prever t+1.
Quando t+1 se torna conhecido, atualizar o modelo e prever t+2.
Os resultados não são diretamente equivalentes.
O teste precisa representar o uso real.
Todos os métodos precisam enfrentar a mesma prova
Imagine comparar:
- Naive;
- média móvel;
- tendência;
- Holt;
- outras configurações.
Se quisermos um ranking justo, todos deveriam receber:
o mesmo período disponível
e:
o mesmo trecho de avaliação.
Caso contrário, estamos comparando desempenhos obtidos em provas diferentes.
Baselines são fundamentais
Antes de comemorar um modelo sofisticado, vale compará-lo com métodos simples.
Um baseline pode ser:
último valor conhecido.
Imagine:
Modelo sofisticado → MAE 1,20
Naive → MAE 1,00
O algoritmo mais complexo perdeu.
Isso é informação extremamente útil.
Complexidade só vale a pena se produzir benefício.
“Menor erro” também depende do critério
Imagine:
Método A
MAE menor.
Método B
RMSE menor.
Qual ganhou?
Depende do que valorizamos.
Se grandes erros são especialmente graves, RMSE pode ser relevante.
Se queremos uma interpretação simples em unidades da série, MAE pode ser preferível.
Por isso:
ranking não existe independentemente da métrica.
Métrica não substitui inspeção
Também vale observar:
- gráfico;
- resíduos;
- estabilidade;
- comportamento em diferentes períodos;
- erros por horizonte.
Um único número pode esconder padrões.
Imagine dois modelos com o mesmo MAE.
Um erra pouco quase sempre e uma vez muito.
Outro erra moderadamente em todos os períodos.
Dependendo da aplicação, essa diferença pode importar.
Hold-out não prova futuro
Imagine que um método tenha vencido brilhantemente no teste.
Isso significa:
“teve bom desempenho naquele experimento histórico.”
Não significa:
“vai vencer amanhã.”
O comportamento dos dados pode mudar.
Pode ocorrer:
- drift;
- mudança de regime;
- crise;
- mudança estrutural.
O teste fornece evidência.
Não garantia.
Como isso entra na auto-sugestão do EuPlanejei?
Em uma lógica de comparação automática, o princípio do hold-out é útil porque permite colocar várias configurações diante do mesmo trecho histórico.
O fluxo pode ser entendido assim:
- série histórica
- separação temporal
- treino
- previsão do trecho escondido
- comparação com valores observados
- métricas e critérios de ranking
- sugestões
Isso torna a escolha mais sistemática.
Mas o resultado continua sendo:
ranking do teste
e não:
profecia do próximo período.
Um exemplo completo
Temos:
10 → 11 → 11 → 12 → 13 → 14 → 15 → 16 → 17 → 18
Reservamos:
16 → 17 → 18
como teste.
Método A
Prevê:
15 → 16 → 17
Erros absolutos:
1 → 1 → 1
MAE:
1
Método B
Prevê:
16 → 18 → 19
Erros absolutos:
0 → 1 → 1
MAE:
0,67
Segundo o MAE, B venceu.
Isso significa:
B foi melhor segundo o MAE nesse hold-out.
É uma frase muito diferente de:
“B é o melhor algoritmo.”
O tamanho do teste também pode alterar o vencedor
Imagine testar apenas o último mês.
Método A vence.
Depois testamos o último ano.
Método B vence.
Nenhum cálculo está necessariamente errado.
Eles responderam a avaliações diferentes.
Isso reforça que:
protocolo de teste faz parte da conclusão.
O que uma avaliação transparente deveria informar?
Idealmente:
- período de treinamento;
- período de teste;
- horizonte;
- frequência da série;
- método;
- configuração;
- métrica;
- regra de atualização;
- tratamento de dados ausentes;
- eventuais variáveis externas.
Quanto mais transparente o protocolo, mais fácil interpretar o ranking.
Erros comuns em hold-out temporal
- Embaralhar uma série temporal como se as observações fossem independentes.
- Permitir que o modelo veja o próprio período de teste.
- Calcular pré-processamento usando dados futuros.
- Escolher variáveis depois de olhar repetidamente o resultado do teste.
- Confundir hold-out com métrica.
- Usar um teste menor que o horizonte real e generalizar o resultado.
- Acreditar que existe um percentual universal para o tamanho do hold-out.
- Assumir que todo forecast multistep é recursivo.
- Declarar o vencedor universal com base em um único trecho.
- Ignorar baselines simples.
Experimente no euplanejei (cenários ilustrativos)
As ferramentas abaixo servem para aprender e comparar cenários ilustrativos. Elas não substituem análise pessoal, nem constituem recomendação de compra, venda ou contratação de produto.
- Projeções e cenários de previsão
- Previsões de índices
- Métodos e algoritmos de previsão
- Índice de simulações
Continue a série:
Conclusão: esconder o final ajuda a testar sem enxergar o futuro
Hold-out temporal é uma das ideias mais simples e úteis da avaliação de previsões.
Pegamos uma série conhecida.
Reservamos o trecho final.
Impedimos o método de observá-lo.
Pedimos uma previsão.
Depois comparamos:
estimado vs observado.
Essa estratégia permite avaliar previsões de maneira muito mais realista do que medir apenas o quanto um modelo se ajusta aos mesmos dados utilizados em seu treinamento.
Guarde três ideias:
hold-out temporal = reservar observações futuras em relação ao treino;
métricas = medir os erros obtidos nesse teste;
bom desempenho histórico fora da amostra = evidência, não garantia do futuro.
E existe uma quarta ideia que vale lembrar:
um único hold-out é um começo; avaliações em vários pontos do tempo podem oferecer uma visão mais robusta.
No planejamento financeiro, essa disciplina é importante porque impede que uma projeção pareça melhor apenas porque teve acesso às respostas.
Continue aprendendo sobre previsão, dados e planejamento financeiro no EuPlanejei.com.
Próximo passo: no euplanejei, compare premissas nas previsões e no hub de simulações — sempre como cenários ilustrativos, sem recomendação de investimento.
FAQ sobre hold-out temporal
Hold-out temporal significa embaralhar os dados?
Não. Em séries temporais, o conjunto de teste normalmente vem depois do conjunto de treinamento. A ordem cronológica precisa ser preservada para reproduzir uma previsão real.
Qual percentual devo reservar para teste?
Não existe um percentual universal. O tamanho deve considerar a quantidade total de dados e o horizonte que será avaliado. Em referências de forecasting, valores próximos de 20% aparecem como prática comum em alguns contextos, mas não como regra fixa.
Hold-out elimina qualquer risco de data leakage?
Não. Ele ajuda a separar treino e teste, mas vazamento ainda pode ocorrer no pré-processamento, seleção de variáveis, preenchimento de dados e outras etapas se informações futuras forem utilizadas.
Um único hold-out basta para escolher o melhor método?
Pode fornecer uma avaliação útil, mas depende bastante do período reservado. Validação temporal em múltiplas origens permite observar o desempenho do método em vários momentos e pode fornecer uma comparação mais robusta.
Hold-out e MAE são a mesma coisa?
Não. Hold-out define quais dados serão escondidos para avaliação. MAE é uma das métricas que podem ser usadas depois para medir os erros de previsão.