▷ Machine Learning – Técnica de Naive Bayes no Excel aplicada a Gestão de Risco

Olá Pessoal, seja bem vindo ao meu mais novo artigo! Neste artigo irei descrever uma técnica onde é muito utilizada na aprendizagem de máquinas.

Necessitaremos para esta aplicação, um histórico de dados. Este histórico irá nos resultar qual será a probabilidade de "Sim" e "Não", após a analise.

Vou demonstrar se teremos risco ou não ao conceder crédito a uma pessoa.

Esta técnica se utiliza da combinação de probabilidades. Caso queiram ver toda a formalidade técnica recomendo a leitura do artigo abaixo:

https://en.wikipedia.org/wiki/Naive_Bayes_classifier

Mas vamos a aplicação!

Naive Bayes no Excel

Com a nossa base histórica pronta, vamos escolher um critério para determinar esperamos de resposta, neste caso vamos escolher o "Risco". Teremos que atribuir várias informações e verificar a saída dos dados para avaliar se iremos conceder o empréstimo, a informação será representada em "% de Bom" e "% de Ruim".

Naive Bayes no Excel

Com o critério escolhido ("Risco"), iremos demonstrar no final do artigo que podemos alterar qualquer um dos critérios informados na linha 1.

Neste caso queremos saber qual será a probabilidade de risco para conceder um empréstimo para um "Homem Solteiro", com históricos de "Sem Dívidas", com o emprego "Menor ou igual a 2 anos", com a casa "Própria", que resultou em uma avaliação de Ruim 62,7% e Bom 32,2%, conforme apresentado abaixo:

Naive Bayes no Excel

Vamos as fórmulas!

Para transpor os valores nas Células L8 a L17 segue

=SE(DESLOC($A$1;0;LINS($L$8:L8)-1)=0;"";DESLOC($A$1;0;LINS($L$8:L8)-1))

ou em inglês

=IF(OFFSET($A$1;0;ROWS($L$8:L8)-1)=0;"";OFFSET($A$1;0;ROWS($L$8:L8)-1))

Os Cálculos das probabilidades iniciando da Célula O8 até a Q8

=SE(OU($L8="";O$7="");"";SE($L8=$M$2;CONT.SE((DESLOC($A$1;1;CORRESP($M$2;$1:$1;0)-1;$M$3;1);O$7)/$M$3;CONT.SES(DESLOC($A$1;1;CORRESP($L8;$1:$1;0)-1;$M$3;1);$M8;DESLOC($A$1;1;CORRESP($M$2;$1:$1;0)-1;$M$3;1);O$7)/CONT.SE(DESLOC($A$1;1;CORRESP($M$2;$1:$1;0)-1;$M$3;1);O$7))) 

ou em inglês

=IF(OR($L8="";O$7="");"";IF($L8=$M$2;COUNTIF(OFFSET($A$1;1;MATCH($M$2;$1:$1;0)-1;$M$3;1);O$7)/$M$3;COUNTIFS(OFFSET($A$1;1;MATCH($L8;$1:$1;0)-1;$M$3;1);$M8;OFFSET($A$1;1;MATCH($M$2;$1:$1;0)-1;$M$3;1);O$7)/COUNTIF(OFFSET($A$1;1;MATCH($M$2;$1:$1;0)-1;$M$3;1);O$7)))

Nesta etapa precisamos calcular as probabilidades individuais dos critérios, que serão colocadas nas Células N8 até a N17

=SE(OU($L8="";$L8=$M$2);"";CONT.SE(DESLOC($A$1;1;CORRESP($L8;$1:$1;0)-1;$M$3;1);$M8)/$M$3)

ou em inglês

=IF(OR($L8="";$L8=$M$2);"";COUNTIF(OFFSET($A$1;1;MATCH($L8;$1:$1;0)-1;$M$3;1);$M8)/$M$3)

E por último, o cálculo resultante que neste exemplo deixei fixo em 3 critérios, onde estão nas células O6 até a Q6

=SEERRO(IF(O7="";"";PRODUTO(O8:O17))/PRODUTO($N$8:$N$17);"")

ou em inglês

=IFERROR(IF(O7="";"";PRODUCT(O8:O17))/PRODUCT($N$8:$N$17);"")

O interessante desta técnica é a simulação de diversas possibilidades que irá resultar uma probabilidade de aceitação baseada nos históricos.

Naive Bayes no Excel

Esta técnica é considerada dentro do grupo de Machine Learning, onde com a adição de mais históricos, o código irá ficar mais acurado, informando qual decisão tomar baseando nos cálculos das probabilidades.

Espero que tenha gostado desse artigo!

Caso tenha alguma sugestão de melhorias, poste aqui nos comentários.

Se gostou, curta e compartilhe este artigo para que todos saibam o que é possível fazer dentro do Excel.

E ja conhece o meu novo curso online de Excel?

Abraços a todos e até o próximo artigo!

Fabio BALDINI

Frase do dia: "Primeiro eles te ignoram, depois riem de você, depois brigam, e então você vence" Autor: Mahatma Gandhi

6 Comentários


  1. Bom dia. Fui tentar executar para entender, mas o Excel informa que há um erro na fórmula do Cálculo de Probabilidade. Seria um erro na minha versão do Excel ou algum passo que possa ter feito errado?

    Responder

    1. Olá Fernanda, acredito que você tenha feito algum passo errado, recomendo você realizar primeiro o modelo do artigo e depois alterar para os seus valores, Abraços

      Responder

      1. Olá. Foi exatamente o que eu fiz. No entanto, está dando um erro de falta de valores. E na fórmula em português há um erro, os argumentos finais estão duplicados.

        Responder

    1. Olá Vinicius tudo bom, as formulas foram arrumadas, um detalhe que você terá que atualizar sempre O7 e P7 para que a resposta seja dinamica.

      Abraços

      Responder

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *