O dilema de viés e variância em modelos preditivos

Ao criar um modelo preditivo há dois possíveis problemas comuns que podem acontecer, em termos simples:

  • Sobreajuste (overfitting): o modelo estimado explica “perfeitamente” a variável de interesse; uma simples comparação gráfica dos dados observados com os dados de ajuste entregues pelo modelo permite verificar que a distância entre o observado e o estimado tende a ser mínima. Ao tentar utilizar este modelo para previsão de dados futuros, não observados, a tendência é que o modelo erre bastante.
  • Sub-ajuste (underfitting): o modelo estimado explica “insatisfatoriamente” a variável de interesse; uma simples comparação gráfica dos dados observados com os dados de ajuste entregues pelo modelo permite verificar que a distância entre o observado e o estimado tende a ser grande. Ao tentar utilizar este modelo para previsão de dados futuros, não observados, a tendência é que o modelo erre de forma semelhante.

Para aprender mais e ter acesso a códigos confira o curso de Modelagem e Previsão usando Python ou comece do zero em análise de dados com a formação Do Zero à Análise de Dados com Python.

No gráfico acima são apresentados, como exemplo, dados observados da variável Estoque de empregos formais no setor de serviços (CAGED/ME), assim como dois modelos didáticos que buscam explicar essa variável. O modelo mais simples, mínimos quadrados ordinários, traça uma reta de tendência para as observações da amostra, o que leva a grandes distâncias em relação aos dados observados. Já o modelo mais complexo, suavização exponencial, se sobrepõe aos dados observados, capturando praticamente toda a dinâmica dos dados.

Erro de previsão

Até aqui estamos falando de modelos preditivos, mas olhando apenas para o ajuste dos mesmos com a amostra utilizada para estimar seus devidos parâmetros. Em geral, para problemas de previsão há maior interesse em analisar o erro de “fora da amostra”, ou seja, para dados que o modelo ainda não conhece. Sendo assim, é comum separar os dados em pelo menos duas amostras: uma de treino, usada para estimar os parâmetros do modelos, e outra de teste, usada para realizar previsões e comparar com os dados observados, chegando ao erro de previsão:

ou seja, os valores observados (que ficaram omitidos na estimação) menos o que foi previsto “fora da amostra” pelo modelo. Com essa medida é possível analisar e comparar a acurácia dos modelos. Isso é feito, geralmente, com métricas baseadas no erro de previsão, como ME, MSE, RMSE, etc.

Separando os dados deste exemplo, Estoque de empregos formais (serviços), de forma a termos as 12 últimas observações para a amostra de teste e o restante para treino, reestimamos os modelos acima e geramos previsões, comumente chamadas de “pseudo” fora da amostra. Ao calcular o erro de previsão e as métricas citadas, temos que:

Amostra Modelo ME MSE RMSE
Treino Suavização exponencial 0.0066739 0.0018038 0.0424717
Treino Mínimos quadrados ordinários 0.0000000 1.0786743 1.0385924
Teste Suavização exponencial 0.2177126 0.0542469 0.2329097
Teste Mínimos quadrados ordinários 0.4492230 0.2484394 0.4984369

Para obter o código, considere fazer parte do Clube AM e tenha acesso a exercícios semanais de Ciência da Dados em R e Python!

O que aconteceu? Os números da tabela retratam os dois problemas levantados no início do texto: o modelo mais complexo apresenta sobreajuste na amostra de treino (dados que ele conhece) e erra muito na amostra de teste (dados desconhecidos); já o modelo mais simples apresenta sub-ajuste na amostra de treino e erra de forma “semelhante” na amostra de teste. Ou seja, o modelo de suavização exponencial apresenta um erro 5x maior na amostra de teste em relação a amostra de treino, analisando pelo RMSE, enquanto que o modelo de mínimos quadrados ordinários apresenta um erro menor na amostra de teste em relação a amostra de treino (o RMSE cai, aproximadamente, pela metade).

Entretanto, também é interessante notar que apesar dessas disparidades, o modelo com sobreajuste tem um erro menor fora da amostra em relação ao modelo com sub-ajuste, o que pode torná-lo um candidato final para previsão efetivamente fora da amostra. Ou seja, não existem regras, é necessário analisar os modelos com vistas aos objetivos do exercício. Nem sempre um modelo bem ajustado será o melhor para previsão e nem sempre um modelo mal ajustado será um modelo pior para previsão. Geralmente, busca-se um modelo que minimize o erro de previsão e um modelo “meio termo” pode ser o mais razoável para essa finalidade no longo prazo.

