Previsibilidade
Você está certo que esta é uma questão de previsibilidade. Houve alguns artigos sobre previsibilidade na revista orientada para o praticante do IIF Foresight . (Divulgação completa: sou um editor associado.)
O problema é que a previsibilidade já é difícil de avaliar em casos "simples".
Alguns exemplos
Suponha que você tenha uma série cronológica como esta, mas não fale alemão:
Como você modelaria o pico máximo em abril e como incluiria essas informações em quaisquer previsões?
A menos que você soubesse que essa série cronológica é a venda de ovos em uma cadeia de supermercados suíça, que atinge o pico imediatamente antes do calendário ocidental da Páscoa , você não teria chance. Além disso, com a Páscoa movimentando o calendário em até seis semanas, qualquer previsão que não inclua o conteúdo específico data da Páscoa (supondo, digamos, que esse fosse apenas algum pico sazonal que ocorreria em uma semana específica no próximo ano) provavelmente seria muito ruim.
Da mesma forma, suponha que você tenha a linha azul abaixo e queira modelar o que aconteceu em 28-02-2010, de maneira tão diferente dos padrões "normais" em 27-02-2010:
Novamente, sem saber o que acontece quando uma cidade cheia de canadenses assiste a um jogo olímpico de finais de hóquei no gelo na TV, você não tem chance de entender o que aconteceu aqui e não poderá prever quando algo assim ocorrerá.
Por fim, veja isso:
Esta é uma série temporal de vendas diárias em uma loja de dinheiro e transporte . (À direita, você tem uma tabela simples: 282 dias tiveram vendas zero, 42 dias tiveram vendas de 1 ... e um dia tiveram vendas de 500.) Não sei qual item é.
Até hoje, não sei o que aconteceu naquele dia com vendas de 500. Meu melhor palpite é que alguns clientes encomendaram uma grande quantidade de qualquer produto que fosse e o coletaram. Agora, sem saber disso, qualquer previsão para esse dia em particular estará longe. Por outro lado, suponha que isso aconteceu logo antes da Páscoa, e temos um algoritmo burro e inteligente que acredita que isso poderia ser um efeito da Páscoa (talvez sejam ovos?) E, felizmente, prevê 500 unidades para a próxima Páscoa. Oh meu, poderia que dar errado.
Sumário
Em todos os casos, vemos como a previsibilidade só pode ser bem compreendida quando temos uma compreensão suficientemente profunda dos fatores prováveis que influenciam nossos dados. O problema é que, a menos que conheçamos esses fatores, não sabemos que talvez não os conheçamos. Conforme Donald Rumsfeld :
[T] aqui são conhecidos conhecidos; Há coisas que sabemos que sabemos. Também sabemos que existem incógnitas conhecidas; isto é, sabemos que existem algumas coisas que não sabemos. Mas também existem incógnitas desconhecidas - aquelas que não sabemos, não sabemos.
Se a predileção da Páscoa ou dos canadenses pelo hóquei é uma incógnita desconhecida para nós, estamos paralisados - e nem temos um caminho a seguir, porque não sabemos que perguntas precisamos fazer.
A única maneira de lidar com isso é reunir conhecimento de domínio.
Conclusões
Retiro três conclusões disso:
- Você sempre precisa incluir o conhecimento do domínio em sua modelagem e previsão.
- Mesmo com o conhecimento do domínio, não é garantido que você obtenha informações suficientes para que suas previsões e previsões sejam aceitáveis para o usuário. Veja isso acima.
- Se "seus resultados são miseráveis", você pode esperar mais do que pode alcançar. Se você está prevendo um sorteio justo, não há como obter uma precisão acima de 50%. Também não confie nos benchmarks de precisão de previsão externa.
A linha inferior
Aqui está como eu recomendaria a construção de modelos - e percebendo quando parar:
- Converse com alguém com conhecimento de domínio, se você ainda não o possui.
- Identifique os principais drivers dos dados que você deseja prever, incluindo interações prováveis, com base na etapa 1.
- Crie modelos iterativamente, incluindo drivers em ordem decrescente de força, conforme a etapa 2. Avalie os modelos usando validação cruzada ou uma amostra de validação.
- Se a precisão da sua previsão não aumentar mais, volte para a etapa 1 (por exemplo, identificando más previsões flagrantes que você não pode explicar e discutindo-as com o especialista do domínio) ou aceite que você chegou ao final do seu capacidades dos modelos. O time-box da sua análise com antecedência ajuda.
Observe que não estou defendendo a tentativa de diferentes classes de modelos, se o seu modelo original é o platô. Normalmente, se você começou com um modelo razoável, o uso de algo mais sofisticado não trará um grande benefício e pode simplesmente ser "sobreajustado no conjunto de testes". Eu já vi isso com frequência, e outras pessoas concordam .