Prevendo a abstenção de eleitores nas Eleições Brasileiras (3) — Combinando Modelos

Leonardo Kury
Data Hackers
Published in
2 min readJun 4, 2019

Nesse post da série Prevendo a abstenção de eleitores nas Eleições Brasileiras, vamos utilizar uma técnica de combinação de diferentes modelos para tentar melhorar os resultados obtidos.

Existem diversas formas de combinar modelos. Os próprios algoritmos de boosting que utilizamos são considerados combinações de modelos, porém combinam apenas modelos do mesmo tipo. Aqui vamos combinar modelos heterogêneos (diferentes tipos) para tentar obter resultados ainda melhores. A combinação de modelos heterogêneos é chamada de stacking.

A ideia do stacking é combinar modelos com características diferentes para balancear os resultados com as nuances que cada modelo conseguiu capturar nos dados. Existe uma forma simples de fazer isso e uma mais complexa. Na forma simples, é calculada a média entre as previsões dos diferentes modelos para ser o resultado final da predição. Na mais complexa, um meta-modelo é utilizado para aprender o melhor balanceamento entre os modelos. Para saber mais sobre as diferentes técnicas de combinação de modelos, sugiro que leia esse post.

Resultados

Utilizando os seis modelos já otimizados na última etapa, foram geradas as médias e calculada a métrica de desempenho MSE utilizando todas as combinações de modelos possíveis. Os 20 melhores resultados obtidos estão na tabela a seguir.

20 melhores resultados obtidos calculando a média das previsões dos modelos.

Podemos ver que tivemos um ligeiro incremento na métrica MSE fazendo o stacking dos modelos. O melhor resultado que tínhamos obtido utilizando modelo único foi 11,27 com o LGBM enquanto combinando os modelos LGBM, XGB, CatBoost, Random Forest e SVR, atingimos 11,12, uma melhora de aproximadamente 1,5%.

Interessante observar que todas as 20 melhores combinações de modelo obtiveram desempenho melhor do que a do melhor modelo único. Outro ponto interessante é que quanto mais modelos incluímos na combinação, melhores os resultados. E que o SVR aparece na combinação com melhor resultado, mesmo sendo o modelo com pior desempenho dentre os seis modelos utilizados na configuração única.

Isso demonstra que a técnica simples de stacking pode ser eficiente para melhorar os resultados da predição combinando modelos com características diferentes para extrair o melhor resultado.

Trabalhos futuros

Futuramente pretendo testar a técnica de stacking utilizando meta-modelos para encontrar a melhor combinação de pesos entre os modelos. Existem bibliotecas que auxiliam nessa tarefa, como a ML-Ensemble. Porém essa é uma técnica que demanda mais recursos computacionais, e como não disponho dessa infraestrutura, não consegui ainda testá-la.

--

--