Mas o que isso tem a ver com viés e variância?

Decomposição do erro de previsão

Tudo, pois o erro de previsão na amostra de teste pode ser proveniente tanto de sobreajuste quanto de sub-ajuste. Para averiguar isso podemos decompor a métrica de erro, o MSE, em três componentes:

viés é o quadrado da diferença entre as previsões e os valores observados, e pode ser entendido como o “erro sistemático” do modelo de previsão, após ter sido ajustado para diversos conjuntos de dados independentes, ou seja, para diferentes “realizações” do modelo. Modelos com sub-ajuste (baixa complexidade) tendem a apresentar um viés alto. Em termos simples, imagine desenhar, com alguma aleatoriedade, várias linhas de regressão linear sobre a série temporal acima: em média, a distância entre as linhas e as observações será alta.

variância é a média do quadrado da diferença entre as previsões e o valor “esperado” das previsões, e pode ser entendido como o quanto as previsões variam, em média, para uma determinada observação, após o modelo também ter sido ajustado para diversos conjuntos de dados independentes, ou seja, para diferentes “realizações” do modelo. Modelos com sobreajuste (alta complexidade) tendem a apresentar uma variância alta. Em termos simples, imagine desenhar, com alguma aleatoriedade, várias curvas de regressão polinomial sobre a série temporal acima: conforme há mais parâmetros determinando o formato da curva, a variedade de previsões geradas aumentará.

ruído é um termo aleatório de erro, ou seja, uma parcela da métrica de erro que não é explicada nem pelo viés e nem pela variância.

Matematicamente, isso é o mesmo que:

Conclusão

Sendo assim, o objetivo do profissional que trabalha com previsão é explorar uma especificação de modelo, f(x), de modo a obter previsões menos erráticas, tendo em vista que ela pode aumentar tanto o viés quanto a variância do erro. Em modelos sub-ajustados, de baixa complexidade, a maior parcela do erro de previsão advém do viés; já em modelos sobreajustados, de alta complexidade, a maior parcela do erro de previsão advém da variância. Escolher uma especificação de modelo entre estes dois extremos é o que se chama de dilema, ou trade-off, entre viés e variância.

Referências

Ely, R. A. (2016, August 25). O tradeoff entre viés e variância em três gráficos. Regis A. Ely Blog. http://regisely.com/blog/bias-variance/

Wilber, J. & Werness, B. (2021, January). The bias variance tradeoff. MLU-EXPLAIN. https://mlu-explain.github.io/bias-variance/

Notas de rodapé

  1. Veja mais em Bias variance decomposition de Rob J Hyndman: https://robjhyndman.com/files/2-biasvardecomp.pdf↩︎

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Onde encontrar dados e ferramentas para text mining?

A aplicação das técnicas de mineração de texto pode trazer análises quantitativas informativas sobre a emoção, tom, categoria e outros padrões de interesse em documentos textuais. O primeiro passo é identificar, coletar e preparar estes dados brutos. Neste artigo, apresentamos bases de dados públicas de Economia e Finanças que podem ser exploradas, assim como ferramentas de programação úteis.

O que é mineração de textos e sua relação com IA?

Com uma matéria prima em comum, a mineração de textos e a inteligência artificial generativa usam grandes volumes de dados não estruturados para fins distintos e com aplicações em Economia, Finanças, Marketing e outras áreas. Mas quando devemos usar uma técnica e não a outra? O que é possível fazer e o que é mineração de textos? Neste artigo introduzimos estes tópicos e fornecemos alguns exemplos de aplicações.

Avaliando a evolução do Funcionalismo Público nos Estados Brasileiros usando Controle Sintético no R

O objetivo deste exercício é introduzir o uso do método de Controle Sintético na linguagem de programação R, aplicando-o a um exemplo prático relevante para a análise de políticas públicas. Vamos focar na utilização dessa técnica para avaliar o impacto do Regime de Recuperação Fiscal (RRF) sobre o número de vínculos do poder executivo nos estados brasileiros, com ênfase no caso do Rio de Janeiro.

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.