<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Davi Keglevich Neiva on Medium]]></title>
        <description><![CDATA[Stories by Davi Keglevich Neiva on Medium]]></description>
        <link>https://medium.com/@davikeglevichneiva?source=rss-6279fa4e9034------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*Fs8EeynHUTIV0Awg.</url>
            <title>Stories by Davi Keglevich Neiva on Medium</title>
            <link>https://medium.com/@davikeglevichneiva?source=rss-6279fa4e9034------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 12:52:48 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@davikeglevichneiva/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Muita cautela com técnicas de Machine Learning]]></title>
            <link>https://medium.com/@davikeglevichneiva/muita-cautela-com-t%C3%A9cnicas-de-machine-learning-2846776221bc?source=rss-6279fa4e9034------2</link>
            <guid isPermaLink="false">https://medium.com/p/2846776221bc</guid>
            <category><![CDATA[modelagem-de-negócios]]></category>
            <category><![CDATA[interpretação]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[modelagem-de-dados]]></category>
            <category><![CDATA[crédito]]></category>
            <dc:creator><![CDATA[Davi Keglevich Neiva]]></dc:creator>
            <pubDate>Mon, 15 Jun 2020 20:03:50 GMT</pubDate>
            <atom:updated>2020-06-15T20:03:50.385Z</atom:updated>
            <content:encoded><![CDATA[<h4>Quando o objetivo é identificar padrões utilizando machine learning o cuidado deve ser redobrado para não obter conclusões precipitadas</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/0*2m1uCKKG6wcB3PT2" /></figure><p>Nos últimos anos, muito se tem falado sobre novas técnicas de modelagem, principalmente aquelas referentes a <em>machine learning</em>, que vêm apresentando possibilidade de maior precisão quando comparadas com técnicas mais tradicionais. No entanto, essas técnicas muitas vezes criam modelos de difícil interpretação e que se ajustam bastante aos dados (<em>overfitting</em>), o que pode dificultar consideravelmente a avaliação da eficiência do modelo na predição de novas observações.</p><p>Esse texto busca deixar um pouco mais claras algumas das implicações de se utilizar técnicas que se ajustam mais aos dados, como as de <em>machine learning</em>, e alertar que é preciso ter cautela com seu uso, uma vez que a performance apresentada no desenvolvimento e avaliação do modelo pode não se sustentar em sua aplicação.</p><p><strong>Mas, relembrando, qual o objetivo de se desenvolver um modelo?</strong></p><p>Podemos desenvolver um modelo simplesmente para descrever um determinado grupo já observado, mas usualmente o objetivo é identificar características que se mantenham para novas observações, de forma que possamos utilizar esse conhecimento para predizer características de novos indivíduos com menor grau de incerteza. Em outras palavras, queremos obter generalizações a partir daquilo que nosso modelo conseguiu captar naquilo que temos de dados.</p><p>Um exemplo clássico é o de concessão de crédito, em que baseado nas características já observadas dos clientes é desenvolvido um modelo para indicar a tendência de um novo cliente específico pagar seu empréstimo no prazo.</p><p>Independente da técnica que é utilizada, o fluxo de modelagem usualmente apresenta, de maneira simplificada, a forma abaixo:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/953/1*vX2twL9Iyp8o-wEljmRbKQ.png" /><figcaption>Fluxo simplificado do contexto que o desenvolvimento dos modelos está inserido</figcaption></figure><p>Basicamente, buscamos obter generalizações que possam ser aplicadas na população (público em geral).</p><p>É nessa sequência, que devemos ter cautela e senso crítico, visto que amostras que não representam a população e/ou desenvolvimento de modelos que captam características que valem apenas para a amostra (não são gerais) podem levar a generalizações equivocadas.</p><p><strong>Amostras não representativas</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/680/1*Z_68PqTKbSDVw34xsdwaiA.png" /><figcaption>A amostra é representativa?</figcaption></figure><p>Na maioria das situações o banco de dados em que o modelo é desenvolvido não representa totalmente a população, nesse caso dizemos que a amostra apresenta viés.</p><p>Nesse texto, vamos exemplificar esses conceitos em um contexto que é desenvolvido um modelo para concessão de crédito, bem como apresentar algumas das abordagens que são utilizadas para a construção de modelos mais apropriados à esse tipo de aplicação.</p><p>Em estudos de concessão de crédito, por exemplo, há o registro da variável resposta (na maioria dos casos binária, apontando pagamento ou inadimplência) apenas dos clientes que realmente contrataram o serviço de empréstimo. Se a concessão de crédito de novos clientes for feita baseada em um modelo desenvolvido apenas com esses registros haverá uma tendência de aprovar sempre o mesmo perfil de cliente, perdendo a oportunidade de atingir outros perfis. Isso é exemplificado na imagem abaixo.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/769/1*Y4-8FQnODhe99Y09MHq3AA.png" /><figcaption>Causa e efeito em um fluxo comum de desenvolvimento de modelos de concessão de crédito.</figcaption></figure><p>Dessa forma, a amostra pode não representar a população por diversos motivos e o maior desafio é conseguir “corrigir” esses desvios, de forma que seja possível extrair o máximo de informação dos dados disponíveis, considerando que informação é aquilo que é útil para a construção do melhor modelo aplicável ao objetivo proposto.</p><p>Existem diversas abordagens que visam “corrigir” o viés de amostras que não são tão representativas, como no caso da imagem anterior que apresenta uma amostra composta com apenas alguns dos perfis presentes na população. No caso de concessão de crédito são comuns:</p><ul><li>Inferência de negados. Existem diversas metodologias para essa abordagem que basicamente busca entender o que teria ocorrido se os perfis que foram negados e, portanto, não estão na amostra, tivessem sido aprovados. Com essa informação, são adicionadas observações na amostra dos perfis não representados, registrando-os como adimplentes ou não de acordo com o estudo de inferência.</li><li>Ajustes na construção dos modelos (de acordo com a expertise do desenvolvedor). Quando os modelos apresentam interpretabilidade (que na maioria das vezes não é o caso de modelos de machine learning) é feita uma análise se as relações entre as variáveis apontadas pelo modelo fazem sentido na sua aplicação (no caso de concessão de crédito se faz sentido para o negócio), sendo que muitas vezes são necessários ajustes nessas relações de forma que o modelo fique mais próximo ao que era esperado.</li><li>Ajustes na política de crédito. A predição do modelo não representa a decisão final em um contexto de concessão de crédito, sendo apenas uma parte da decisão. A política de concessão pode ser ajustada para que aqueles perfis que não foram bem representados no modelo sejam mais impactados por outros critérios que não sejam o do modelo, especialmente definições particulares ao negócio e/ou ramo de negócio em que se pretende aplicar o modelo.</li></ul><p>Em resumo, identificar que a amostra apresenta viés por si só já é desafiador (muitas vezes não é tão evidente quanto o exemplo dos perfis negados) e utilizar alguma técnica para extrair informação dessa base de dados é difícil porque demanda conhecimento sobre o tema envolvido, além de implicar que as métricas de avaliação possam se tornar inconsistentes com a real performance dos modelos.</p><p><strong>Estudo de caso</strong></p><p>Em um modelo de machine learning desenvolvido com o algoritmo Lightgbm, com variável resposta dicotômica (0 para cliente adimplente e 1 para inadimplente), em que o objetivo é auxiliar a decisão de concessão de crédito de uma empresa, é possível observar uma inconsistência com o que é esperado para esse tipo de negócio. Em linhas gerais o modelo pode indicar uma certa tendência de pessoas com maiores quantidades de dívidas serem mais propensas a serem boas pagadoras, o que pode ser visto na base de dados.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*uqvFY4silVhhA-s_xpdcsQ.png" /></figure><p>Conforme pode ser visto na simulação acima, a mediana do boxplot referente às pessoas que apresentam 5 ou mais dívidas é maior do que a mediana de quem apresenta apenas 1 dívida, revelando probabilidade de adimplência um pouco maior do que os demais grupos. Todos esses grupos apresentam pelo menos 1000 observações em um banco de dados de 20 mil registros. Será realmente que, no geral, pessoas mais endividadas tendem a apresentar maior probabilidade de pagar dívidas?</p><p>Muito provavelmente isso poderia representar um viés de base, visto que os clientes que apresentavam 5 ou mais dívidas podem ter conseguido crédito devido a algum outro critério da política de crédito da empresa. É possível que, por exemplo, o crédito tenha sido concedido apenas aos clientes mais antigos ou até mesmo ter sido obtido mediante alguma garantia. Se esse for o caso, simplesmente desenvolver esse modelo, sem questionamentos, e aplicar esse modelo em um ambiente produtivo, poderá fazer com que pessoas com alto risco de inadimplemento obtenham crédito sem os devidos controles (poderiam ser, por exemplo, dispensados da concessão de garantia).</p><p>Em um modelo de Regressão Logística, o controle da participação da variável quantidade de dívidas poderia ser controlado mais facilmente, uma vez que os coeficientes que acompanham cada variável na fórmula estimada definiriam de forma objetiva o sentido da contribuição no cálculo final da probabilidade enquanto que modelos de <em>machine learning</em>, por apresentarem diversas interações, seriam mais complicados de serem ajustados em relação ao sentido da variável.</p><p><strong>Utilizando restrições de monotonicidade.</strong></p><p>Algumas técnicas de machine Learning apresentam a possibilidade de definir o sentido em que cada variável pode contribuir na predição do modelo, de forma que é imposto no seu desenvolvimento que a variável só participa das regras que estão sendo construídas se for no sentido especificado. No caso do algoritmo Lightgbm em python isso é definido por um hiperparâmetro chamado monotone_constraints, que deve ser preenchido com uma tupla definindo, para cada variável de acordo com a sua ordem, os sentidos desejados através dos números -1, 0 e 1, onde:</p><ul><li>-1: A variável só vai contribuir negativamente (quanto maior o valor da variável menor o valor da predição)</li><li>0: Não há restrição para essa variável (Default)</li><li>1: A variável só contribui positivamente (quanto maior o valor da variável maior o valor da predição)</li></ul><p>Para exemplificar, em um banco de dados que queremos desenvolver um modelo com 3 variáveis preditoras e que desejamos impor restrição apenas para a terceira variável (a ordem que as variáveis estão dispostas no banco de dados importa), de forma que no modelo quanto maior o valor dessa variável, menor o valor da predição o preenchimento do hiperparâmetro deve ser: monotone_constraints=(0,0,1)</p><p>Em casos mais simples, que envolvem uma menor quantidade de variáveis preditoras, a restrição de monotonicidade muitas vezes consegue forçar com que o modelo construído se comporte conforme desejado. No entanto, em situações em que uma maior quantidade de variáveis preditoras está envolvida, muitas vezes essa abordagem não funciona. Isso ocorre porque há um grande compartilhamento de informação por parte das variáveis, de tal forma que aquelas que estão sob restrição deixam de participar no modelo no sentido que não é permitido, mas o modelo acaba combinando as demais variáveis através de interações (muitas vezes complexas) de forma que as variáveis sob restrição sejam “descritas” e a monotonicidade que era buscada não ocorra.</p><p>Para ilustrar esse tipo de situação, poderia ser desenvolvido um modelo alternativo que aparentemente apresentaria viés de pessoas com mais dívidas e maior probabilidade de adimplência. Nesse modelo, seria considerada restrição apenas para a variável de quantidade de dívidas, de forma que essa variável poderia apenas contribuir incrementando a probabilidade de adimplência. O modelo com restrição fazia uso de um total de 255 variáveis, enquanto o modelo sem restrição nenhuma utilizava 258 variáveis. É importante salientar que, ao aplicar restrição, a variável de quantidade de dívidas foi uma das que deixaram de participar do modelo, ou seja, realmente ela entrava no modelo para aumentar a probabilidade de adimplência dos clientes com maior propensão à inadimplência.</p><p>No entanto, no gráfico abaixo podemos comparar as probabilidades dos modelos com e sem restrição de acordo com a quantidade de dívidas em cada grupo e verificar que a restrição não teria alterado quase nada a tendência que antes havia sido observada.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gJYpBN35hggvOKNn_MlC-Q.png" /><figcaption>Comparação modelos com e sem restrição</figcaption></figure><p>Isso ocorreria justamente devido à quantidade de variáveis envolvidas no modelo. Ao ser definido que a variável “quantidade de dívidas” só poderia entrar no modelo para reduzir a probabilidade de adimplência (quanto mais dívidas menor deve ser a probabilidade de adimplência), o algoritmo buscaria em outras variáveis sem restrição definida, combinações que muitas vezes seriam as mesmas da própria variável de “quantidade de dívidas”. Dessa forma, aplicar a restrição em banco de dados com muitas variáveis pode ser algo ineficaz, visto que o algoritmo continua criando relações entre as variáveis equivalentes àquelas que buscamos evitar. Assim, modelo de machine learning continuaria refletindo de forma mais detalhada aquilo que a base de dados nos informaria, o que pode se tratar de um viés de base e não de uma informação.</p><p><strong>Conclusão</strong></p><p>Devemos ser cautelosos com modelos de machine learning quando o tema é concessão de crédito. Se por um lado conseguimos extrair muita informação dos dados analisados, através da construção de relações complexas entre as variáveis, por outro devemos ser cada vez mais críticos sobre até que ponto a informação é relevante para o nosso objetivo. Além disso, controlar e compreender quais são as características de um modelo de machine learning é uma tarefa complexa que demanda o conhecimento de um bom analista de modelos. Em muitas situações, uma técnica relativamente mais simples, como a de regressão logística, pode ser a alternativa mais assertiva. Cabe ao analista identificar as particularidades de cada projeto para apontar quais são as ferramentas mais apropriadas.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2846776221bc" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>