<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivos Machine learning - Estatidados</title>
	<atom:link href="http://estatidados.com.br/category/dados/machine-learning/feed/" rel="self" type="application/rss+xml" />
	<link>http://estatidados.com.br/category/dados/machine-learning/</link>
	<description>Comunidade de Estatística</description>
	<lastBuildDate>Thu, 09 Jun 2022 20:13:16 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>CRISP-DM (Processo Padrão Inter-Indústrias para Mineração de Dados)</title>
		<link>http://estatidados.com.br/crisp-dm-processo-padrao-inter-industrias-para-mineracao-de-dados/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=crisp-dm-processo-padrao-inter-industrias-para-mineracao-de-dados</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 09 Jun 2022 18:35:17 +0000</pubDate>
				<category><![CDATA[ciencia de dados]]></category>
		<category><![CDATA[Jodavid Ferreira]]></category>
		<category><![CDATA[Machine learning]]></category>
		<category><![CDATA[cienciadedados]]></category>
		<category><![CDATA[crispdm]]></category>
		<category><![CDATA[machinelearning]]></category>
		<category><![CDATA[ml]]></category>
		<guid isPermaLink="false">http://estatidados.com.br/?p=703</guid>

					<description><![CDATA[<p>PUBLISHED ON 4 DE JUN DE 2022 —&#160;BIG DATA,&#160;MACHINE LEARNING,&#160;PROGRAMMING,&#160;R,&#160;STATISTICS Olá, no texto de hoje será abordado o&#160;CRISP-DM, este que é uma das metodologias ou processo&#160;(particularmente prefiro esse termo)&#160;que pode ser utilizado na jornada de desenvolvimento de soluções com dados.<a class="leiamais" href="http://estatidados.com.br/crisp-dm-processo-padrao-inter-industrias-para-mineracao-de-dados/" title="CRISP-DM (Processo Padrão Inter-Indústrias para Mineração de Dados)">...[Continuar lendo]</a></p>
<p>O post <a href="http://estatidados.com.br/crisp-dm-processo-padrao-inter-industrias-para-mineracao-de-dados/">CRISP-DM (Processo Padrão Inter-Indústrias para Mineração de Dados)</a> apareceu primeiro em <a href="http://estatidados.com.br">Estatidados</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h6 class="wp-block-heading">PUBLISHED ON 4 DE JUN DE 2022 —&nbsp;<a href="https://jodavid.github.io/categories/big-data">BIG DATA</a>,&nbsp;<a href="https://jodavid.github.io/categories/machine-learning">MACHINE LEARNING</a>,&nbsp;<a href="https://jodavid.github.io/categories/programming">PROGRAMMING</a>,&nbsp;<a href="https://jodavid.github.io/categories/r">R</a>,&nbsp;<a href="https://jodavid.github.io/categories/statistics">STATISTICS</a></h6>



<p>Olá, no texto de hoje será abordado o&nbsp;<strong>CRISP-DM</strong>, este que é uma das metodologias ou processo&nbsp;<em>(particularmente prefiro esse termo)</em>&nbsp;que pode ser utilizado na jornada de desenvolvimento de soluções com dados. Apesar do foco do texto caminhar pelo CRISP-DM, existem outros processos propostos na literatura, dois deles são o famoso&nbsp;<strong>KDD</strong>&nbsp;&#8211;&nbsp;<em>Knowledge Discovery in Databases (Descoberta de Conhecimento em Bases de Dados)</em>&nbsp;proposto por Fayyad et al (1996) e o&nbsp;<strong>SEMMA</strong>&nbsp;acrônimo de&nbsp;<em>Sample, Explore, Modify, Model e Assess (Amostra, Explorar, Modificar, Modelar e Avaliar)</em>, desenvolvido pelo Instituto SAS.</p>



<p>Desenvolvido em 1999 por meio dos esforços de um consórcio composto inicialmente pela&nbsp;<em>DaimlerChrysler</em>,&nbsp;<em>SPSS</em>&nbsp;e&nbsp;<em>NCR</em>, o&nbsp;<strong>CRISP-DM</strong>&nbsp;&#8211;&nbsp;<em>Cross Industry Standard Process for Data Mining (Processo Padrão Inter-Indústrias para Mineração de Dados)</em>&nbsp;<code>surgiu como forma de apoio ao processo de descoberta do conhecimento e para padronizar os processos de mineração de dados em todos os setores</code>. Desde então, este processo é um dos mais utilizados para projetos de mineração de dados, estatística, análise e ciência de dados.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Os times de ciência de dados que combinam uma implementação flexível do CRISP-DM com abordagens abrangentes de gerenciamento de projetos ágeis baseadas em equipe, provavelmente obterão melhores resultados.</p></blockquote>



<p>O&nbsp;<strong>CRISP-DM</strong>&nbsp;é formado por 6 fases, que podemos descrever como:</p>



<ol class="wp-block-list"><li><em>Compreensão do Negócio</em>: O que o negócio precisa?</li><li><em>Compreensão dos Dados</em>: Que dados temos/precisamos? Está ‘limpo’, tratado, prontos para uso?</li><li><em>Preparação dos Dados</em>: Como organizamos os dados para modelagem?</li><li><em>Modelagem</em>: Quais técnicas de modelagem devemos aplicar?</li><li><em>Avaliação</em>: Qual modelo melhor atende aos objetivos do negócio?</li><li><em>Desenvolvimento</em>:Como as partes interessadas acessam os resultados?</li></ol>



<p>Abaixo é mostrado uma figura que representa o processo&nbsp;<strong>CRISP-DM</strong>&nbsp;e como as fases se interrelacionam:<img decoding="async" src="https://jodavid.github.io/img/crispdm/grafico_crisp_dm.png" alt=""></p>



<p>Etapas do CRISP-DM.Fonte: próprio autor.</p>



<p>A seguir serão detalhados as etapas como forma de deixar mais claro o que é necessário extrair e executar em cada uma delas.</p>



<hr class="wp-block-separator"/>



<h3 class="wp-block-heading">1. Compreensão do Negócio</h3>



<p>Nesta primeira fase de&nbsp;<em>compreensão do negócio</em>, o foco é no entendimento dos objetivos e requisitos do projeto.&nbsp;<code>Conhecer e compreender o problema a ser resolvido é de suma importância neste processo.</code>&nbsp;Perceba que no próprio diagrama existem retornos para esta fase a partir de outras etapas do processo, ou seja, podem ocorrer falhas durante o processo por má compreensão do negócio. Para fins de tentar mitigar estes riscos de má compreensão, o&nbsp;<em>CRISP-DM</em>&nbsp;determina algumas atividades nesta fase, conforme é descrito a seguir:</p>



<ul class="wp-block-list"><li><strong>Determine os objetivos de negócios</strong>: entender completamente de uma perspectiva de negócios, o que o cliente realmente deseja realizar e, em seguida, definir os critérios de sucesso do negócio.</li><li><strong>Avalie a situação</strong>: determine a disponibilidade de recursos, os requisitos do projeto, avalie riscos e contingências e realize uma análise de custo-benefício.</li><li><strong>Determine as metas</strong>: Além de definir os objetivos de negócios, você também deve definir como é o sucesso de uma perspectiva técnica.</li><li><strong>Produza o plano do projeto</strong>: selecione tecnologias e ferramentas e defina planos detalhados para cada fase do projeto.</li></ul>



<p>Outros pontos interessantes que podem deixar o entendimento mais completo são:</p>



<ul class="wp-block-list"><li><strong>Identificar os especialistas na organização</strong>: Os especialistas da área de negócio (domínio), o pessoal da TI, bem como os responsáveis pela tomada de decisão precisam conhecer o processo. É comum nesta etapa, realizar treinamentos para fins de nivelamento de conhecimento do pessoal em torno do processo e onde o&nbsp;<strong>CRISP-DM</strong>&nbsp;estará atuando.</li><li><strong>Levantar e esboçar as necessidades e expectativas</strong>: As pessoas que estarão envolvidas no processo, precisam expor suas necessidades, principalmente aqueles que irão lidar com os dados e informações obtidos para posterior análise e tomada de decisão. É comum serem feitas rodadas de reuniões com estas pessoas para fins de elencar os objetivos e necessidades.</li><li><strong>Levantamento dos hardwares e softwares</strong>: A organização não é feita apenas de pessoas, mas também de ferramentas e neste sentido se faz necessário conhecer o que existe disponível ou não. O&nbsp;<strong>CRISP-DM</strong>&nbsp;orienta que o processo seja realizado em plataforma que possua arquitetura expansível, com capacidade de suportar grandes volumes de dados, com grandes chances destes dados serem heterogêneos e que possa ter capacidade de processamento compatível com o volume de dados.</li><li><strong>Fazer inventário das bases de dados existentes</strong>: É importante conhecer o que a organização possui de bases de dados internas e do acesso e uso de bases de dados externas. Neste momento, se faz necessário também observar potenciais bases de dados externas que guardem relação com o negócio da organização e por isso podem fazer parte do processo.</li><li><strong>Verificar a existência de DW (Data Warehouses) na organização</strong>: Caso a organização possua dados armazenados em bases multidimensionais, como os Data Lake, Data Warehouses, Data Marts, é possível que ela já tenha estabelecido um processo&nbsp;<em>ETL</em>&nbsp;e neste caso haverá um ganho de esforço no restante do processo.</li></ul>



<hr class="wp-block-separator"/>



<h3 class="wp-block-heading">2. Compreensão dos Dados</h3>



<p>Esta fase geralmente é executada juntamente com a fase anterior (<em>Compreensão do Negócio</em>), em que o estudo sobre as informações coletadas se faz necessário e deve ser feita de forma detalhista. Aqui neste caso, o foco é direcionado para identificar, coletar e analisar os conjuntos de dados que podem ajudá-lo a atingir as metas do projeto. Podemos definir essa fase através de algumas tarefas:</p>



<ul class="wp-block-list"><li><strong>Solicite dados iniciais</strong>: adquira os dados necessários e (se necessário) carregue-os em sua ferramenta de análise.</li><li><strong>Descreva os dados</strong>: examine os dados e&nbsp;<code>documente</code>&nbsp;suas propriedades de superfície, como formato de dados, número de registros ou identidades de campo.</li><li><strong>Explorar dados</strong>: aprofunde-se nos dados. Consulte-o, visualize-o e identifique relacionamentos entre os dados.</li><li><strong>Verificar a qualidade dos dados</strong>: o quão “limpos/sujos”, “tratados/não tratados” estão os dados? Documente quaisquer problemas de qualidade.</li><li><strong>Verificar se a volumetria dos dados atende ao negócio</strong>: refere-se a quantidade de dados que será utilizada, pois amostras pequenas de dados podem não ser úteis para o processo, portanto é importante que seja feito um acordo para o fornecimento de volume de dados adequado.</li></ul>



<hr class="wp-block-separator"/>



<h3 class="wp-block-heading">3. Preparação dos Dados</h3>



<p>Esta fase, prepara o(s) conjunto(s) de dados final(is) para modelagem. As diversas ferramentas analíticas que podem ser usadas nesta fase, apesar de oferecerem muitos recursos, impõem alguns requisitos sobre os dados quanto ao seu formato, gerando a necessidade de formatações e/ou transformações dos mesmos. Nesta estapa é possível dividir em cinco tarefas distintas:</p>



<ul class="wp-block-list"><li><strong>Selecionar dados</strong>: determine quais conjuntos de dados serão usados e documente os motivos da inclusão/exclusão.</li><li><strong>Limpeza dos Dados</strong>: muitas vezes esta é a tarefa mais demorada. Sem ele, você provavelmente será vítima do&nbsp;<code>"lixo que entra e sai do lixo"</code>. Uma prática comum durante esta tarefa é corrigir, imputar ou remover valores incorretos.</li><li><strong>Construir dados</strong>: Derive novos atributos que serão úteis.&nbsp;<em>Por exemplo, derivar o índice de massa corporal de alguém dos campos de altura e peso.</em></li><li><strong>Integrar dados</strong>: crie novos conjuntos de dados combinando dados de várias fontes.</li><li><strong>Formatar dados</strong>: Reformate os dados conforme necessário.&nbsp;<em>Por exemplo, você pode converter valores de string que armazenam números em valores numéricos para poder realizar operações matemáticas</em>.</li></ul>



<hr class="wp-block-separator"/>



<h3 class="wp-block-heading">4. Modelagem</h3>



<p>A&nbsp;<strong>modelagem</strong>&nbsp;é o principal local onde as técnicas são aplicadas aos dados. É importante ter alguma compreensão dos conceitos de modelagem, incluindo os tipos de técnicas e algoritmos existentes. É aqui que você provavelmente construirá e avaliará vários modelos com base em várias técnicas de modelagem diferentes. Esta fase tem quatro tarefas:</p>



<ul class="wp-block-list"><li><strong>Selecione técnicas de modelagem</strong>: Determine quais algoritmos se adequam a problemática,&nbsp;<em>por exemplo: regressão, rede neural, etc</em>.</li><li><strong>Gerar design de teste</strong>: enquanto aguarda sua abordagem de modelagem, pode ser necessário dividir os dados em conjuntos de treinamento, teste e validação.</li><li><strong>Modelo de construção</strong>: Aqui é etapa da execução da modelagem dos algoritmos utilizando a tecnologia selecionada.</li><li><strong>Modelo de avaliação</strong>: Geralmente, vários modelos estão competindo entre si, e o&nbsp;<strong>cientista de dados</strong>&nbsp;precisa interpretar os resultados do modelo com base no&nbsp;<code>conhecimento do domínio, nos critérios de sucesso predefinidos e no design do teste</code>.</li></ul>



<hr class="wp-block-separator"/>



<h3 class="wp-block-heading">5. Avaliação</h3>



<p>O insumo desta fase é a saída da fase anterior em forma de um ou mais modelos. Aqui na fase avaliação, é analisado qual modelo atende melhor ao negócio e o que fazer em seguida. Esta fase possui três tarefas:</p>



<ul class="wp-block-list"><li><strong>Avalie os resultados</strong>: os modelos atendem aos critérios de sucesso do negócio? Qual(is) devemos aprovar para o negócio?</li><li><strong>Processo de revisão</strong>: revise o trabalho realizado. Alguma coisa foi esquecida? Todas as etapas foram executadas corretamente? Resuma as descobertas e corrija qualquer coisa, se necessário.</li><li><strong>Determine as próximas etapas</strong>: Com base nas três tarefas anteriores, determine se deve continuar com a implantação, iterar mais ou iniciar novos projetos.</li></ul>



<hr class="wp-block-separator"/>



<h3 class="wp-block-heading">6. Desenvolvimento</h3>



<p>A fase de&nbsp;<strong>desenvolvimento</strong>&nbsp;consiste da definição das fases de implantação do projeto, levando em consideração que o modelo resultante da fase de modelagem precisa ser factível de ser usado, ou seja, digamos que&nbsp;<code>um modelo não é particularmente útil a menos que o cliente possa acessar seus resultados</code>. A complexidade desta fase varia muito. Esta fase final tem quatro tarefas:</p>



<ul class="wp-block-list"><li><strong>Planejar a implantação</strong>: desenvolva e documente um plano para implantar o modelo.</li><li><strong>Plano de monitoramento e manutenção</strong>: desenvolva um plano completo de monitoramento e manutenção para evitar problemas durante a fase operacional (ou fase pós-projeto) de um modelo.</li><li><strong>Produzir relatório final</strong>: a equipe do projeto documenta um resumo do projeto que pode incluir uma apresentação final dos resultados das etapas realizadas.</li><li><strong>Revisão do projeto</strong>: conduza uma retrospectiva do projeto sobre o que deu certo, o que poderia ter sido melhor e como melhorar no futuro.</li></ul>



<hr class="wp-block-separator"/>



<h4 class="wp-block-heading">Conclusão</h4>



<p>Como uma forma de finalização desse post, com uma conclusão, podemos escrever alguns pontos para que seja possível aproveitar ao máximo os benefícios da&nbsp;<strong>CRISP-DM</strong>, para suprir as fraquezas ou pontos negativos existentes.</p>



<p>Sendo assim, pense sempre em fazer a equipe se concentrar estritamente em entregar lançamentos menores de todas as etapas e frequentemente solicitar feedback ao longo do caminho, evitando dessa forma cair em uma armadilha em cascata trabalhando minuciosamente em todas as etapas do projeto, e raramente retornar a uma etapa anterior, e a entrega ser um “big bang” no final do projeto porque a sua primeira entrega pode não ser muito útil, por estar nas fases iniciais do processo.</p>



<p>As etapas do processo exigem muita documentação, assim o gasto de tempo fazendo documentações poderá ser maior do que fazendo qualquer outra coisa, entretanto, procure sempre documentar o que for suficiente… mas não precisa exagerar. Não se esqueça também das tecnologias atuais: adicione etapas para aproveitar arquiteturas de nuvem e práticas de software modernos, como controle de versão&nbsp;<code>git</code>&nbsp;e pipelines de CI/CD ao seu plano de projeto, quando apropriado.</p>



<p>O&nbsp;<strong>CRISP-DM</strong>&nbsp;carece de estratégias de comunicação com as partes interessadas. Portanto, certifique-se de definir expectativas e se comunicar com eles com frequência.</p>



<p>E por fim, combine com uma abordagem de gerenciamento de projetos. Como uma declaração mais generalizada do item anterior, o&nbsp;<strong>CRISP-DM</strong>&nbsp;não é realmente uma abordagem de gerenciamento de projetos. Assim, combine-o com uma estrutura de coordenação de ciência de dados. As abordagens ágeis populares incluem:&nbsp;<strong>Kanban</strong>,&nbsp;<strong>Scrum</strong>&nbsp;e&nbsp;<strong>Scrum Orientado a Dados</strong>.</p>



<p>Fontes:</p>



<p>Azevedo, A. e Manuel, F.S. “KDD, SEMMA and CRISP-DM: a parallel overview.” IADS-DM (2008).</p>



<p>Fayyad, U. M. “Data mining and knowledge discovery: making sense out of data”. IEEE Expert, Vol. 11 No.&nbsp;5, pp.&nbsp;20-25 (1996).</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-blog-dnc-group wp-block-embed-blog-dnc-group"><div class="wp-block-embed__wrapper">
https://dnc.group/blog/data-science/metodologia-crisp-dm/
</div></figure>



<figure class="wp-block-embed is-type-wp-embed is-provider-data-science-process-alliance wp-block-embed-data-science-process-alliance"><div class="wp-block-embed__wrapper">
https://www.datascience-pm.com/crisp-dm-2/
</div></figure>



<figure class="wp-block-embed"><div class="wp-block-embed__wrapper">
https://blog.grancursosonline.com.br/processo-de-mineracao-de-dados-com-crisp-dm/
</div></figure>



<p><br>Texto baseado nas fontes citadas.<br></p>



<h4 class="wp-block-heading">“Post gerado com framework HUGO (<a href="http://gohugo.io/">http://gohugo.io/</a>), R Markdown (<a href="http://rmarkdown.rstudio.com/">http://rmarkdown.rstudio.com/</a>), no qual os resultados são gerados na geração da página.”</h4>



<h6 class="wp-block-heading">TAGS: <a href="https://jodavid.github.io/tags/big-data">BIG DATA</a>, <a href="https://jodavid.github.io/tags/machine-learning">MACHINE LEARNING</a>, <a href="https://jodavid.github.io/tags/programming">PROGRAMMING</a>, <a href="https://jodavid.github.io/tags/r">R</a>, <a href="https://jodavid.github.io/tags/statistics">STATISTICS</a></h6>



<p>Post original: https://jodavid.github.io/post/2022-06-04-crisp-dm-processo-padr-o-inter-ind-strias-para-minera-o-de-dados/</p>



<h6 class="wp-block-heading"><a href="https://jodavid.github.io/"></a></h6>



<p></p>
<p>O post <a href="http://estatidados.com.br/crisp-dm-processo-padrao-inter-industrias-para-mineracao-de-dados/">CRISP-DM (Processo Padrão Inter-Indústrias para Mineração de Dados)</a> apareceu primeiro em <a href="http://estatidados.com.br">Estatidados</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>O que são modelos científicos e como eles funcionam</title>
		<link>http://estatidados.com.br/o-que-sao-modelos-cientificos-e-como-eles-funcionam/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=o-que-sao-modelos-cientificos-e-como-eles-funcionam</link>
					<comments>http://estatidados.com.br/o-que-sao-modelos-cientificos-e-como-eles-funcionam/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 24 Sep 2021 12:15:13 +0000</pubDate>
				<category><![CDATA[Bruno Borges de Souza]]></category>
		<category><![CDATA[ciencia de dados]]></category>
		<category><![CDATA[Machine learning]]></category>
		<guid isPermaLink="false">http://estatidados.com.br/?p=652</guid>

					<description><![CDATA[<p>Com o conhecimento científico foi possível a realização de feitos antes inimagináveis, como a comunicação à velocidade da luz, nanotecnologia, fissão nuclear, viagem ao espaço, inteligência artificial, dentre outras. O poder do conhecimento científico está na criação de modelos que<a class="leiamais" href="http://estatidados.com.br/o-que-sao-modelos-cientificos-e-como-eles-funcionam/" title="O que são modelos científicos e como eles funcionam">...[Continuar lendo]</a></p>
<p>O post <a href="http://estatidados.com.br/o-que-sao-modelos-cientificos-e-como-eles-funcionam/">O que são modelos científicos e como eles funcionam</a> apareceu primeiro em <a href="http://estatidados.com.br">Estatidados</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Com o conhecimento científico foi possível a realização de feitos antes inimagináveis, como a comunicação à velocidade da luz, nanotecnologia, fissão nuclear, viagem ao espaço, inteligência artificial, dentre outras. O poder do conhecimento científico está na criação de modelos que representam a realidade ou um fragmento de um sistema. Eles são usados na construção de teorias científicas, que visam capturar a estrutura ou dinâmica da própria realidade. A validação de uma teoria envolve testar hipóteses, que é baseada na análise de padrões encontrados em dados empíricos. Quer a hipótese seja baseada em dados ou na teoria, um conjunto de dados empíricos precisa estar disponível para testar os resultados do modelo. Em seguida, um processo algorítmico é projetado e implementado com o objetivo de descrever matematicamente a estrutura ou dinâmica de interesse. Posteriormente, o modelo é executado e validado comparando dados simulados com dados empíricos. Os insights resultantes inspiram novas hipóteses científicas e o modelo é refinado iterativamente ou novos modelos são desenvolvidos.</p>



<p>Uma pergunta que instiga muitos filósofos epistemológicos é como modelos são criados. Isso significa entender como ocorre o processo de aprendizado de um conhecimento científico, ou seja, entender como, a partir de dados experimentais, conseguimos extrapolá-los e criar modelos confiáveis. O que significa ser confiável na metodologia científica? Como ocorre o processo de generalização a partir da dedução e da indução do conhecimento empírico para um princípio universal, como as leis de Newton ou a mecânica quântica?</p>



<p>Indo além do mero aprendizado humano, pode-se questionar ainda os atuais modelos de aprendizado de máquina e fazer os mesmos questionamentos: Como máquinas aprendem e geram modelos confiáveis baseados apenas em dados empíricos? O que veremos nesse artigo é um paralelo entre filosofia, ciência e a inteligência artificial para nos aprofundarmos nesses questionamentos. Veremos o que significa um &#8220;bom modelo&#8221; na ciência e como o teste de hipóteses valida o conhecimento científico. Também será discutido a &#8220;fonte do conhecimento&#8221;, com suas escolas de pensamento empirista e racionalista e onde o aprendizado de máquina se encontra.</p>



<h3 class="wp-block-heading">O que caracteriza um bom modelo?</h3>



<p>Em certo sentido, todos os modelos estão errados. Isso implica que nenhuma descrição da realidade é a última e todos os modelos atuais estão sujeitos a refinamentos conforme novos dados são apresentados.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><em>&#8220;Todos os modelos implicam em esquematizações e simplificações que se traduzem em “suposições”. E cada suposição de um modelo é uma fonte possível de erro.&#8221;</em></p></blockquote>



<p>Dessa maneira, entendemos que ao criar um modelo, o objetivo não deve ser criar uma descrição última ou perfeita da realidade, e sim minimizar o erro entre a realidade objetiva e a descrição subjetiva dada pelo modelo. Mas existe uma descrição última da realidade que pode ser representada por um modelo matemático perfeito? Esse é um debate filosófico interessante, iniciada por Platão e Aristóteles, e ainda continua sem resposta, com duas correntes filosóficas concorrentes: a realista e a antirrealista.</p>



<p>Platão defende em obras como A República e Fédon, que o conhecimento só é alcançado quando atingimos a “ideia” ou “conceito” do objeto. Essa ideia estaria em um mundo independente das objeto, no &#8220;Mundo das Ideias&#8221;. Exemplo: Um modelo de um cavalo seria representação ideal (no mundo das ideias) de um cavalo e o cavalo real seria uma forma imperfeita desta ideia. O mesmo pode-se dizer de conceitos como Justiça, Beleza, etc. Existe um único modelo perfeito que descreve esses conceitos, que estão no Mundo das Ideias. Aristóteles, por outro lado, critica Platão justamente por criar uma independência entre a ideia abstrata do objeto e o objeto em si. Ele concorda, por exemplo, que a observação e comparação de diferentes tipos de cavalo levam a um grupo de aspectos que definem o “modelo de cavalo”, mas tal modelo não existe independentemente, e sim são uma maneira de categorizar objetos com atributos semelhantes a &#8220;cavalos&#8221; observados empiricamente.</p>



<p>Atualmente, o debate se divide entre realistas e antirrealistas. Apesar das diversas interpretações, em geral podemos dizer que o realismo sobre objetos matemáticos, modelos científicos ou processos mentais, se caracteriza pela afirmação de que os objetos em questão “realmente existem”, ou “desfrutam de uma existência independente de qualquer cognição”, ou “estão entre os constituintes últimos do mundo real”&nbsp;<a href="https://www.scielo.br/pdf/ciedu/v5n1/a02v5n1.pdf" target="_blank" rel="noreferrer noopener">[1]</a>. Realistas dizem que os cientistas interpretam “todas as teorias científicas como tentativas de descrições da realidade”. Usando como exemplo a teoria da gravitação universal de Newton, Força, inércia, gravidade, são entidades que realmente existem, pois elas revelam a estrutura causal do mundo. Um antirrealista acredita justamente no contrário. Berkeley, famoso antirrealista, contra-argumentaria Newton afirmando que essas entidades são apenas criações teóricas que compilam a bem e experiência dos sentidos, mas não existem em um &#8220;Mundo das Ideias Platônico&#8221; ou é a última descrição da realidade. Se você já ouviu a discussão &#8220;A matemática é descoberta ou inventada?&#8221;, saiba que isso é basicamente uma discussão profunda sobre o realismo e antirrealismo da matemática.</p>



<p>Pensando de maneira mais concreta, independente se tais modelos existem ou são constructos mentais, é importante entender o que caracteriza um bom modelo, seja ele físico, biológico, econômico, etc. As principais características de tais modelos são:</p>



<ul class="wp-block-list"><li><strong>Parcimônia&nbsp;</strong>&#8211; Aqui temos a questão da simplicidade: Modelos que dependem de menos suposições para explicar um determinado fenômeno são preferíveis. Isso evita o sobreajuste (<em>overffiting</em>), e tais modelos podem falhar em fazer previsões para situações ainda não observadas. Cientistas e analistas de dados conhecem muito bem esse problema, e técnicas rotineiras, como o&nbsp;<em>cross-validation,</em>&nbsp;são tentativas de evitar o&nbsp;<em>overffiting.&nbsp;</em>Na ciência, um exemplo interessante era o debate entre geocentrismo e heliocentrismo. O modelo geocêntrico era demasiadamente complicado, pois ao assumir que a Terra era o centro do Sistema Solar, teria que criar &#8220;epiciclos&#8221; nas órbitas de outros planetas para explicar os problemas de perspectiva do movimento dos planetas ao serem observados na Terra. Aliás, falharia completamente se tivesse que explicar as órbitas em exoplanetas, algo que não acontece com o heliocentrismo.</li></ul>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQEexfyyvG-r6g/article-inline_image-shrink_1000_1488/0/1617204319498?e=1637798400&amp;v=beta&amp;t=NbF6ptNMl_ilTd9uJOE_AVPAaO6_RCu62D21Zu5srgE" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<ul class="wp-block-list"><li><strong>Perspicácia&nbsp;</strong>&#8211; São modelos que revelam propriedades fundamentais do objeto que está sendo representado. Quando Newton, escreveu que sua teoria é &#8220;O Sistema do Mundo&#8221; ele não estava exagerando: Ele revelou propriedades fundamentais da gravidade, como a teoria da gravitação universal e as famosas Leis de Newton, que revolucionou a física em sua época. Um modelo ainda mais perspicaz é a Teoria da Relatividade Geral, onde Einstein entendeu a gravidade como a distorção causada pela matéria no tecido do próprio Espaço-Tempo.</li><li><strong>Generalização&nbsp;</strong>&#8211; São modelos que podem ser aplicados em uma ampla gama de situações. Por exemplo, as Leis de Newton podem explicar porque as maças caem enquanto a Lua não. As equações de Maxwell são capazes de explicar satisfatoriamente todos os fenômenos elétricos e magnéticos existentes e unificá-lo num único modelo , descrita pela&nbsp;<em>Teoria Eletromagnética.&nbsp;</em>Indo além, físicos buscaram criar modelos ainda mais gerais, buscando unificar as forças fundamentais da natureza: a unificação da força eletromagnética com a força nuclear fraca gerou a&nbsp;<em>Teoria Eletrofraca</em>, e uma unificação ainda maior, adicionando a força nuclear forte, gerou a chamada&nbsp;<em>Grande Teoria Unificada</em>&nbsp;(GUT) que pode explicar fenômenos que aconteceram próximo ao Big Bang, quando tais forças ainda não eram distintas. O Santa Graal da física é a unificação de todas as forças fundamentais numa única teoria (A Teoria de Tudo), mas a gravidade, a mais fraca das forças, ainda é difícil de ser explicada em nível quântico, causando total incompatibilidade entre a Teoria da Relatividade Geral e a Mecânica Quântica.</li><li><strong>Falseabilidade &#8211;&nbsp;</strong>Essa é uma propriedade fundamental da ciência. Todos os modelos científicos devem passar por um teste que possa verificar se determinada ideia, hipótese ou teoria é falsa. Um modelo é falseável se e somente faz previsões não triviais que podem, em princípio, ser falsificadas empiricamente. Se um modelo não faz previsões falsificáveis, então o modelo não pode ser avaliado empiricamente.<strong>&nbsp;</strong>Tal propriedade está diretamente relacionada com a&nbsp;<strong>previsão</strong>, já que para passar na falseabilidade, a predição do modelo deve ser avaliada no teste de hipóteses, onde o&nbsp;<em>status quo&nbsp;</em>e a hipótese alternativa (do modelo) são avaliado com dados observáveis. A teoria de Newton foi extensivamente avaliada em diversos fenômenos onde foi comprovado o poder de previsão. Apesar disso, em alguns fenômenos, onde o efeito gravitacional é muito forte ou onde o objeto está próximo à velocidade da luz, a teoria falha, e é necessário considerar efeitos relativísticos, que só podem ser explicadas pela relatividade especial e geral de Einstein. Uma teoria famosa que por enquanto nem teoricamente pode ser falseada é a Teoria da Supercordas, tentativa de unificar todas as forças fundamentais, onde os menores constituintes da realidade são pequenos filamentos de energia semelhantes a pequenas&nbsp;cordas vibrantes. O problema é que para detectar essas cordas seria necessário um acelerador de partículas maior que o sistema solar. Devido a essa impossibilidade de verificar se a teoria está correta ou não, muitos físicos não consideram a Teoria das Supercordas como ciência.</li></ul>



<h3 class="wp-block-heading">Teste de hipóteses: como os modelos são avaliados</h3>



<p>O Teste de hipóteses é um procedimento estatístico fundamental na tomada de decisões, entre aceitar ou não uma hipótese. Na ciência, é utilizado para validar resultados de estudos, com o objetivo de aceitar ou não a hipótese nula, dada um determinado nível de significância (<em>p-value</em>). Para exemplificar como o teste de hipóteses funciona, vamos considerar duas moedas. Gostaria de avaliar se essas moedas são justas ou viciadas. Um modelo de moeda justa teria como resultado de lançamentos um valor próximo a 50% cara e 50% coroa, enquanto um modelo de moeda viciada teria uma proporção diferente. A hipótese nula é sempre o status quo, ou seja, que a moeda é justa (você geralmente recebe uma moeda justa, você que propôs que ela é viciada, que no caso forma a hipótese alternativa). Jogando cada moeda 10 vezes chegamos no seguinte resultado, onde cara é C e coroa é K:</p>



<p><strong>Moeda 1: CKCCKKCCKC</strong></p>



<p><strong>Moeda 2: CCCCCCCKCC</strong></p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQFlafulTZiFYw/article-inline_image-shrink_1000_1488/0/1617221791324?e=1637798400&amp;v=beta&amp;t=yO1M9AcAR76RrPUb1IgcmFA_DhDnUdTOopUj2C7NoKc" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>Vamos avaliar a moeda 1: Quais chances de uma moeda justa dar 6 caras e 4 coroas? Usando a distribuição binomial, chegamos em 23%. Se usarmos um&nbsp;<em>p-value</em>&nbsp;de 5%, então a hipótese nula só seria rejeitada caso um evento incomum acontecesse menos que 5% das vezes. Com 23% de chance de ocorrer tal evento, falhamos em rejeitar a hipótese nula.</p>



<p>Agora vamos avaliar a moeda 2: Nessa caso, temos 9 caras e uma coroa. As chances disso acontecer é de 0.9%, valor suficiente para classificá-lo como &#8220;raro&#8221;, já que é menor que o p-value de 5%. Assim, rejeitamos a hipótese nula, ou seja, a moeda é viciada.</p>



<p>Então, o p-value avalia o quão provável ou improvável é um evento ao considerar a hipótese nula. Se você quer avaliar se uma vacina é segura, precisa fazer um teste em uma amostra significativa de pessoas e, considerando como hipótese nula que a vacina NÃO é segura , obter uma probabilidade baixa o suficiente de alguém ter algum efeito colateral ao tomar a vacina de maneira que te levaria a rejeitar a hipótese nula.</p>



<p>Pra exemplificar o conceito de ter uma amostra significativa, considere que você está avaliando uma terceira moeda, e fez três lançamentos com os seguintes resultados:</p>



<p><strong>Moeda 3: CCC</strong></p>



<p>Tivemos 100% de caras, o que leva a crer que é uma moeda viciada. Mas o p-value, ou seja, as chances de uma moeda justa dar esse resultado, é de 12,8%, o que falharia em rejeitar a hipótese de que a moeda é justa! Isso mostra que o teste de hipóteses é sensível ao tamanho da amostra. Então tenha muitos dados para avaliar.</p>



<h3 class="wp-block-heading">Teorias do Aprendizado</h3>



<p>Uns dos debates mais importantes da filosofia se diz a respeito de como aprendemos, ou seja, de que maneira o conhecimento genuíno e necessário é adquirido, compreendendo as diversas formas de buscá-lo Na filosofia moderna, houveram duas correntes diferentes de pensamento. A primeira, iniciada por René Descartes e que também foi adotada por Leibniz e Noam Chomsky é a&nbsp;<strong>racionalista</strong>. Como oposição, temos o&nbsp;<strong>empirismo,</strong>&nbsp;onde temos como maiores defensores dessa corrente Locke, Berkeley e Hume.</p>



<p>No&nbsp;<strong>racionalismo</strong>, tem-se a razão como principal fonte de conhecimento humane e acredita-se na dedução como principal método investigativo. Temos um &#8220;conhecimento inato&#8221; como certas categorias de espaço, de tempo e de causa e efeito. Com esse conhecimento, em sua forma mais pura, o racionalismo chega ao ponto de sustentar que todas as nossas crenças racionais, e a totalidade do conhecimento humano, consistem em primeiros princípios e conceitos inatos que são de alguma forma gerados e certificados pela razão, junto com qualquer coisa logicamente dedutível a partir desses primeiros princípios. Esses princípios, os fundamentos do nosso conhecimento, são proposições que são evidentes por si mesmas (auto-evidentes). Por exemplo, Descartes acreditava que deveríamos desconfiar de tudo, menos na própria capacidade de duvidar e, a partir dessa certeza do &#8220;Penso, logo existo&#8221;, seriam deduzidos novos conhecimentos. Outro exemplo seriam os teoremas matemáticos, onde por dedução podemos chegar a conclusões racionais absolutas.</p>



<p>O&nbsp;<strong>empirismo</strong>, por outro lado, afirma que a experiência é a fonte do conhecimento, tendo a indução da experiência como principal método investigativo, Para os empiristas, todas as nossas ideias vêm unicamente da experiência sensorial. Nosso conhecimento é&nbsp;<em>a posteriori</em>, na medida em vamos tendo experiência do assunto, e é dependente da experiência dos sentidos. Os empiristas também negam a implicação da tese do conceito inato, correspondente a de que temos ideias inatas na área de assunto. Eles também rejeitam a versão correspondente da tese da superioridade da razão. Visto que a razão por si só não nos dá nenhum conhecimento, certamente não nos dá um conhecimento superior. Os empiristas podem afirmar, como alguns fazem para alguns sujeitos, que os racionalistas estão corretos ao afirmar que a experiência não pode nos dar conhecimento. A conclusão que eles tiram dessa lição racionalista é que não sabemos nada. David Hume, um empirista radical, gostava de usar como exemplo o nascer do sol. Ele dizia que o nascer do sol é um conhecimento adquirido através da indução, já que você viu o sol nascer no leste desde que você nasceu, mas não temos garantias de que ele vai nascer amanhã, isso não pode ser uma afirmação auto-evidente.</p>



<p>Racionalismo e empirismo não precisam entrar em conflito. Podemos ser racionalistas em matemática, já que teoremas como o Teorema de Pitágoras ou o Teorema Fundamental do Cálculo podem ser deduzidos a priori, e podemos ser empiristas em todas ou em algumas das ciências físicas, utilizando o teste de hipóteses para validar experimentos. Racionalismo e empirismo só entram em conflito quando formulados para cobrir o mesmo assunto. E para solucionar esse conflito, chegamos em&nbsp;<strong>Immanuel Kant,&nbsp;</strong>que revolucionou a epistemologia em sua grande obra &#8220;Crítica da Razão Pura&#8221;.</p>



<p>Kant cria a Teoria dos Juízos, onde ele dirá que existem o Juízo analítico e o Juízo sintético. Juízos analíticos são aqueles em que o predicado não acrescenta em nada o sujeito, exemplo &#8220;Todo triângulo tem três lados&#8221; ou &#8220;Todos os corpos são extensos. Como não dependem de tempo e lugar, são juízos&nbsp;<em>a priori</em>&nbsp;e universais. Juízos sintéticos são aqueles que acrescentam algo ao sujeito, como por exemplo &#8220;Todos os corpos são pesados&#8221; e sempre partem da experiência. Podem ser divididos em dois tipo:&nbsp;<em>A priori&nbsp;</em>e&nbsp;<em>A posteriori.&nbsp;</em>O juízo sintético&nbsp;<em>a posteriori&nbsp;</em>é baseado na indução da experiência, enquanto o juízo sintético&nbsp;<em>a priori&nbsp;</em>não necessitam da experiência imediata, como as afirmações matemáticas. Parece confuso à vista, já que se tende a acreditar que a afirmação &#8220;7+5=12&#8221; é puramente analítica, mas como Kant descreve em &#8220;Crítica da Razão Pura&#8221; [2]:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Poder-se-ia em verdade crer, à primeira vista, que a proposição 7 + 5 = 12 é puramente analítica, resultante, segundo o princípio de contradição, do conceito de uma soma de sete e cinco. Mas se a considerarmos com mais atenção, acharemos que o conceito de soma de sete e cinco não contém mais do que a união dos dois números em um só, o que não faz pensar qual seja esse número único que compreenda aos outros dois. O conceito de 12 não é de modo algum percebido só pelo pensamento da união de cinco e sete, e posso decompor todo meu conceito dessa soma tanto quanto quiser, sem que por isso encontre o número 12. É preciso, pois, ultrapassar esse conceito recorrendo-se à intuição correspondente a um dos dois números, e aditar sucessivamente ao conceito sete as cinco unidades dadas na intuição. [&#8230;] A proposição aritmética é, pois, sempre sintética: o que se compreende ainda mais claramente se se tomam números maiores, pois então é evidente que, por mais que volvamos e coloquemos nosso conceito quanto quisermos, nunca poderemos achar a soma mediante a simples decomposição de nossos conceitos e sem o auxilio da intuição.&nbsp;</p></blockquote>



<p>Um problema que surge imediatamente quando se fala em juízos sintéticos a priori é o verdadeiro problema da razão pura. Como são possíveis os juízos sintéticos&nbsp;<em>a priori</em>? Como se origina o conhecimento da física teórica e da matemática pura? Como são teorizados os modelos científicos que tanto transformaram o mundo? Kant, para responder essa pergunta, cria a&nbsp;<strong>Teoria Elementar Transcendental,</strong>&nbsp;divididas em estética e lógica transcendental.</p>



<p>A Estética transcendental é a ciência de todos os princípios. É a priori, e diz respeito à capacidade de adquirirmos conhecimento de acordo com a sensibilidade. É apenas através da sensibilidade que podemos ter uma intuição do objetos de estudo. Entenda a intuição como a capacidade de encontrar indícios que levem a alguma correlação, generalização, a algum conhecimento sintético. Conforme afirma Kant:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Todo pensamento deve em última análise, seja direta ou indiretamente, mediante certos caracteres, referir-se às intuições, e, conseguintemente, à sensibilidade, porque de outro modo nenhum objeto nos pode ser dado.</p></blockquote>



<p>Entremos agora no conceito de<strong>&nbsp;lógica transcendental</strong>. Quando falamos da lógica geral, abstraímos a matéria do conhecimento intelectual e toda a diversidade de seus objetos, e só nos ocupamos com a forma do pensamento. Como Lógica&nbsp;<strong>pura</strong>, não tem nenhum princípio empírico e, por conseguinte, não empresta nada da Psicologia, que não exerce influência alguma sobre o cânon do entendimento. É uma doutrina demonstrada, e tudo deve ser nela amplamente “a priori”. Uma Lógica geral é&nbsp;<strong>aplicada</strong>, quando se ocupa das regras do uso do entendimento, sob as condições empíricas e subjetivas que nos ensina a psicologia. Esta Lógica tem também princípios empíricos, ainda que seja geral enquanto trata da aplicação do entendimento sem distinção de objetos [2]. Para Kant, é preciso fazer a passagem da lógica geral, para a&nbsp;<strong>transcendental</strong>. A Lógica transcendental está mais relacionado ao entendimento e à organização do pensamento. Esta Lógica investigaria também a origem do nosso conhecimento de objetos, enquanto tal origem não possa ser atribuída aos objetos; a Lógica geral, pelo contrário, não se ocupa com essa origem do conhecimento, e só se limita a examinar as nossas representações sob o ponto de vista das leis com que o entendimento a emprega e reúne entre si, quando pensa. A lógica transcendental isola o entendimento (assim como a estética transcendental isola a sensibilidade). Esse entendimento é formado a partir da&nbsp;<strong>intuição</strong>, que é determinada&nbsp;<em>a priori&nbsp;</em>pelas formas da sensibilidade que são o espaço e o tempo.</p>



<h3 class="wp-block-heading">Como máquinas aprendem</h3>



<p>O aprendizado de máquina (<em>machine learning</em>) é um ramo da inteligência artificial onde um sistema é capaz de analisar uma grande quantidade de dados, além de usar uma variedade de algoritmos para encontrar padrões no banco de dados. Com base nesses padrões, são gerados modelos (não explicitamente programados por humanos) que conseguem fazer predições. Modelos gerados por algoritmos de&nbsp;<em>machine learning&nbsp;</em>são científicos, pois precisam representar da maneira mais realista o objeto em estudo, satisfazendo princípios como parcimônia, generalização e capacidade de predição.</p>



<p>Já discutimos que modelos científicos são &#8220;fundamentalmente errados&#8221;. Todos os modelos de&nbsp;<em>machine learning</em>&nbsp;usa esse princípio para otimizar (minimizar) o gap entre a previsão e o valor real. Nenhum algoritmo de&nbsp;<em>machine learning</em>&nbsp;cria um modelo 100% acurado. Tais modelos são construções &#8220;artificiais&#8221; que captura um aspecto do objeto que nos interessa e que geram predições que são úteis na tomada de decisões.</p>



<p>Mas como tais algoritmos aprendem? Pelo que vimos a respeito das teorias do conhecimento, podemos dizer que tais modelos são empiristas, já que tentam induzir um modelo a partir de observações nos dados históricos. Mas a construção de tais modelos é racionalista, um conhecimento sintético a priori, já que são aplicados métodos dedutivos para criar algoritmos empiristas. Como humanos deduzem tais algoritmos? A partir da sensibilidade e intuição, podemos buscar analogias nas criações da natureza, como o cérebro ou a evolução, ou na forma como descrevemos o mundo, a partir de símbolos, ou na maneira em que atualizamos nossas crenças a partir de nossas observações, etc. No livro de Paulo Domingos, &#8220;O Algoritmo Mestre&#8221; [3], são classificados cinco tribos de algoritmos de&nbsp;<em>machine learning</em>:</p>



<p>1)&nbsp;<strong>Conexionistas</strong>: É baseada na simulação de componentes do cérebro e tem como principal algoritmo as redes neurais. Surgiu em 1943, quando McCulloch e Pitts cria o conceito de Percéptron, um neurônio artificial de uma camada. As redes neurais artificiais (ANNs) são compostas por camadas de nós, contendo uma camada de entrada, uma ou mais camadas ocultas e uma camada de saída. Cada nó, ou neurônio artificial, se conecta a outro e tem um peso e limite associados. Se a saída de qualquer nó individual estiver acima do valor limite especificado, esse nó será ativado, enviando dados para a próxima camada da rede. A rede neural aprende ajustando os pesos de conexão dos nós de maneira a minimizar a função de perda (a diferença entre o valor real e previsto), usando uma técnica conhecida como&nbsp;<em>backpropagation,&nbsp;</em>onde os pesos da camada de saída são retro propagados usando a regra da cadeia do cálculo diferencial.</p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQFYhj1iNmVUcw/article-inline_image-shrink_1000_1488/0/1617727585967?e=1637798400&amp;v=beta&amp;t=7UoPk5uRtZxRXWuEquS9AR9kAJ7aCFTGUm1LSYsb__U" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>2)&nbsp;<strong>Simbolistas</strong>: A abordagem baseia-se na suposição de que muitos aspectos da inteligência podem ser alcançados pela manipulação de símbolos, uma suposição definida como a “hipótese dos sistemas de símbolos físicos” por Allen Newell e Herbert&nbsp;Simon em meados dos anos 1960. Os algoritmos de Machine Learning simbólicos são focados no desenvolvimento de sistema de manipulação simbólica e em processos cognitivos. Ou seja, buscam simular a forma com que o ser humano pensa para resolver um determinado problema mas, para isso, é necessário que se entre com as informações sobre o mesmo para que então o algoritmo desenvolva uma forma de resolvê-lo. Um exemplo de algoritmo simbolista é a indução de árvores de decisão, que criam regras automáticas que categorizam as instâncias baseados em suas variáveis. Cada nó na árvore de decisão é uma variável a ser dividida em subnós, e essa estrutura é criada de maneira otimizada de maneira a minimizar a entropia nos nós da folha (<em>leaf nodes</em>) da árvore.</p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQHYAb98DciFYw/article-inline_image-shrink_1000_1488/0/1617731217381?e=1637798400&amp;v=beta&amp;t=zd09x5V5MjtOFWXU1Nf5--mepxvsfJqnS4Sc7UIgnNs" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>3)&nbsp;<strong>Analogistas</strong>; aprendem fazendo extrapolações a partir de julgamentos de semelhança nos dados. Os mais conhecidos são os algoritmos KNN e SVM. O KNN é bem simples: Para classificar uma instância X primeiro você encontra os k pontos mais próximo de X e, a seguir, classifica os pontos pela maioria dos votos de seus k vizinhos. Cada objeto vota em sua classe e a classe com mais votos é considerada a previsão. Para encontrar os pontos semelhantes mais próximos, você encontra a distância entre os pontos usando medidas de distância como distância euclidiana, distância de Hamming, distância de Manhattan e distância de Minkowski.</p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQHbqylyge4FjA/article-inline_image-shrink_1000_1488/0/1617729804915?e=1637798400&amp;v=beta&amp;t=JjCLwj0EuOdHNhdP5GyyNbAst9pSaap4UgDBtb2sdGE" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>O SVM usam máquinas de vetores de suporte para encontrar a melhor maneira de separar os dados. É usado técnicas de otimização matemática para encontrar a encontrar a equação que define o melhor hiperplano, maximizando as distância dos vetores de suporte (margens do hiperplano).</p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQFgPsVWupHRJw/article-inline_image-shrink_1000_1488/0/1617729838032?e=1637798400&amp;v=beta&amp;t=dOP0Op5lfhsTh7L9-2-kM-wALC4m0JCgzJl8vlyFURc" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>4)&nbsp;<strong>Evolucionários</strong>: São algoritmos que abduzem o processo de seleção natural de Darwin e um típico algoritmo funciona seguindo as seguintes etapas:</p>



<ol class="wp-block-list"><li>Initial Population&nbsp;&#8211; É inicializado aleatoriamente um conjunto de indivíduos que formará nossa população. No nosso caso, os indivíduos são os modelos com parâmetros escolhidos aleatoriamente;</li><li>Fitness&nbsp;&#8211; Devemos testar essa população em um ambiente hostil. Somente alguns indivíduos vão sobreviver. Você pode criar um ambiente hostil simplesmente estabelecendo um mínimo para o score do modelo;</li><li>Crossover&nbsp;e&nbsp;Mutation<em>&nbsp;&#8211;&nbsp;</em>Define os critérios para a próxima geração. Na etapa de&nbsp;<em>crossover,&nbsp;</em>os genes (hiperparâmetros) dos pais serão recombinados, para produzir filhos, cada filho herdando alguns genes de cada pai. Para manter a diversidade, adicionamos um pouco de mutação nos filhos;</li><li>Offspring<strong><em>&nbsp;</em></strong><em>&#8211;&nbsp;</em>A próxima geração conterá os pais sobreviventes e os filhos, mantemos os pais sobreviventes para manter os melhores genes, caso o valor dos genes do filho seja pior que os pais. O processo é repetido até que os indivíduos da última geração sejam os mais bem evoluídos.</li></ol>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQGvARP27t4o5g/article-inline_image-shrink_1000_1488/0/1617727801313?e=1637798400&amp;v=beta&amp;t=Y19S0mjZZP0LsvLIP_oVK72CNirjqKPIOVoX8y46DCg" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>5)&nbsp;<strong>Bayesianos</strong>: Tem como principal motivador o famoso teorema de bayes. O pensamento Bayesiano fornece uma abordagem probabilística para a aprendizagem e está baseado na suposição de que as quantidades de interesse são reguladas por distribuições de probabilidades. Para um algoritmo bayesiano, &#8220;aprender&#8221; significa atualizar as chances&nbsp;<em>a priori</em>&nbsp;de um evento baseado em novas evidências a posteriori. Por exemplo, usando o teorema de Bayes, podemos encontrar a probabilidade de A acontecer, dado que B ocorreu. Aqui, B é a evidência&nbsp;<em>a posteriori</em>&nbsp;e A é a hipótese&nbsp;<em>a priori</em>. A suposição feita aqui é que os preditores / recursos são independentes. Ou seja, a presença de um determinado recurso não afeta o outro. Por isso que tal algoritmo é chamado de ingênuo (<em>naive bayes</em>).</p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQE5et-hQJyYvw/article-inline_image-shrink_1000_1488/0/1617728213300?e=1637798400&amp;v=beta&amp;t=Jq0LB-nwRJH3MxwlHS1g7dhfF5cldxYLFfARFFfCghs" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>Assim, o&nbsp;<em>machine learning</em>&nbsp;pode ser considerado uma implementação por humanos de técnicas em máquinas para adquirir conhecimento a partir de observações&nbsp;<em>a posteriori</em>. A origem do sucesso do aprendizado de máquina depende de sua capacidade de derivar relações entre fenômenos e potencialmente descobrir o estado oculto (latente) de um sistema (indução), ou seja, potencialmente fornecer um conhecimento verdadeiro intrínseco do sistema. A identificação do sistema e o design baseado no modelo com o auxílio do aprendizado de máquina constituem um primeiro passo para encontrar padrões de um sistema por meio de uma abordagem mista de aprendizagem&nbsp;<em>a priori &#8211; a posteriori</em>, que, retrospectivamente, segue a filosofia de Kant.</p>



<p>Para finalizar, cabe uma última questão. Poderá existir um algoritmo de machine learning que poderá pensar como nós? A reposta iria depender da capacidade de máquinas em poder ter uma estética e lógica transcendental, que a permitam extrair conhecimento a partir da sensibilidade com os objetos ao seu redor iue organizar seus pensamentos com o objetivo de gerar novas deduções lógicas capazes de ampliar o conhecimento científico. O principal problema é o paradoxo que surge ao criar tal máquina. Como faríamos para uma máquina procurar princípios a partir da sensibilidade e intuição do mundo, sem que precisássemos explicitamente introduzir esses princípios em suas mentes?</p>



<p>[1] Silva, M. R. D. (1998). Realismo e anti-realismo na ciência: aspectos introdutórios de uma discussão sobre a natureza das teorias.&nbsp;<em>Ciência &amp; Educação (Bauru)</em>,&nbsp;<em>5</em>(1), 07-13.</p>



<p>[2] Kant, I. (2020).&nbsp;<em>Crítica da razão pura</em>. EDIPRO.</p>



<p>[3] Domingos, P. (2017).&nbsp;<em>O algoritmo mestre: como a busca pelo algoritmo de machine learning definitivo recriará nosso mundo</em>. Novatec Editora.</p>
<p>O post <a href="http://estatidados.com.br/o-que-sao-modelos-cientificos-e-como-eles-funcionam/">O que são modelos científicos e como eles funcionam</a> apareceu primeiro em <a href="http://estatidados.com.br">Estatidados</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://estatidados.com.br/o-que-sao-modelos-cientificos-e-como-eles-funcionam/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Identificação e Detecção de Anomalias de Processo usando Análise de Componentes Principais</title>
		<link>http://estatidados.com.br/identificacao-e-deteccao-de-anomalias-de-processo-usando-analise-de-componentes-principais/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=identificacao-e-deteccao-de-anomalias-de-processo-usando-analise-de-componentes-principais</link>
					<comments>http://estatidados.com.br/identificacao-e-deteccao-de-anomalias-de-processo-usando-analise-de-componentes-principais/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Mon, 26 Oct 2020 13:51:58 +0000</pubDate>
				<category><![CDATA[ciencia de dados]]></category>
		<category><![CDATA[Ícaro Augusto]]></category>
		<category><![CDATA[Machine learning]]></category>
		<guid isPermaLink="false">http://estatidados.com.br/?p=469</guid>

					<description><![CDATA[<p>Introdução A qualidade é uma das coisas mais importantes que é necessário trabalhar nas indústrias e nos processos produtivos atuais. Quando pensamos em metodologias enxutas (como o Lean Manufacturing ou o Sistema Toyota de Produção), não podemos deixar de lembrar<a class="leiamais" href="http://estatidados.com.br/identificacao-e-deteccao-de-anomalias-de-processo-usando-analise-de-componentes-principais/" title="Identificação e Detecção de Anomalias de Processo usando Análise de Componentes Principais">...[Continuar lendo]</a></p>
<p>O post <a href="http://estatidados.com.br/identificacao-e-deteccao-de-anomalias-de-processo-usando-analise-de-componentes-principais/">Identificação e Detecção de Anomalias de Processo usando Análise de Componentes Principais</a> apareceu primeiro em <a href="http://estatidados.com.br">Estatidados</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQHw7hzzxPvWZQ/article-cover_image-shrink_600_2000/0?e=1609372800&amp;v=beta&amp;t=tI-XuGq3BGCIIh0Y8MHFcpLbz6ggZwWU3Smo9xopyqk" alt=""/></figure>



<h2 class="wp-block-heading">Introdução</h2>



<p>A qualidade é uma das coisas mais importantes que é necessário trabalhar nas indústrias e nos processos produtivos atuais.</p>



<p>Quando pensamos em metodologias enxutas (como o Lean Manufacturing ou o Sistema Toyota de Produção), não podemos deixar de lembrar que a ocorrência de defeitos é um dos 7 desperdícios visuais, que devem ser combatidos com a aplicação das ferramentas e com a mudança de mentalidade das pessoas envolvidas no processo.</p>



<p>Tomando como outro exemplo o sistema de gestão TPM (do inglês,&nbsp;<em>Total Productive Maintenance</em>), um dos objetivos do Pilar de Qualidade é identificar as maiores vozes de ocorrências de defeitos e traçar ações para reduzir tais ocorrências de defeitos. Através da estratificação das ocorrências de defeitos (utilizando ferramentas como diagramas de Pareto), é possível identificar os principais tipos de defeitos e assim, aplicar ferramentas de resolução de problemas para a respectiva tratativa.</p>



<p>De forma simplista, a ocorrência de defeitos em processo ocorre devido à variabilidade presente nas diversas etapas necessárias para a transformação da matéria prima no produto final. Muitas vezes, no entanto, essas variabilidades são tão sutis e específicas que nem podem ser medidas, de forma a dificultar sua identificação e correlação com a ocorrência de defeitos.</p>



<p>Desta forma, verifica-se uma significativa oportunidade para aplicação de técnicas mais modernas e da tecnologia na detecção das falhas (anomalias) e também na identificação das principais causas dos problemas.&nbsp;</p>



<p>Dentre essas técnicas, pode-se citar a aplicação da tecnologia da Internet das Coisas (IoT) e de aprendizado de máquina (<em>Machine Learning</em>) na obtenção e processamento dos sinais obtidos por diversos sensores aplicados no monitoramento dos processos. O IoT é aplicado para monitorar e obter continuamente os sinais de medições de diversos sensores instalados, promovendo um fluxo contínuo de dados para algoritmos inteligentes processarem esses dados e determinarem a ocorrência (ou não) de uma anomalia.</p>



<p>Na estatística multivariada, as anomalias de processos são determinadas por meios de testes de hipóteses que levam em consideração as correlações e colinearidades entre as variáveis medidas. Uma técnica comumente aplicada é a de Análise de Componentes Principais (PCA, do inglês&nbsp;<em>Principal Component Analysis</em>), que determina a anomalia do processo com base na distância dos pontos medidos em relação a uma “média geral” de todas as medições.</p>



<p>A vantagem é que o algoritmo de PCA realiza a transformação do conjunto de dados de forma que as potenciais correlações entre as variáveis medidas não atrapalhe na determinação dos maiores ofensores de variabilidade do processo. No entanto, a principal desvantagem do algoritmo de PCA é que somente correlações lineares são possíveis de serem tratadas.</p>



<p>Com base no grande volume de dados gerados por sensores modernos, esse tipo de algoritmo e análise pode ser aplicado para determinar a ocorrência de uma anomalia de processo e, na sequência, determinar a localização exata do maior ofensor para essa anomalia. Com base na identificação do “sensor problemático”, pode-se então utilizar ferramentas de qualidade e de resolução de problemas para que o problema seja resolvido e as variabilidades de processo, atenuadas.</p>



<h2 class="wp-block-heading">Objetivo</h2>



<p>O principal objetivo desse artigo é demonstrar a aplicação da análise de componentes principais para detectar e identificar anomalias em dados de processo que são obtidos de sensores montados em campo.</p>



<p>Dentre os objetivos específicos, pode-se citar:</p>



<ul class="wp-block-list"><li>simular um processo industrial com variabilidade</li><li>analisar correlações e distribuições das variáveis medidas do processo</li><li>determinar o número de componentes principais a serem retidas na análise de PCA</li><li>aplicar o treinamento do algoritmo de PCA em dados normais de operação</li><li>aplicar os testes de hipóteses para determinar potenciais anomalias</li><li>plotar os gráficos de contribuição para identificar potenciais ofensores da anomalia</li><li>identificar as causas da anomalia por meio dos histogramas de variáveis</li></ul>



<h2 class="wp-block-heading">Descrição do Processo</h2>



<p>O processo escolhido para a demonstração desse artigo foi a produção de uma mistura líquida simples num tanque de mistura, conforme pode ser verificado na Figura 1.</p>



<p><strong>Figura 1. Desenho esquemático do processo modelado</strong></p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQHsmTRicK5YZw/article-inline_image-shrink_1000_1488/0?e=1609372800&amp;v=beta&amp;t=UJHR8HxJwvyKA6hP5mQxxhbLwa1iQax_xsI4tqsD83k" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>O processo consiste num tanque de mistura com três correntes de entrada (água, componente A e componente B) e uma corrente de saída (mistura). Existem 7 variáveis monitoradas:</p>



<ul class="wp-block-list"><li>vazão de água (mW)&nbsp;</li><li>vazão de componente A (mA)</li><li>vazão de componente B (mB)</li><li>concentração de componente A na entrada (xA1)</li><li>concentração de componente B na entrada (xB2)</li><li>concentração de componente A na saída (xA3)</li><li>concentração de componente B na saída (xB3)</li></ul>



<p>A Tabela 1 apresenta os valores nominais (de projeto) para esse processo. Sabe-se que existem as seguintes especificações de mercado para a concentração de componente A na saída&nbsp;<strong>(2,45 % &#8211; 2,55 %)</strong>.</p>



<p><strong>Tabela 1. Valores nominais de projeto para o processo em questão</strong></p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQEH-GlIixyojA/article-inline_image-shrink_1000_1488/0?e=1609372800&amp;v=beta&amp;t=lPF83G-yWXjbig8ZRe_mc5fC0zsIjhBEYfYlGnyJXRE" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<h2 class="wp-block-heading">Metodologia</h2>



<h3 class="wp-block-heading">Simulação de Processo com variabilidade</h3>



<p>A simulação do processo foi realizada com base em cálculos de balanço de massa e de diluição, visto que não ocorre reação química no interior no tanque de mistura.</p>



<p>Foram simulados cenários nos quais a vazão de água é variada de 80 % a 120 % da vazão nominal, sendo que as outras variáveis de entrada foram corrigidas adequadamente para cada situação. Foram simulados 70000 pontos.</p>



<p>Depois das simulações, ainda foi adicionado um “ruído” de sensor, amostrado de uma distribuição normal com média zero e desvio padrão equivalente a 0,5 % do valor médio de cada variável (esse valor foi escolhido verificando a variabilidade de alguns sensores comerciais).</p>



<h3 class="wp-block-heading">Visualização dos Dados e seleção dos dados normais</h3>



<p>Os dados obtidos na simulação foram visualizados de três formas: matriz de correlação, matriz de diagramas de dispersão e relatório de capacidade e controle estatístico de processo.</p>



<p>A matriz de correlação, essencialmente, consiste num mapa de calor mostrando como as variáveis se correlacionam entre si. Com isso, é possível verificar quais são as variáveis que mais influenciam no comportamento de outras.</p>



<p>A matriz de diagramas de dispersão apresenta a mesma informação que a matriz de correlação, porém de forma gráfica. Com ela, é possível verificar o formato da correlação apontada pela matriz de correlação, visto que mesmo quando uma correlação é fraca, ela pode existir e não ser linear. Esse gráfico também serve para verificar as hipóteses da aplicação de correlações lineares nas variáveis, como pede o algoritmo PCA.</p>



<p>Por último, o relatório de capacidade de processo é uma ferramenta mais clássica de se analisar o processo, pois mostra a capacidade do processo de produzir dentro das especificações (voz do cliente) e também de produzir de forma controlada e previsível.</p>



<p>A etapa de obtenção de dados normais de operação foi realizada usando-se somente os dados que correspondiam a situações cuja concentração do componente A na saída que estivesse dentro das especificações do processo.</p>



<h3 class="wp-block-heading">Escalonamento dos dados</h3>



<p>O algoritmo de análise de componentes principais é baseado no cálculo de distâncias entre pontos. Desse modo, quando existem discrepâncias&nbsp; muito grandes entre as grandezas trabalhadas, isso pode ocasionar um viés no treinamento do modelo PCA, visto que variáveis com maiores escalas podem ter maior influência no cálculo de variâncias em relação às variáveis com as menores escalas.</p>



<p>A solução para a aplicação do algoritmo é realizar o escalonamento dos dados, de forma a deixar todas as variáveis com a mesma escala. Nesse estudo, o escalonamento utilizado foi aquele que deixou todas as variáveis com média zero e desvio padrão igual a 1.</p>



<h3 class="wp-block-heading">Método da Análise Paralela e treinamento do modelo PCA</h3>



<p>Uma etapa importante para o treinamento do algoritmo PCA é determinar a quantidade de componentes principais a serem retidas no modelo. Para isso, a literatura cita o método da análise paralela.</p>



<p>Nesse método, compara-se a quantidade de variância retida em cada componente em dois conjuntos de dados distintos: o primeiro é aquele que contém todas as correlações naturais do processo, ou seja, a base de dados que se deseja analisar; o segundo é um conjunto de dados com as mesmas variáveis, porém criado de forma que todos os dados sejam independentes entre si. O número de componentes principais retidas é aquele que iguala a variância explicada nos dois modelos.</p>



<p>Nesse estudo, o conjunto de dados independentes foi criado simulando-se de uma distribuição normal com média e desvio padrão iguais aos dos dados originais</p>



<p>Após a determinação da quantidade de componentes principais a serem retidas, treinou-se o modelo nos dados normais de operação.</p>



<h3 class="wp-block-heading">Aplicação dos testes de hipóteses</h3>



<p>Para determinar a ocorrência de uma anomalia num conjunto de dados multivariado, característico daqueles obtidos de medições de sensores industriais, faz-se necessária a aplicação de testes estatísticos de hipóteses a respeito dos dados. Nesse sentido, o teste mais conhecido da literatura é o do T² de Hotelling.</p>



<p>Além disso, pode-se verificar a ocorrência de anomalia observando-se a qualidade de ajuste do modelo de PCA aos pontos “candidatos” a anomalias, através do cálculo do erro quadrático de ajuste. Naturalmente, caso o erro seja muito grande, a lógica diz que o ponto está muito distante do que se esperaria para um dado “normal” de processo (lembrando o modelo foi treinado sobre os dados normais).</p>



<h3 class="wp-block-heading">T² de Hotelling</h3>



<p>A estatística T² de Hotelling identifica variações não usuais dentro do conjunto de dados avaliado pelo algoritmo. É uma estimativa de quanto o ponto “candidato” a anomalia está da média multivariada dos dados, que consiste na nova origem do sistema de coordenadas modificada pela PCA.</p>



<p>O teste de hipóteses aplicado nessa etapa está baseado nas seguintes premissas:</p>



<ul class="wp-block-list"><li><strong>Hipótese Nula: os dados candidatos provêm de um conjunto de dados normais de operação e a variabilidade observada é devido somente ao acaso</strong></li><li><strong>Hipótese Alternativa: os dados realmente são uma anomalia e a variabilidade observada é causada por algum agente externo</strong></li></ul>



<p>Sem entrar nos detalhes técnicos, mas o teste de hipóteses é feito comparando-se o cálculo da estatística T² em relação a um “valor crítico”, que depende do grau de confiança que desejamos tomar como aceitável, do número de dados e também do número de componentes principais retidas no modelo PCA. Caso o T² calculado seja maior que o valor crítico, então existem evidências estatísticas suficientes para rejeitar a hipótese nula.</p>



<h3 class="wp-block-heading">Erro Quadrático de Predição</h3>



<p>O erro quadrático de predição, por sua vez, representa o quão bem o modelo PCA treinado nos dados normais de operação se ajusta aos dados do ponto candidato a anomalia. Analogamente, ele nos diz “o quão parecido” o ponto candidato é em relação aos pontos do modelo PCA.</p>



<p>De forma semelhante ao T² de Hotelling, o erro quadrático de predição possui um “valor crítico” que depende do grau de confiança desejado para a tomada de decisão e também da variabilidade dos dados. Caso o valor do erro quadrático de predição seja maior que o valor crítico, então o ponto tem grande possibilidade de ser uma anomalia de processo.</p>



<h3 class="wp-block-heading">Detecção e Identificação de Anomalias</h3>



<p>Depois que uma anomalia é detectada no processo, é necessário entender suas potenciais causas e assim, traçar ações de correção para que os problemas não voltem acontecer.</p>



<p>De maneira clássica, a investigação de problemas é feita por meio de ferramentas de solução de problemas como ciclos PDCA, 5 W 2 H e 5 Porquês. São ferramentas poderosas de análise de causas utilizadas em todas as grandes indústrias atualmente.</p>



<p>No entanto, essas ferramentas podem ser potencializadas ao se utilizar o algoritmo de decomposição de falhas proposto. Para isso, foram construídos alguns gráficos de barras mostrando as maiores contribuições dos maiores erros quadráticos de predição, de forma a indicar em quais sensores os valores medidos mais caracterizam uma anomalia de processo. Além dessa ferramenta, foi possível traçar o histograma da variável de interesse e mostrar em qual região da distribuição o ponto de anomalia se encontra.</p>



<h2 class="wp-block-heading">Resultados Obtidos</h2>



<h3 class="wp-block-heading">Visualização dos Dados e Análise do Processo</h3>



<p>O primeiro resultado que pode ser observado é a visualização dos dados obtidos na simulação do processo estudado. A Figura 2 apresenta a matriz de correlação de Pearson dos dados, enquanto que a Figura 3 apresenta as correlações observadas&nbsp; na Figura 2 na forma de diagramas de dispersão.</p>



<p>A Figura 2 apresenta o fato de que as variáveis de monitoramento da entrada no reator (vazão de entrada de água, vazão de entrada e concentração de componente A, vazão de entrada e concentração de componente B) são praticamente independentes entre si, no caso desse conjunto de dados, visto que seus coeficientes são bem próximos do valor zero. Isso também pode ser verificado nos diagramas de dispersão dessas variáveis, visto que não pode ser identificado nenhum tipo de padrão claro na distribuição dos pontos no gráfico.</p>



<p><strong>Figura 2. Matriz de correlação entre as variáveis medidas</strong></p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQE1gir9mFBi2w/article-inline_image-shrink_1000_1488/0?e=1609372800&amp;v=beta&amp;t=hYTlFqwTZEaCSvjiFwF-TpCS5vklf5F2uAoCADNotB8" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>Por outro lado, quando se observa os coeficientes de correlação das variáveis de saída (concentração de saída de A e de B) em relação às variáveis de entrada, verifica-se significativas correlações lineares. Isso é coerente com o que se espera desse tipo de processo, visto que existem as operações unitárias e restrições de balanço de massa que relacionam as variáveis de entrada com as variáveis de saída. Do ponto de visto de análise de processos, pode-se estabelecer as seguintes “regras de negócio”:</p>



<ul class="wp-block-list"><li>se a vazão de entrada do componente A for aumentada, então a concentração de A na saída vai aumentar &#8211; correlação de 0,5</li><li>se a vazão de entrada do componente B for aumentada, então a concentração de B na saída vai aumentar &#8211; correlação de 0,6</li></ul>



<p><strong>Figura 3. Diagramas de Dispersão entre as variáveis medidas</strong></p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQEiJVrTlCwvhQ/article-inline_image-shrink_1000_1488/0?e=1609372800&amp;v=beta&amp;t=yw8_MWEmXOqLAtJO2MGegV2YmtoR91Ica8Jzl81kCfY" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<ul class="wp-block-list"><li>se a vazão de água na entrada aumentar, então tanto a concentração de A quanto de B vai diminuir na saída &#8211; correlação de -0,5 para ambos</li><li>se a concentração de A aumentar na entrada, então a concentração de A na saída vai aumentar &#8211; correlação de 0,6</li><li>se a concentração de B aumentar na entrada, então a concentração de B na saída vai aumentar &#8211; correlação de 0,6</li></ul>



<p>É interessante observar uma colinearidade entre a concentração de A na saída e a concentração de B na saída (correlação de 0,2). Isso ocorre devido à correlação que ambas as variáveis compartilham com a variável vazão de entrada de água. Devido à correlação negativa comum, quando a vazão de água aumenta, ambas as variáveis de saída diminuem, proporcionalmente.</p>



<p>É importante também verificar, na Figura 3, que para aquelas variáveis que apresentaram correlação de Pearson significativa, o formato da distribuição dessas variáveis é linear, o que confirma a hipótese de aplicação do algoritmo de análise de componentes principais (PCA). Verifica-se também que os dados não estão perfeitamente distribuídos em torno do que se esperaria de uma reta devido ao ruído de sensor adicionado na modelagem. Adicionalmente, pode-se notar que o formato da distribuição dos dados reflete o que foi dito sobre as “regras de negócio” identificadas na análise de processo.</p>



<p>A última forma utilizada de analisar os processos foi a elaboração de um relatório de capabilidade e controle estatístico de processo, conforme Figuras 4 e 5. O gráfico da Figura 4 apresenta a distribuição dos dados do processo em relação aos limites de especificação ditados pelo mercado. Como se pode verificar, esse processo apresenta desempenho muito inferior ao que se esperaria&nbsp; de um processo adequado, visto que podem ser observados muitos resultados fora das especificações</p>



<p><strong>Figura 4. Análise de Capabilidade do Processo</strong></p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQHFCWMj9nOFGQ/article-inline_image-shrink_1000_1488/0?e=1609372800&amp;v=beta&amp;t=tehdmCTKZL6Ec-XG7TNZe3A1CXyYDe70xE6JWWtFFpc" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>O baixo desempenho também é verificado pelos parâmetros Pp e Ppk, apresentados no título de gráfico da Figura 4. De forma simplificada, o índice Pp indica que a amplitude dos valores dos dados obtidos no processo (considerando o intervalo de 6 desvios padrão) é cerca de 30 vezes maior que a amplitude das especificações. Fazendo um cálculo simples, verificou-se que apenas 7 % dos dados está dentro das especificações, o que representa um processo com desempenho bem ruim. Além disso, verifica-se que o índice Ppk não possui valor igual ao Pp. O Ppk avalia o desempenho do processo, tomando também em consideração a centralização do mesmo. Pode-se concluir que, além de ter um desempenho ruim, a média do processo não está próximo do alvo da especificação. Dessa forma, existem dois problemas com o processo avaliado: centralização e dispersão.</p>



<p>Os gráficos da Figura 5, por sua vez, apresentam o desempenho ponto a ponto do processo. O gráfico superior apresenta a amplitude móvel, ou seja, a mudança de valor de um ponto para outro. O inferior mostra o valor da variável, ponto a ponto.&nbsp;</p>



<p>Com base na observação de ambos os gráficos, conclui-se que esse processo está descontrolado estatisticamente, visto que existem pontos que superam a linha azul superior (o limite superior de controle estatístico). Ou seja, isso significa que esse processo não é estável, podendo permitir flutuações que superam o que se esperaria de uma variabilidade comum (problema de dispersão). Pode-se observar no gráfico inferior que a linha azul média se encontra um pouco acima do valor de 0,025, que seria o valor alvo da especificação, confirmando o que o índice Ppk havia apontado sobre a descentralização do processo.</p>



<p><strong>Figura 5. Cartas de Controle Estatístico de Processo</strong></p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQEWUZK4Lu2onw/article-inline_image-shrink_1500_2232/0?e=1609372800&amp;v=beta&amp;t=ijnDvIJn-ht6RSq0h7eEBmdyjsPCCqdul0mNsRqFtfA" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<h3 class="wp-block-heading">Treinamento do Algoritmo PCA</h3>



<p>Conforme descrito na seção de métodos, o método de Análise Paralela foi utilizado para definir quantas componentes principais foram retidas no modelo final. O gráfico da Figura 6 apresenta o resultado mostrando a fração da variância retida em cada componente principal, tanto para os dados do processo, quanto para os dados simulados e independentes.</p>



<p><strong>Figura 6. Seleção de componentes principais a serem retidas no modelo &#8211; Método da Análise Paralela</strong></p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQGck7dIl6K06g/article-inline_image-shrink_1000_1488/0?e=1609372800&amp;v=beta&amp;t=dyGIZYAH_eRIy542WrvrRFL34MuOwA1Yn1ROkDMcqRM" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>A Figura 6 mostra que a PCA aplicada para os dados de processo retém mais informação (mais variância) até a quarta componente principal, visto que a partir da mesma, todas as componentes retêm menos informações do que seria retido num conjunto totalmente independente de informações. Isso não representa vantagem do ponto de vista de processo, visto que o conjunto de dados simulados representaria as variabilidades de causas comuns e aleatórias (podendo ser ruídos de medição, por exemplo).</p>



<p>Dessa forma, o método aplicado aponta que 4 componentes principais devem ser retidas no modelo a ser treinado utilizando os dados normais de operação. Desta maneira, o gráfico da Figura 8 apresenta como a variância retida se comportou em cada uma das componentes do modelo final aplicado. Verifica-se que as 4 componentes principais retidas conseguiram explicar 84 % da variabilidade dos dados. Os outros 16 % restantes, no caso deste modelo, foram classificados como variabilidades incomuns (ou anomalias).</p>



<p><strong>Figura 8. Retenção de informação em função do número de componentes principais retidas no modelo final</strong></p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQF2lbvfmlU6MA/article-inline_image-shrink_1000_1488/0?e=1609372800&amp;v=beta&amp;t=a1Dk6j3L6ZCExfh55HZH0KmFZlmMgcw5vsH0boHj8Qg" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>Depois de treinado o modelo de PCA no conjunto de dados normais de operação, os dados com anomalias foram submetidos aos testes de hipóteses para determinação da anomalia: o teste de T² de Hotelling e o cálculo do erro de predição.</p>



<h3 class="wp-block-heading">Testes de Hipóteses &#8211; Determinação da Anomalia</h3>



<p>A Tabela 2 apresenta os valores calculados para os limites de confiança dos testes estatísticos utilizados para determinar se os dados observados são ou não classificados como anomalia.</p>



<p><strong>Tabela 2. Limites de 99,0 % de confiança para as estatísticas</strong></p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQEKcdL2nHcaZA/article-inline_image-shrink_1000_1488/0?e=1609372800&amp;v=beta&amp;t=BHmP0KItMCyCWLopFEzjPnMGs5_qzgJRVOW516jEf8Y" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>A Tabela 2 apresenta apenas o limite superior de confiança pois o dado é considerado como anomalia somente se o valor da estatística superar o limite de confiança &#8211; nesse caso, haverá evidência estatística suficiente para rejeitar a hipótese nula. Com base nesses valores de limite de confiança, é possível realizar observações estatísticas sobre a probabilidade de um determinado dado ser uma anomalia. AS Figuras 9 e 10 apresentam a comparação do conjunto de dados do processo em relação aos limites de confiança calculados.</p>



<p>No caso desse estudo, muitos pontos acabaram caindo fora do limite superior de confiança de ambas as estatísticas, de forma a serem considerados potenciais anomalias. Isso se deveu ao fato de que as oscilações do sinal de cada sensor foram simuladas aleatoriamente. Num processo real, somente cairiam fora dos limites, os pontos do processo que realmente se comportassem de maneira anômala.</p>



<p>No entanto, pode-se enxergar uma oportunidade ao observar o comportamento de ambos os diagramas. Com base na contagem de pontos fora do limite superior, de ambas as estatísticas, é possível estabelecer uma correlação entre a variabilidade observada no processo e a quantidade de potenciais anomalias identificadas.</p>



<p><strong>Figura 9. Gráfico de estatísticas calculadas T² de Hotelling em comparação com o limite superior de confiança de 99,0 %.</strong></p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQFz0uI2AG0_1Q/article-inline_image-shrink_1000_1488/0?e=1609372800&amp;v=beta&amp;t=8qDdq6sdDN7ATqFw-cD2qZorK5_imAOfD3ds-hLoXZU" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p><strong>Figura 10. Gráfico de erros quadráticos de predição em comparação com o limite superior de confiança de 99,0 %</strong></p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQEKnB7EHP8C0A/article-inline_image-shrink_1000_1488/0?e=1609372800&amp;v=beta&amp;t=5lPMmQLykCCT16iPTxI1h6jTrS34r-Bid3Sv33GOec8" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>Lembrando que o T² de Hotelling nos diz a respeito variações não usuais dentro do processo. Segundo a carta mostrada na Figura 9, a variabilidade observada no processo foi suficiente para que cerca de 0,23 % dos dados fossem considerados anomalias somente em relação ao T² de Hotelling. No caso do erro quadrático de predição (que aponta o “quão parecido” o dado é em relação ao modelo ajustado), a carta da Figura 10 apresenta que cerca de 3,10 % dos dados apresentaram distância significativa em relação ao modelo ajustado.</p>



<p>Para tornar a avaliação mais rigorosa, optou-se por considerar como “anomalia verdadeira” apenas aqueles pontos que apresentaram estatísticas acima em ambos os casos, ou seja, tanto em caso de variações não usuais como em caso de disparidade em relação ao modelo ajustado. No caso desse estudo, a intersecção de ambos os grupos resultou na identificação de 44 “anomalias verdadeiras”.</p>



<h3 class="wp-block-heading">Identificação das Anomalias</h3>



<p>Depois que uma anomalia de processo é detectada, é necessário identificá-la e qualificá-la, de modo a entender os motivos que a causam. É nessa parte que mais tempo e esforço deve ser empregado, se possível por times multidisciplinares de modo que a análise de causas possa abranger as possibilidades mais amplas possíveis. Dessa forma, a probabilidade de se encontrar a causa raiz do problema é mais elevada.</p>



<p>Uma das etapas principais da análise de causas é realizar a estratificação dos efeitos dos problemas observados, de modo a direcionar o foco no momento da tratativa. Com o algoritmo proposto neste estudo, foi possível construir uma estratificação automática e direcionada naqueles pontos que apresentaram, por exemplo, erro de predição maior que o limite superior de confiança. A Figura 11 apresenta o chamado “Gráfico de Contribuições”, para várias amostras identificadas como anomalias pelo algoritmo aplicado.</p>



<p>O princípio de construção do gráfico de contribuição é baseado no fato de que cada sensor contribui com uma parcela para o erro quadrático de predição. Ou seja, quando se somam as contribuições de todos os sensores, obtém-se o erro quadrático de predição calculado para o teste de hipóteses. Assim, se um determinado sensor apresenta alta contribuição para o erro de predição, então convém examinar essa variável como uma das ofensoras para a ocorrência da anomalia.</p>



<p><strong>Figura 11. Gráficos de Contribuições para diversas amostras de anomalias</strong></p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQEXhQi9zOiqPQ/article-inline_image-shrink_1000_1488/0?e=1609372800&amp;v=beta&amp;t=qkCdyzj9UoTqNbzDbXfwN5R1LjoJ4FLgZQNBbFDtXKE" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>Tomando como exemplo as amostras apresentadas na Figura 11, pode-se observar as seguintes propriedades num exame rápido, como exemplo.</p>



<ul class="wp-block-list"><li><strong>para a amostra 30779</strong>&nbsp;&#8211; os maiores ofensores para a anomalia foram os sensores de entrada de água, entrada de componente B e concentração de entrada de componente A</li><li><strong>para a amostra 30182 &#8211; houve problemas com a vazão de entrada de componente B, a vazão de entrada de componente A e novamente a concentração de entrada de componente A</strong></li></ul>



<p>Com base nessas duas análises rápidas e na observação dos outros gráficos apresentados na Figura 11, nota-se que alguns sensores apresentam recorrência de altas contribuições, o que pode dar mais dicas de onde pode estar localizada a anomalia do processos. Uma forma mais simples de avaliar a concentração de anomalias por sensor é traçar um diagrama de Pareto, contando as ocorrências de altas contribuições de erro de predição. Além disso, essa ferramenta também pode ser utilizada para mensurar o impacto de determinadas anomalias num período específico de tempo, de modo a poder ser usado como forma de relatório de ações ou justificar a compra de um novo dispositivo ou ainda de mudanças necessárias no processo de produção. Um exemplo desse tipo de ferramenta é apresentado na Figura 12, que traz a frequência de ocorrências nas quais cada sensor apresentou a maior contribuição ao erro de predição.</p>



<p><strong>Figura 12. Ocorrências de Anomalias por Sensor</strong></p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQFiWFxUaZ7yYA/article-inline_image-shrink_1000_1488/0?e=1609372800&amp;v=beta&amp;t=UiZIqIumkHEECycGbSg4sEfqSpdFhOFBMRI9Gz91D80" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>Segundo as informações do gráfico da Figura 12, o sensor de vazão de entrada de componente B no tanque foi o que mais apresentou contribuições máximas para o erro de predição, logo seguido pelo sensor de concentração de componente A na entrada. O gráfico aponta que esses dois sensores são responsáveis por 93,4 % das contribuições máximas encontradas no conjunto de dados desse processo. Ou seja, a estratificação automática permitiu a identificação rápida dos maiores ofensores do processo.</p>



<p>A partir desse ponto, é necessário aprofundar a análise das causas. Questionar o porquê dessas anomalias estarem se apresentando nesses dois sensores, majoritariamente. Por enquanto, só foi possível entender onde os efeitos mais se manifestam. Nesse contexto, é importante notar que uma alta contribuição para o erro de predição não significa, necessariamente que o valor da variável esteja alto demais em relação aos níveis nominais de trabalho. Variáveis que estejam muito abaixo de seu valor nominal também oferecem grandes contribuições para o erro quadrático de predição. Assim faz-se necessária uma forma de entender, depois de identificada e estratificada a anomalia, qual é exatamente o problema que ela está apontando.</p>



<p>O algoritmo criado nesse estudo permite essa identificação a partir da observação da posição dos valores das variáveis do ponto de anomalia em relação à variabilidade do processo. Desta maneira, é possível checar se, por exemplo, a vazão de entrada de água no tanque está muito alta ou muito baixa em relação ao restante dos pontos do processo. A Figura 13 apresenta essas visualizações de estados de variáveis a amostra 30779.</p>



<p>Conforme observado na análise dos gráficos de contribuição para o erro de predição da amostra 30779, os maiores ofensores nesse caso são as variáveis vazão de entrada de água, vazão de entrada de componente B e concentração de entrada de componente A. A Figura 13 confirma a anomalia observada, pois nela se observa (as linhas vermelhas verticais representam o valor de cada variável para o ponto classificado como anomalia).:</p>



<ul class="wp-block-list"><li>a vazão de entrada de componente A (mA) e de componente B (mB) estão muito acima dos respectivos valores nominais de operação.</li><li>a vazão de entrada de água (mW) está muito abaixo do valor nominal de operação</li><li>a concentração de componente A na entrada (xA1) está bem acima do valor nominal</li><li>a concentração de componente B na entrada (xB2) está bem abaixo do valor nominal</li><li>com base em todas essas anomalias do processo, verifica-se que a concentração de A na saída (xA3) está muito acima da especificação permitida.</li></ul>



<p><strong>Figura 13. Estados de variáveis de processo para a amostra 30779</strong></p>



<figure class="wp-block-image"><img decoding="async" src="https://media-exp1.licdn.com/dms/image/C4D12AQHlmPcDyYOuPA/article-inline_image-shrink_1000_1488/0?e=1609372800&amp;v=beta&amp;t=ddeVkqwbv0qwLDwmXkzjXbbl4Na1qUJ33beCFIJpalU" alt="Não foi fornecido texto alternativo para esta imagem"/></figure>



<p>Na Figura 13 também se pode observar o valor da estatística T² de Hotelling para a amostra selecionada (gráfico mais à direita na linha inferior). Como se pode verificar, o valor calculado para a estatística nessa amostra se encontra significativamente acima da maior densidade de dados do histograma, de forma a fornecer evidência estatística de uma variabilidade não usual do processo nessa amostra selecionada.</p>



<p>É importante enfatizar que a metodologia permite, além da identificação de anomalias de processo, encontrar as potenciais causas de um processo apresentar baixa capacidade de atendimento às especificações, conforme mostrado na discussão do gráfico de capacidade da Figura 4. Esse processo estudado não atende às especificações para as quais ele foi projetado, e uma análise cuidadosa dos histogramas apresentados na Figura 13 pode ajudar a traçar correlações e entender como o processo pode ser ajustado.</p>



<h2 class="wp-block-heading">Conclusões</h2>



<p>O algoritmo de PCA mostrou efetividade na detecção e identificação de anomalias de processo, pois permitiu, por meio de testes de hipóteses, classificar um determinado ponto de medição como uma anomalia ou não.</p>



<p>O primeiro passo para o bom entendimento do processo de classificação de anomalias é o entendimento do funcionamento do processo e das correlações existentes entre as variáveis que são medidas. Através do estudo da matriz de correlação e dos diagramas de dispersão, pode-se observar o comportamento das relações existentes. Além disso, essas duas ferramentas também permitiram a verificação da linearidade nas correlações, condição necessária para a validade do algoritmo de PCA.</p>



<p>Após o treinamento e aplicação do algoritmo de PCA, os testes de hipóteses mostraram a ocorrência de pontos candidatos a anomalias. Com base na avaliação concomitante de ambas as estatísticas calculadas, foi possível estabelecer um padrão de “anomalia verdadeira” e utilizar tal critério para futuras análises.</p>



<p>Além de permitir detectar as anomalias, verificou-se que o algoritmo permitiu identificar os maiores ofensores de cada anomalia, por meio da construção de gráficos de contribuição. Nesses gráficos, foi possível observar quais sensores apresentam maior erro de predição em relação ao modelo PCA. Além da construção dos gráficos de contribuição, o algoritmo permitiu a estratificação automática dos sensores de processo que apresentaram a maior quantidade de ocorrência de anomalias num determinado conjunto de dados, por meio da construção de um gráfico de Pareto.</p>



<p>Finalmente, o algoritmo apresentou a possibilidade de verificar os valores das variáveis de processo nos pontos que foram classificados como anomalia. Dessa forma, é possível saber se determinada variável está significativamente acima ou abaixo do valor nominal de operação.&nbsp; Além de permitir a identificação do estado da anomalia, o algoritmo também permite o entendimento dos motivos do não atendimento às especificações. Com isso, o algoritmo apresenta vantagem na identificação&nbsp; de causas raízes e direcionamento dos esforços para solucionamento de problemas de processos.Denunciar</p>



<h3 class="wp-block-heading">Publicado por</h3>



<p><a href="https://www.linkedin.com/in/%C3%ADcaro-augusto-maccari-zelioli/">Status: on-lineÍcaro Augusto Maccari Zelioli</a> Machine Learning Specialist | Data Scientist | Big Data AnalystPublicado • 4 d<a href="https://www.linkedin.com/in/%C3%ADcaro-augusto-maccari-zelioli/detail/recent-activity/posts/">3 artigos</a>SeguirOlá rede ! Conforme prometido, eu publico par vocês meu estudo de detecção de anomalias de processo com utilização de algoritmos de aprendizado de máquina ! Uma ótima oportunidade de integrar a análise de processo juntamente com a aplicação de ferramentas tecnológicas! Imaginem isso rodando online e fazendo o monitoramento de todo o processo produtivo de forma automática&#8230; coisa do futuro certo? Gostei demais de trabalhar nesse projeto e espero poder trabalhar em mais aplicações do tipo! Espero que todos aproveitem ! <a href="https://www.linkedin.com/feed/hashtag/?keywords=datascience">#datascience</a><a href="https://www.linkedin.com/feed/hashtag/?keywords=machinelearning">hashtag#machinelearning</a><a href="https://www.linkedin.com/feed/hashtag/?keywords=dataanalytics">hashtag#dataanalytics</a><a href="https://www.linkedin.com/feed/hashtag/?keywords=artificialintelligence">hashtag#artificialintelligence</a><a href="https://www.linkedin.com/feed/hashtag/?keywords=analytics">hashtag#analytics</a><a href="https://www.linkedin.com/feed/hashtag/?keywords=bigdata">hashtag#bigdata</a><a href="https://www.linkedin.com/feed/hashtag/?keywords=datamining">hashtag#datamining</a><a href="https://www.linkedin.com/feed/hashtag/?keywords=datamodeling">hashtag#datamodeling</a><a href="https://www.linkedin.com/feed/hashtag/?keywords=engineering">hashtag#engineering</a><a href="https://www.linkedin.com/feed/hashtag/?keywords=ia">hashtag#ia</a><a href="https://www.linkedin.com/feed/hashtag/?keywords=chemicalengineering">hashtag#chemicalengineering</a><a href="https://www.linkedin.com/feed/hashtag/?keywords=engenhariaquimica">hashtag#engenhariaquimica</a><a href="https://www.linkedin.com/feed/hashtag/?keywords=engenhariadeprocessos">hashtag#engenhariadeprocessos</a><a href="https://www.linkedin.com/feed/hashtag/?keywords=qualidade">hashtag#qualidade</a><a href="https://www.linkedin.com/feed/hashtag/?keywords=quality">hashtag#quality</a></p>
<p>O post <a href="http://estatidados.com.br/identificacao-e-deteccao-de-anomalias-de-processo-usando-analise-de-componentes-principais/">Identificação e Detecção de Anomalias de Processo usando Análise de Componentes Principais</a> apareceu primeiro em <a href="http://estatidados.com.br">Estatidados</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://estatidados.com.br/identificacao-e-deteccao-de-anomalias-de-processo-usando-analise-de-componentes-principais/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Utilizando Aprendizado de Máquina para predizer falhas na Ferrovia</title>
		<link>http://estatidados.com.br/utilizando-aprendizado-de-maquina-para-predizer-falhas-na-ferrovia/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=utilizando-aprendizado-de-maquina-para-predizer-falhas-na-ferrovia</link>
					<comments>http://estatidados.com.br/utilizando-aprendizado-de-maquina-para-predizer-falhas-na-ferrovia/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 29 Jul 2020 14:59:15 +0000</pubDate>
				<category><![CDATA[Cases e Projetos]]></category>
		<category><![CDATA[ciencia de dados]]></category>
		<category><![CDATA[Estatística]]></category>
		<category><![CDATA[Machine learning]]></category>
		<category><![CDATA[Máiron Chaves]]></category>
		<guid isPermaLink="false">http://estatidados.com.br/?p=189</guid>

					<description><![CDATA[<p>AUTOR: MÁIRON CÉSAR SIMÕES CHAVES &#160; INTRODUÇÃO Quando o trilho atinge certas temperaturas muito baixas, o risco de acidentes de diversos portes aumenta significativamente, portanto é uma variável constantemente monitorada. Com o objetivo de aumentar a segurança operacional e reduzir<a class="leiamais" href="http://estatidados.com.br/utilizando-aprendizado-de-maquina-para-predizer-falhas-na-ferrovia/" title="Utilizando Aprendizado de Máquina para predizer falhas na Ferrovia">...[Continuar lendo]</a></p>
<p>O post <a href="http://estatidados.com.br/utilizando-aprendizado-de-maquina-para-predizer-falhas-na-ferrovia/">Utilizando Aprendizado de Máquina para predizer falhas na Ferrovia</a> apareceu primeiro em <a href="http://estatidados.com.br">Estatidados</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-table"><table><tbody><tr><td><strong>AUTOR: MÁIRON CÉSAR SIMÕES CHAVES</strong> &nbsp;</td></tr></tbody></table></figure>



<p>INTRODUÇÃO</p>



<p>Quando o trilho atinge certas temperaturas muito baixas, o risco de acidentes de diversos portes aumenta significativamente, portanto é uma variável constantemente monitorada. Com o objetivo de aumentar a segurança operacional e reduzir custos, surgiu a hipótese de implementar um modelo preditivo que deve ser capaz de capturar padrões nas temperaturas enviadas pelo termômetro do trilho e estimar a probabilidade de que nas próximas 12 horas, ocorra uma temperatura crítica no trilho, dessa forma é possível emitir avisos de segurança e enviar veículos batedores para avaliar a condição do trilho preventivamente. A ideia inicial é coletar o histórico de medições de um termômetro específico e ajustar um algoritmo de aprendizado de máquina aos seus dados históricos.</p>



<p>Se trata de uma demanda onde não há variável resposta e nem variáveis preditoras. As únicas informações que estavam no histórico de dados eram os registros de data / hora e a temperatura do trilho medida em cada instante. Então deverá ser criada uma variável resposta para tratar o problema como uma tarefa de classificação binária, e um forte trabalho de engenharia de variáveis, criando diversos preditores como médias móveis, desvios padrões móveis e informações de momentos passados da temperatura do trilho.</p>



<p>O problema no trilho devido à baixa temperatura é um evento extremamente raro. Basicamente em 99% dos dados observados não ocorrem temperaturas críticas, portanto foi necessário recorrer a uma abordagem algorítmica para trabalhar esse desequilíbrio entre os eventos, para que o algoritmo de aprendizado de máquina possa capturar da melhor forma os padrões nas mudanças da temperatura que levam a ocorrência de uma temperatura crítica nas próximas 12 horas bem como o padrões que levam a não ocorrência de uma temperatura crítica nas próximas 12 horas.</p>



<p>Dentre os algoritmos de aprendizado de máquina testados na modelagem preditiva, a regressão logística com a adição de restrições na sua função objetivo foi o algoritmo que melhor performou, chegando a praticamente zerar os falsos negativos, que são os mais críticos para este contexto, já que, é mais custoso o algoritmo informar que não vai ocorrer a temperatura crítica e ela ocorrer (falso negativo) do que informar que vai ocorrer a temperatura crítica e não ocorrer (falso positivo).</p>



<p>DIAGNÓSTICO</p>



<ol class="wp-block-list" type="1"><li><strong>Obtendo os dados</strong></li></ol>



<p>Os dados utilizados para ajuste do modelo preditivo foram as medições da temperatura do trilho de uma determinada região em Minas Gerais, de janeiro/2017 até março/2019, contendo 24.105 medições observadas, que são enviadas do termômetro do trilho diretamente ao banco de dados da empresa, em uma interação máquina vs máquina.</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img fetchpriority="high" decoding="async" src="http://estatidados.com.br/wp-content/uploads/2020/07/image.png" alt="" class="wp-image-191" width="326" height="518" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image.png 206w, http://estatidados.com.br/wp-content/uploads/2020/07/image-189x300.png 189w, http://estatidados.com.br/wp-content/uploads/2020/07/image-107x170.png 107w, http://estatidados.com.br/wp-content/uploads/2020/07/image-157x250.png 157w" sizes="(max-width: 326px) 100vw, 326px" /></figure></div>



<p>Figura 1 – Amostra do histórico de temperaturas enviadas pelo termômetro do trilho <strong></strong></p>



<p>As medições são enviadas pelo termômetro, geralmente, em intervalos de 15 minutos. Então,</p>



<p>para manter um histórico de medições com intervalos equidistantes, os dados foram agregados por hora, e ao agregar, foram tomadas estatísticas descritivas da temperatura em cada hora, para auxiliar na análise exploratória dos dados bem como ajudar no processo de criação de variáveis preditoras.</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img decoding="async" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-1.png" alt="" class="wp-image-192" width="601" height="181" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-1.png 566w, http://estatidados.com.br/wp-content/uploads/2020/07/image-1-300x90.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-1-200x60.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-1-400x120.png 400w" sizes="(max-width: 601px) 100vw, 601px" /></figure></div>



<p><strong>F</strong>igura 2 – Amostra do histórico de temperaturas agrupados por data e&nbsp; hora</p>



<ul class="wp-block-list"><li><strong>Análise Exploratória dos Dados</strong></li></ul>



<p>Conforme definido por Pinheiro, Cunha, Carvajal e Gomes (2009), analisar dados é identificar comportamentos médios e comportamentos discrepantes, comparar comportamentos e investigar a interdependência entre variáveis. Portanto, a análise exploratória de dados é uma forma eficiente de resumir dados e ajudar a revelar informações contidas neles, e assim utilizar o conhecimento para auxílio a tomada de decisão.</p>



<p>A análise exploratória de dados trata-se de um conjunto de técnicas que nos ajudam a fazer uma sondagem dos dados, ou seja, tomar um primeiro contato com a informação disponível. </p>



<p>Através de um histograma, é possível visualizar a distribuição das temperaturas médias em cada uma das vinte e quatro horas do dia, durante janeiro de 2017 até março de 2019, que é o histórico de dados disponível. O histograma é uma distribuição das frequências dos dados, semelhante a um gráfico de barras, porém<a> </a>cada barra representa a frequência de um intervalo de valores.</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img decoding="async" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-36.png" alt="" class="wp-image-234" width="499" height="455" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-36.png 319w, http://estatidados.com.br/wp-content/uploads/2020/07/image-36-300x274.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-36-186x170.png 186w, http://estatidados.com.br/wp-content/uploads/2020/07/image-36-274x250.png 274w" sizes="(max-width: 499px) 100vw, 499px" /></figure></div>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Figura 3 – <strong>Distribuição das temperaturas médias e estatísticas descritivas</strong></p>



<p>Por motivo de sigilo de informações a temperatura limiar exata para ser considerada crítica será omitada, mas para fins didáticos e de forma a não distorcer o presente artigo, uma temperatura bastante aproximada será utilizada. Será assumido que, se o trilho atingir uma temperatura menor ou igual a seis graus, será considerado estado crítico. E como é de se esperar, esse padrão ocorre com maior frequência no inverno.</p>



<p>Em um gráfico sequencial, com as temperaturas ordenadas ao longo do tempo, fica mais intuitivo visualizar quando ocorrem as temperaturas críticas com maior frequência.</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-3.png" alt="" class="wp-image-194" width="608" height="274" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-3-300x136.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-3-200x91.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-3-400x181.png 400w" sizes="auto, (max-width: 608px) 100vw, 608px" /></figure></div>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Figura 4 –<strong>Evolução das temperaturas médias e mínimas ao longo do histórico de dados</strong></p>



<p>Também foram exploradas, as variações das temperaturas mínimas dentro de cada mês.</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-4.png" alt="" class="wp-image-195" width="591" height="294" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-4.png 567w, http://estatidados.com.br/wp-content/uploads/2020/07/image-4-300x149.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-4-200x99.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-4-400x199.png 400w" sizes="auto, (max-width: 591px) 100vw, 591px" /></figure>



<p class="has-text-align-left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Figura 5 –<strong> Variações das temperaturas mínimas intra mês</strong></p>



<p class="has-text-align-left">Fica claro que em alguns meses a temperatura apresenta comportamento mais homogênio, já em alguns ocorrem grande variabilidade. O mês de maio é bastante crítico, pois seu boxplot na figura 5, a dispersão nas temperaturas é grande, ocorrem desde temperaturas críticas (abaixo de seis graus) até temperaturas mais elevadas. Também foram analisadas as distribuições das temperaturas mínimas dentro dos trimestres.</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-5.png" alt="" class="wp-image-196" width="544" height="244" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-5.png 522w, http://estatidados.com.br/wp-content/uploads/2020/07/image-5-300x134.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-5-200x90.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-5-400x179.png 400w" sizes="auto, (max-width: 544px) 100vw, 544px" /></figure>



<figure class="wp-block-table"><table><tbody><tr><td>Figura 6 –<strong> Variações das temperaturas mínimas dentro dos trimestres</strong> &nbsp;</td></tr></tbody></table></figure>



<p>Modelando a relação entre as temperaturas mínimas e os trimestres através de uma regressão de mínimos quadrados e tomando o primeiro trimestre (Q1) como nível de referência, temos que, o segundo trimestre (Q2) apresenta, em média, temperaturas 4,72 graus menores. O terceiro trimestre (Q3) apresenta, em média, temperaturas 6,46 graus menores. E o quarto trimestre (Q4) não apresentou diferenças significativas em suas temperaturas mínimas quando comparado ao primeiro trimestre. </p>



<p>Também foi explorada a relação entre as temperaturas médias e a hora do dia durante o período histórico.</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-6.png" alt="" class="wp-image-197" width="569" height="274" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-6.png 566w, http://estatidados.com.br/wp-content/uploads/2020/07/image-6-300x145.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-6-200x96.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-6-400x193.png 400w" sizes="auto, (max-width: 569px) 100vw, 569px" /></figure></div>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Figura 7 –<strong> Relação entre as temperaturas médias por hora do dia</strong></p>



<p>A temperatura média apresenta uma relação não linear com as horas do dia, as temperaturas mínimas ocorrem por volta das seis da manhã e as máximas por volta das 15 horas. A curva de vermelho na figura 7 é um ajuste polinomial da relação entre as duas variáveis.</p>



<p>Além disso, também foi avaliado se existe correlação entre a temperatura do trilho com ela própria em diferentes instantes temporais. Para isso, um correlograma foi utilizado. Um correlograma é um gráfico de barras, onde cada barra corresponde ao coeficiente de correlação linear da variável com ela mesma defasada no tempo.</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-7.png" alt="" class="wp-image-198" width="575" height="286" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-7.png 567w, http://estatidados.com.br/wp-content/uploads/2020/07/image-7-300x149.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-7-200x99.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-7-400x199.png 400w" sizes="auto, (max-width: 575px) 100vw, 575px" /></figure></div>



<p>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Figura 8 –<strong> Correlograma da temperatura do trilho</strong></p>



<p>Através do correlograma da figura 8, vemos que a temperatura no instante zero, tem uma alta correlação negativa com ela mesma no instante doze (primeira barra amarela da esquerda pra direita) e&nbsp; outra forte correlação com ela mesma, porém positiva, no instante vinte e quatro (segunda barra amarela da esquerda para direita). Ou seja, existe um forte padrão entre a temperatura medida em um instante atual com as temperaturas medidas 12 e 24 horas atrás. Isso é ótimo, pois a ideia do modelo é predizer a ocorrência de uma temperatura crítica (abaixo de seis graus) com doze horas de antecedência.</p>



<p>A covariância de uma variável ordenada ao longo do tempo com ela mesma em um período temporal diferente fica:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="523" height="124" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-8.png" alt="" class="wp-image-199" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-8.png 523w, http://estatidados.com.br/wp-content/uploads/2020/07/image-8-300x71.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-8-200x47.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-8-400x95.png 400w" sizes="auto, (max-width: 523px) 100vw, 523px" /></figure></div>



<p>Onde Y<sub>t</sub> é a variável em seu instante atual, y<sub>t-p</sub> é a variável defasada em p períodos temporais, µ é a média da variável e n é a quantidade de observações.</p>



<p>Para obter o coeficiente de correlação linear deve-se normalizar o produto interno no numerador da equação pelo raiz quadrada do produto entre a variância da variável no período t pela variância da variável no período t-p.</p>



<p><strong>2) Engenharia de Variáveis</strong></p>



<p>Após compreender o comportamento da temperatura do trilho através das análises exploratórias, seguiu-se para próxima etapa que foi a engenharia de variáveis. A engenharia de variáveis, ou engenharia de atributos, ou feature engineering, é a arte de criar novas variáveis a partir das variáveis disponíveis.</p>



<p>De início foram criadas médias móveis de diferentes ordens. Médias móveis de ordem grande reagem de forma mais lenta as variações recentes na temperatura, enquanto médias móveis de ordem menor reagem mais rapidamente as variações na temperatura.</p>



<p>A média móvel de ordem n da temperatura do trilho pode ser obtida por:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="188" height="88" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-9.png" alt="" class="wp-image-200"/></figure></div>



<p>Onde y<sub>t</sub> é a temperatura no instante t e n é a ordem da média móvel. O nome média móvel é utilizado porque, a cada período, a observação mais antiga é substituída pela mais recente, calculando-se uma média nova.</p>



<p>Pelo gráfico exibido na figura 9 é possível visualizar que quando uma média móvel muda de nível com a outra, é indicativo de mudança na direção da temperatura, ou seja, é uma forma do algoritmo “aprender” quando a temperatura deixa de subir para diminuir, e vice-versa.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="682" height="472" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-11.png" alt="" class="wp-image-202" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-11.png 682w, http://estatidados.com.br/wp-content/uploads/2020/07/image-11-300x208.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-11-200x138.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-11-361x250.png 361w, http://estatidados.com.br/wp-content/uploads/2020/07/image-11-400x277.png 400w" sizes="auto, (max-width: 682px) 100vw, 682px" /></figure></div>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Figura 9 – M<strong>édia móvel de ordem 24 vs média móvel de ordem 72</strong></p>



<p>Conforme identificado na figura 4, as temperaturas críticas ocorrem com maior frequência nos meses de maio, junho, julho e agosto. Portanto, foi criada uma variável binária para capturar o padrão desse período de inverno. Nos registros cujo mês for igual a maio, junho, julho, julho ou agosto a variável assume o valor 1(sim), caso contrário, assume o valor 0(não).</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-12.png" alt="" class="wp-image-203" width="436" height="294" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-12.png 383w, http://estatidados.com.br/wp-content/uploads/2020/07/image-12-300x202.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-12-200x135.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-12-371x250.png 371w" sizes="auto, (max-width: 436px) 100vw, 436px" /></figure></div>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Figura 10 – Distribuição das temperaturas de acordo com a nova variável binária<strong></strong></p>



<p>Observa-se claramente que a mediana das temperaturas no inverno é menor quando comparada a mediana das temperaturas quando não é inverno. E mediante uma ANOVA, comprovou-se que a diferença é estatisticamente diferente (Pr(&gt;F) ≅ 0).</p>



<p>O próximo passo foi criar a variável resposta. Para isso o seguinte looping foi desenvolvido:</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-13.png" alt="" class="wp-image-204" width="609" height="86" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-13.png 612w, http://estatidados.com.br/wp-content/uploads/2020/07/image-13-300x43.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-13-200x28.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-13-400x57.png 400w" sizes="auto, (max-width: 609px) 100vw, 609px" /></figure></div>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Figura 11 – Looping em linguagem R para criar a variável resposta binária<strong></strong></p>



<p>A lógica do looping é percorrer da linha 1 até a n-ésima do conjunto de dados, se a i-ésima temperatura for menor ou igual a seis graus, então a linha de posição i &#8211; 12 recebe o valor</p>



<p>Temperatura_Critica, caso contrário, recebe o valor Temperatura_Nao_Critica. A linha de posição i – 12 que recebe o valor pois a ideia é registrar se 12 horas após a medição de posição i &#8211; 12 ocorreu uma temperatura crítica.</p>



<p>Ainda foram criadas outras variáveis preditoras. Por exemplo, desvio padrão móvel de ordem 2 e 12. Um desvio padrão móvel pode ser obtido pela equação:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="229" height="115" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-14.png" alt="" class="wp-image-205" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-14.png 229w, http://estatidados.com.br/wp-content/uploads/2020/07/image-14-200x100.png 200w" sizes="auto, (max-width: 229px) 100vw, 229px" /></figure></div>



<p>Onde n é a ordem do desvio padrão móvel.</p>



<p>Na figura 12, é apresentada uma função de densidade para medir o quão bem os desvios padrões móveis separam as classes da variável resposta, ou seja, o quão diferente é o padrão das variações das preditoras criadas quando há temperatura crítica e quando não há.</p>



<p>Quanto menos intersecção as funções de densidade tiverem, melhor elas separam os eventos, e consequentemente, contribuirão para a aprendizagem do algoritmo.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="268" height="242" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-15.png" alt="" class="wp-image-206" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-15.png 268w, http://estatidados.com.br/wp-content/uploads/2020/07/image-15-188x170.png 188w" sizes="auto, (max-width: 268px) 100vw, 268px" /></figure></div>



<p>Figura 12 – Densidade das variáveis criadas para Temperaturas Críticas e Não Críticas<strong></strong></p>



<p>Também foram criadas variáveis de potência maior da variável hora, como hora ao quadrado e hora ao cubo. Com o objetivo de capturar o comportamento polinomial apresentado na figura 7.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="338" height="285" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-16.png" alt="" class="wp-image-207" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-16.png 338w, http://estatidados.com.br/wp-content/uploads/2020/07/image-16-300x253.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-16-200x170.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-16-296x250.png 296w" sizes="auto, (max-width: 338px) 100vw, 338px" /></figure></div>



<p>Figura 13 – Densidade das variáveis criadas para Hora em relação as Temperaturas Críticas e Não Críticas</p>



<p>Com o objetivo de capturar mais informações de instantes passado da temperatura, foram utilizadas as temperaturas de 1, 2, 3, 4, 5, 6, e 12 horas atrás. A amplitude (temperatura máxima – temperatura mínima) de 1, 2 ,3, 4, 5, 6 e 12 horas atrás. A temperatura mínima ocorrida a 3, 4, 5, 6, e 12 horas atrás. Também foi criada uma correlação linear móvel, que captura a correlação linear entre a temperatura no instante atual com a temperatura de 12 horas atrás.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="567" height="276" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-17.png" alt="" class="wp-image-208" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-17.png 567w, http://estatidados.com.br/wp-content/uploads/2020/07/image-17-300x146.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-17-200x97.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-17-400x195.png 400w" sizes="auto, (max-width: 567px) 100vw, 567px" /></figure></div>



<p>Figura 14 – Densidade das variáveis defasadas (lag) no tempo para temperaturas críticas e não críticas</p>



<p>Para concluir a engenharia de variáveis, foi criada uma variável que vai de 1 até 365, para capturar variação linear das temperaturas ao longo dos dias dos anos.</p>



<p>Ao término da engenharia de variáveis, foram criadas 34 variáveis preditoras. Outras variáveis além das aqui apresentadas também foram criadas, mas não tiveram sucesso em separar os eventos de temperatura crítica dos eventos de temperatura não crítica.</p>



<p><strong>3) Gerando Dados Sintéticos para Classe Minoritária</strong></p>



<p>No aprendizado de máquina e na ciência de dados, geralmente encontramos um termo chamado distribuição de dados desequilibrada, geralmente acontece quando as proporções de observações em uma classe da variável resposta são muito maiores ou menores que as outras classes.</p>



<p>Neste estudo de caso, no período histórico disponível, das 18.572 observações de temperaturas disponíveis (após agregar os dados por hora), dessas, apenas em 138 observações ocorreram temperaturas menor ou igual a seis graus, ou seja, o evento que o algoritmo deve predizer com 12 hora de antecedência que é ‘Ocorrer uma temperatura crítica’, ocorreu em 0,74% do histórico disponível.</p>



<p>Algoritmos de aprendizado de máquina como Árvore de Decisão e Regressão Logística, têm uma tendência para a&nbsp;classe&nbsp;<strong>majoritária</strong>&nbsp;e tendem a ignorar a classe minoritária.&nbsp;Eles tendem apenas a prever a classe majoritária e, portanto, apresentam grandes erros de classificação da classe minoritária em comparação com a classe majoritária.</p>



<p>Para trabalhar esse desequilíbrio, foi utilizado um algoritmo para gerar dados sintéticos da classe minoritária, chamado SMOTE (Synthetic Minority Oversampling Technique). O objetivo é equilibrar a distribuição de classes aumentando aleatoriamente exemplos de classes minoritárias, replicando-os.</p>



<p>O SMOTE sintetiza novas observações entre as observações existentes da classe minoritária. O algoritmo gera essas novas observações sintéticas por interpolação linear. São gerados pela seleção aleatória de um ou mais vizinhos mais próximos para cada observação na classe minoritária.</p>



<p>O SMOTE funciona da seguinte forma:</p>



<p><strong>Passo 1:</strong> Defina o conjunto da classe minoritária A, para cada x ∊ A, os k-vizinhos mais próximos de x são obtidos tomando a distância euclidiana entre x e outra amostra do conjunto A. A distância euclidiana entre dois elementos amostrais pode ser obtida pela fórmula:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="496" height="113" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-18.png" alt="" class="wp-image-209" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-18.png 496w, http://estatidados.com.br/wp-content/uploads/2020/07/image-18-300x68.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-18-200x46.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-18-400x91.png 400w" sizes="auto, (max-width: 496px) 100vw, 496px" /></figure></div>



<p>Onde k é o número de variáveis preditoras. Ou seja, a distância entre o par de observações x<sub>i</sub> e x<sub>j</sub> utilizando a distância euclidiana é raiz quadrada do somatório das diferenças ao quadrado entre cada variável, para todo i diferente de j, pois se calcular a distância da observação com ela mesma, a distância será zero.</p>



<p><strong>Passo 2: </strong>Para cada x ∊ A, n elementos amostrais são selecionados aleatoriamente a partir de seus k-vizinhos mais próximos e formam o conjunto A<sub>1</sub>.</p>



<p><strong>Passo 3: </strong>Para cada elemento amostral contido em A<sub>1</sub>, a seguinte fórmula é usada para gerar um novo elemento amostral sintético:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="375" height="66" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-19.png" alt="" class="wp-image-210" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-19.png 375w, http://estatidados.com.br/wp-content/uploads/2020/07/image-19-300x53.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-19-200x35.png 200w" sizes="auto, (max-width: 375px) 100vw, 375px" /></figure></div>



<p>Onde o argumento ‘aleatório’ é um valor contínuo entre zero e um gerado aleatoriamente.</p>



<p>Para apresentar em três dimensões a proporção de elementos amostrais onde ocorreram temperaturas críticas antes e após a aplicação do SMOTE, as variáveis preditoras no conjunto de dados foram combinadas linearmente através dos 3 primeiros autovetores obtidos a partir de sua matriz de covariâncias. Ou seja, sendo X uma matriz contendo as p variáveis preditoras, Σ<sub>pxp </sub>a matriz quadrada de covariâncias de ordem p, 𝝺<sub>1</sub>≥ 𝝺<sub>2</sub>≥ &#8230;𝝺<sub>p </sub>os autovalores da matriz Σ<sub>pxp </sub>, e v<sub>1,</sub> v<sub>2,&#8230;</sub> v<sub>p </sub>seus respectivos autovetores normalizados. As três dimensões plotadas nas figuras 15 e 16 são obtidas da seguinte maneira:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="242" height="159" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-20.png" alt="" class="wp-image-211" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-20.png 242w, http://estatidados.com.br/wp-content/uploads/2020/07/image-20-200x131.png 200w" sizes="auto, (max-width: 242px) 100vw, 242px" /></figure></div>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="636" height="347" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-23.png" alt="" class="wp-image-214" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-23.png 636w, http://estatidados.com.br/wp-content/uploads/2020/07/image-23-300x164.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-23-200x109.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-23-400x218.png 400w" sizes="auto, (max-width: 636px) 100vw, 636px" /></figure></div>



<p>Figura 15 – Apresentação em três dimensões dos dados antes do balanceamento de classes pelo SMOTE</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="615" height="365" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-22.png" alt="" class="wp-image-213" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-22.png 615w, http://estatidados.com.br/wp-content/uploads/2020/07/image-22-300x178.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-22-200x119.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-22-400x237.png 400w" sizes="auto, (max-width: 615px) 100vw, 615px" /></figure></div>



<p>Figura 16 – Apresentação em três dimensões dos dados após o balanceamento de classes pelo SMOTE</p>



<p><strong>4) Regressão Logística</strong></p>



<p>A literatura fornece uma rica variedade de algoritmos de aprendizado de máquina para modelagem preditiva, é esperado que diversos algoritmos sejam ajustados aos dados e aquele que apresentar a melhor capacidade preditiva de acordo com o contexto é escolhido para ser implementado em produção. Neste estudo, o objetivo é apresentar o contexto e como foi solucionado utilizando aprendizado de máquina, e a modelagem preditiva utilizando a Regressão Logística foi a que apresentou melhores resultados. Outros algoritmos também foram testados, incluindo algoritmos baseados em árvores de decisões como o Random Forest e o Gradient Boosting Machine, e algoritmos baseados em funções discriminantes como o Discriminante Linear de Fisher e o Discriminante Quadrático. Porém foge do objetivo do artigo apresentar comparações entre a performance preditiva dos algoritmos, portanto o foco será apenas na Regressão Logística.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="286" height="90" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-24.png" alt="" class="wp-image-215" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-24.png 286w, http://estatidados.com.br/wp-content/uploads/2020/07/image-24-200x63.png 200w" sizes="auto, (max-width: 286px) 100vw, 286px" /></figure></div>



<p>A Regressão Logística faz parte dos modelos lineares generalizados, que é uma variação da regressão de mínimos quadrados ordinários. Portanto, apesar de conter a palavra Regressão em seu nome, a Regressão Logística é utilizada para tarefa de classificação pois é baseada na distribuição binomial, que é utilizada para mensurar a probabilidade de que determinado número de sucesso ocorra em n tentativas. E pode ser representada pela equação:</p>



<p>Onde n é o número de tentativas, x é o número de sucessos e p é a probabilidade de sucesso.</p>



<p>Outro exemplo dos modelos lineares generalizados é a Regressão Poisson e a Regressão Binomial Negativa, que são utilizados para dados de contagem.</p>



<p>A regressão logística modela a probabilidade de uma observação pertencer a uma determinada categoria de saída, que neste contexto, as categorias são 1 = Ocorrerá uma temperatura crítica no trilho em doze horas e 0 = Não ocorrerá uma temperatura crítica no trilho em doze horas.</p>



<p>O modelo de Regressão Logística ajustado tem a forma:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="389" height="110" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-25.png" alt="" class="wp-image-216" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-25.png 389w, http://estatidados.com.br/wp-content/uploads/2020/07/image-25-300x85.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-25-200x57.png 200w" sizes="auto, (max-width: 389px) 100vw, 389px" /></figure></div>



<p>Como alternativa pode ser escrito como:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="473" height="107" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-26.png" alt="" class="wp-image-217" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-26.png 473w, http://estatidados.com.br/wp-content/uploads/2020/07/image-26-300x68.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-26-200x45.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-26-400x90.png 400w" sizes="auto, (max-width: 473px) 100vw, 473px" /></figure></div>



<p>Isso pode ser interpretado como o log da razão de chances do evento a ser predito y = 1 ocorrer dado os valores dos preditores x, pelas chances do evento a ser predito não ocorrer y = 0 dado os valores dos preditores x.</p>



<p>Os coeficientes β da equação são estimados maximizando função de verossimilhança sobre o conjunto de dados históricos:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="443" height="85" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-27.png" alt="" class="wp-image-218" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-27.png 443w, http://estatidados.com.br/wp-content/uploads/2020/07/image-27-300x58.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-27-200x38.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-27-400x77.png 400w" sizes="auto, (max-width: 443px) 100vw, 443px" /></figure></div>



<p>Levando em conta quem os preditores podem ser correlacionados entre si e que nem todos preditores podem contribuir de maneira significativa para a predição, restrições foram adicionadas na função de verossimilhança. Restrições conhecidas como Restrição L<sub>1 </sub>(também chamada de Lasso) e a restrição L<sub>2 </sub>(também chamada de Ridge). Ao adicionar as duas restrições na função objetivo, o modelo de penalização é chamado de Elastic Net.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="567" height="282" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-28.png" alt="" class="wp-image-219" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-28.png 567w, http://estatidados.com.br/wp-content/uploads/2020/07/image-28-300x149.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-28-200x99.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-28-400x199.png 400w" sizes="auto, (max-width: 567px) 100vw, 567px" /></figure></div>



<p>Figura 17 – Restrições L<sub>1</sub> (Lasso), L<sub>2</sub> (Ridge) e L<sub>1</sub> + L<sub>2</sub> (Elastic Net) – Fonte https://stanford.io/2YPUjcz</p>



<p>O valor para a constante α na restrição Elastic Net indica o peso que a restrição L<sub>1</sub> e a L<sub>2</sub> terão sobre a função de verossimilhança, estes podem variar de 0 a 1. Valores abaixo de 0,5 dão maior peso a restrição L<sub>2</sub> e valores acima de 0.5 dão maior peso a restrição L<sub>1</sub>. O valor para α deve ser escolhido pelo pesquisador. Uma observação importante é que na figura 17 o autor utilizou a notação θ para representar os coeficientes que nesse artigo estão sendo representados por 𝜷.</p>



<p>O valor para a constante λ (também conhecida como multiplicador de Lagrange) de cada restrição, pode ser estimado via validação cruzada.</p>



<p>No processo de validação cruzada o conjunto de dados é dividido em k partes, um modelo preditivo é ajustado nas k-1 partes, e aplicado na parte que ficou de fora. Esse processo é repetido k vezes e o modelo final é ajustado ao conjunto completo de dados. O erro das predições é então calculado tomando a média aritmética dos erros nos k modelos ajustados.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="567" height="172" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-29.png" alt="" class="wp-image-220" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-29.png 567w, http://estatidados.com.br/wp-content/uploads/2020/07/image-29-300x91.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-29-200x61.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-29-400x121.png 400w" sizes="auto, (max-width: 567px) 100vw, 567px" /></figure></div>



<p>Figura 18 – Processo de Validação Cruzada (k-fold cross validation) &#8211; Fonte https://stanford.io/2YPUjcz</p>



<p>O procedimento de adicionar as restrições L<sub>1</sub> e L<sub>2</sub> na função de verossimilhança, que também é chamado de regularização da função de verossimilhança, visa evitar que o modelo super ajuste os dados e seja capaz de lidar com os problemas de alta variância. Um detalhe interessante da restrição L<sub>1 </sub>é que automaticamente é feita uma seleção de variáveis, pois o coeficiente β de uma variável preditora que não esteja contribuindo de forma significativa para a predição pode ser ponderado pelo multiplicado pela constante de penalização λ até se tornar igual a zero.</p>



<p>A função de verossimilhança com as restrições fica:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="756" height="110" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-30.png" alt="" class="wp-image-221" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-30.png 756w, http://estatidados.com.br/wp-content/uploads/2020/07/image-30-300x44.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-30-200x29.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-30-400x58.png 400w" sizes="auto, (max-width: 756px) 100vw, 756px" /></figure>



<p>Onde p é a quantidade de preditores.</p>



<p>Muitos pacotes estatísticos utilizam o algoritmo de Newton para otimizar a função de verossimilhança, em um processo chamado de mínimos quadrados reponderados iterativos (IRLS), entretanto, devido a adição das restrições, o método utilizado foi a Descida Coordenada, que se baseia na ideia de otimizar uma função multivariada em uma direção de cada vez. Os passos matemáticos do algoritmo de otimização estão além do escopo do presente artigo mas há bastante literatura disponível.</p>



<p><strong>4) Avaliação da Performance Preditiva do Algoritmo</strong></p>



<p>Uma das formas de avaliar o quão bem ajustado aos dados o algoritmo de aprendizado de máquina está, é aplicar o algoritmo nos próprios dados históricos e comparar a classe real de cada observação com a classe predita pelo algoritmo e obter a taxa de acerto. Entretanto essa abordagem pode gerar uma conclusão enviesada pois o algoritmo já “conhece” os dados em que ele foi ajustado, dados estes que também são chamados de conjunto de treino. Sendo assim, o processo de validação cruzada seria bastante pertinente aqui.</p>



<p>Entretanto, no contexto apresentado, a validação cruzada não será efetiva. Pois o SMOTE foi utilizado para gerar observações sintéticas e equilibrar as classes. Dessa forma a proporção de observações que possuem a temperatura crítica não reflete a realidade. Finalmente, o procedimento utilizando para avaliar a performance preditiva do algoritmo, em dados que ele ainda não “conhece”, foi o chamado Hold-Out. Que consiste em utilizar um percentual do histórico de dados para treinar o algoritmo e separar o percentual restante para validação. Então é avaliada a taxa de acertos do algoritmo nesse conjunto de validação.</p>



<p>No estudado apresentado, os dados são ordenados ao longo tempo, portanto as medições do período de janeiro de 2017 até dezembro de 2018 foram utilizadas para formar o conjunto de treinamento, e as medições de janeiro a março de 2019 utilizadas para formar o conjunto de validação. Importante observar que o SMOTE foi aplicado somente no conjunto de treino, para que no conjunto de validação seja refletida a proporção real entre as ocorrências e não ocorrências de temperaturas críticas.</p>



<p>Para avaliar a taxa de acertos do algoritmo, uma tabela cruzando a coluna da variável resposta original e a variável resposta predita é obtida. Essa tabela leva o nome de matriz de confusão, que é uma tabela que nos informa os erros e acertos de predição do algoritmo. A matriz de confusão é calculada utilizando apenas duas colunas, a variável resposta que já estava no conjunto de dados e uma nova coluna informando a classe que o algoritmo predisse para cada observação. Independente do contexto, sempre que trabalhamos com uma tarefa de classificação, deve ser definida qual será a classe positiva e a negativa da variável resposta. A classe positiva não necessariamente é algo bom, mas é o que se busca predizer com o algoritmo. Neste contexto a classe positiva é “Ocorrer_Temperatura_Crítica”, pois é esse evento que estamos interessado em prever.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="339" height="175" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-31.png" alt="" class="wp-image-222" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-31.png 339w, http://estatidados.com.br/wp-content/uploads/2020/07/image-31-300x155.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-31-200x103.png 200w" sizes="auto, (max-width: 339px) 100vw, 339px" /></figure></div>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Figura 19 – Estrutura geral da matriz de confusão para um classificador binário</p>



<p>A célula A trará a quantidade de observações da classe positiva que foram preditas como pertencentes da classe positiva. Ou seja, o quanto o algoritmo acertou para a classe positiva (verdadeiro positivo).</p>



<p>A célula B trará a quantidade de observações da classe positiva que foram preditas como pertencentes da classe negativa. Ou seja, o quanto o algoritmo errou para a classe negativa (falso negativo).</p>



<p>A célula C trará a quantidade de observações da classe negativa que foram preditas como pertencentes da classe positiva. Ou seja, o quanto o algoritmo errou para a classe positiva (falso positivo).</p>



<p>A célula D trará a quantidade de observações preditas como pertencentes da classe negativa e que realmente eram da classe negativa. Ou seja, o quanto o algoritmo acertou para a classe negativa (verdadeiro negativo).</p>



<p>Observe que os elementos da diagonal principal da matriz (células A e D) correspondem a quantidade de acertos, e os elementos fora da diagonal principal (células B e C) correspondem aos erros.</p>



<p>O output da regressão logística é uma probabilidade, então um ponto de corte (threshold) deve ser definido, de forma que, se a probabilidade estimada for acima do ponto de corte, a predição será considerada como pertencente ao evento positivo (ocorrerá temperatura crítica), caso contrário, a predição será considerada como pertencente ao evento negativo (não ocorrerá temperatura crítica).</p>



<p>Na literatura existem diversas métricas para orientar o pesquisador a identificar o melhor ponto de corte de acordo com o contexto do experimento.</p>



<p>A princípio a métrica chamada F2 foi considerada, pois é uma métrica que penaliza alta quantidade de falsos negativos, e esse é o erro mais crítico no contexto desse artigo. Pois se o algoritmo predizer que não ocorrerá temperatura crítica no trilho nas próximas doze horas, e ocorrer, os danos podem ser catastróficos. Ou seja, o ponto de corte escolhido deve ser aquele que resulte no maior valor de F2. Seu valor varia entre zero e um e quanto maior melhor. A medida F2 pode ser obtida pela seguinte equação:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="481" height="163" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-32.png" alt="" class="wp-image-223" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-32.png 481w, http://estatidados.com.br/wp-content/uploads/2020/07/image-32-300x102.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-32-200x68.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-32-400x136.png 400w" sizes="auto, (max-width: 481px) 100vw, 481px" /></figure></div>



<p>Onde VP são os verdadeiros positivos, FP os falsos positivos e os FN os falsos negativos.</p>



<p>Entretanto, devido ao enorme desbalanceamento entre as classes de interesse no conjunto de dados de validação, essa métrica não foi útil na prática. Finalmente, a métrica adotada foi o Erro Médio por Classes (mean per class error), que consiste em obter um ponto de corte que irá gerar a menor média entre a taxa de erros para classe de interesse e a classe de não interesse. Ou seja, o ponto de corte deve minimizar a seguinte equação:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="542" height="116" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-33.png" alt="" class="wp-image-224" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-33.png 542w, http://estatidados.com.br/wp-content/uploads/2020/07/image-33-300x64.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-33-200x43.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-33-400x86.png 400w" sizes="auto, (max-width: 542px) 100vw, 542px" /></figure></div>



<p>Onde FN são os falsos negativos, FP os falsos positivos, n<sub>1</sub> é a quantidade de observações pertencentes a classe 1, e n<sub>0</sub> é a quantidade de observações pertencentes a classe 0.</p>



<p>ANÁLISE DOS RESULTADOS</p>



<p>Foram testados cem valores para a constante λ de penalização, sendo o valor mínimo λ= 1.881E-4 e valor máximo λ = 0.3525. Para cada valor foi realizado um procedimento de validação cruzada com k=5. Ou seja, foram ajustadas 500 regressões logísticas. O valor de λ que obteve a melhor performance preditiva foi 2.065E-4.</p>



<p>Para o valor de alfa α foi utilizada uma grade de busca (grid search) testando valores de α=0.0 até α=1.0, incrementando de 0.1. O melhor valor foi α=0.99, que é basicamente uma regressão L<sub>1 </sub>(lasso).</p>



<p>&nbsp;O algoritmo de Descida Coordenada gastou 163 interações para otimizar a função objetivo.</p>



<p>O modelo iniciou com 32 preditores e finalizou com 24 preditores. Ou seja, a restrição L<sub>1</sub> zerou o coeficiente de algumas das variáveis.</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-34.png" alt="" class="wp-image-225" width="591" height="326" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-34.png 643w, http://estatidados.com.br/wp-content/uploads/2020/07/image-34-300x166.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-34-200x110.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-34-400x221.png 400w" sizes="auto, (max-width: 591px) 100vw, 591px" /></figure></div>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Figura 20 – Variáveis consideradas mais importantes pelo algoritmo</p>



<p>Na figura 20 pode-se visualizar as variáveis que o algoritmo considerou mais importante para predição. As variáveis Hora, Hora ao cubo e a temperatura de 12 horas atrás (lag 12) foram as três variáveis mais importantes. E as variáveis partir Temperatura Mínima Lag4 foram removidas do modelo pela restrição L<sub>1</sub> .</p>



<p>Na figura 21 pode-se visualizar a matriz de confusão na amostra de validação, utilizando o ponto de corte de 49%.</p>



<div class="wp-block-image"><figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" src="http://estatidados.com.br/wp-content/uploads/2020/07/image-35.png" alt="" class="wp-image-226" width="569" height="80" srcset="http://estatidados.com.br/wp-content/uploads/2020/07/image-35.png 567w, http://estatidados.com.br/wp-content/uploads/2020/07/image-35-300x42.png 300w, http://estatidados.com.br/wp-content/uploads/2020/07/image-35-200x28.png 200w, http://estatidados.com.br/wp-content/uploads/2020/07/image-35-400x56.png 400w" sizes="auto, (max-width: 569px) 100vw, 569px" /></figure></div>



<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Figura 21 – Matriz de confusão na base de validação</p>



<p>Das 28 observações que ocorreram temperaturas críticas, 27 o algoritmo acertou e 1 ele errou (falso negativo). Houveram 231 falsos positivos, que são alarmes falsos, mas que são menos custosos e mais administráveis que os falsos negativos.</p>



<p>CONCLUSÕES</p>



<p>Após todos os experimentos científicos com os dados e algoritmos foi possível compreender que é possível utilizar aprendizado de máquina para predizer com doze horas de antecedência com uma taxa de acerto bastante interessante. Como próximos passos, está prevista a expansão desse conceito de modelagem preditiva a outros termômetros em outros corredores logísticos. Pois o algoritmo ajustado “aprendeu” os padrões nas temperaturas para esse termômetro, em outros, o comportamento da temperatura será diferente, portanto um novo modelo preditivo deve ser ajustado aos dados.</p>



<p>REFERÊNCIAS BIBLIOGRÁFICAS</p>



<p>BOLDRINI, Costa; WETZLER, Figueiredo. <em>Álgebra Linear</em>. 3. ed. São Paulo: HARBRA, 1986.</p>



<p>CHAWLA, N. V., BOWYER, K. W., Hall, L. O., and KEGELMEYER, W. P. (2002). <em>Smote: Synthetic minority over-sampling technique. Journal of Artificial Intelligence Research</em>, 16:321-357.</p>



<p>GUJARATI, Damodar N.; PORTER, Dawn C.. <em>Econometria Básica</em>. Tradução de Denise Durante et al. 5. ed. Porto Alegra: AMGH Editora Ltda., 2011.</p>



<p>HASTIE, Trevor et al. <em>An Introduction to Statistical Learning: with Applications in R</em>. 1. ed. New York: Springer, 2013.</p>



<p>HASTIE, Trevor; TIBSHIRANI, Robert; FRIEDMAN, Jerome. <em>The Elements of Statistical Learning: Data Mining, Inference, and Prediction</em>. 2. ed. New York: Springer, 2009.</p>



<p>MINGOTI, Sueli Aparecida.<em> Análise de Dados Através de Métodos de Estatística Multivariada: Uma Abordagem Aplicada</em>. 1. ed. Belo Horizonte: Editora UFMG, 2005.</p>



<p>Mineração de Dados – Página 106 de 106</p>



<p>TORGO, L. (2010) <em>Data Mining using R: learning with case studies</em>, CRC Press (ISBN: 9781439810187)</p>



<p>#Aprendizadodemaquina #machinelearning #estatistica #previsao #cienciadedados</p>



<p>Linkedin Prof. Máiron Chaves:</p>



<p><a href="https://www.linkedin.com/in/maironchaves/">https://www.linkedin.com/in/maironchaves/</a></p>



<p>Playlist Prof. Mairon Chaves Estatidados:</p>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Regressão Logística no Poderoso H20 do R" width="500" height="281" src="https://www.youtube.com/embed/8ZbhwXmZsYI?list=PLjdDBZW3EmXcIEsgJVq5Kx35oD3suXexw" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p></p>
<p>O post <a href="http://estatidados.com.br/utilizando-aprendizado-de-maquina-para-predizer-falhas-na-ferrovia/">Utilizando Aprendizado de Máquina para predizer falhas na Ferrovia</a> apareceu primeiro em <a href="http://estatidados.com.br">Estatidados</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://estatidados.com.br/utilizando-aprendizado-de-maquina-para-predizer-falhas-na-ferrovia/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Machine Learning: Conceitos e Modelos — Parte I: Aprendizado Supervisionado*</title>
		<link>http://estatidados.com.br/machine-learning-conceitos-e-modelos-parte-i-aprendizado-supervisionado/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=machine-learning-conceitos-e-modelos-parte-i-aprendizado-supervisionado</link>
					<comments>http://estatidados.com.br/machine-learning-conceitos-e-modelos-parte-i-aprendizado-supervisionado/#comments</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 21 Jul 2020 20:50:25 +0000</pubDate>
				<category><![CDATA[ciencia de dados]]></category>
		<category><![CDATA[Estatística]]></category>
		<category><![CDATA[Machine learning]]></category>
		<category><![CDATA[Tatiana Escovedo]]></category>
		<guid isPermaLink="false">http://estatidados.com.br/?p=177</guid>

					<description><![CDATA[<p>Machine Learning — ou Aprendizado de Máquina — é uma das técnicas utilizadas na Inteligência Artificial que usa algoritmos baseados em matemática e estatística para realizar a tarefa de aprendizado. Machine Learning surge da necessidade de processar e obter informação<a class="leiamais" href="http://estatidados.com.br/machine-learning-conceitos-e-modelos-parte-i-aprendizado-supervisionado/" title="Machine Learning: Conceitos e Modelos — Parte I: Aprendizado Supervisionado*">...[Continuar lendo]</a></p>
<p>O post <a href="http://estatidados.com.br/machine-learning-conceitos-e-modelos-parte-i-aprendizado-supervisionado/">Machine Learning: Conceitos e Modelos — Parte I: Aprendizado Supervisionado*</a> apareceu primeiro em <a href="http://estatidados.com.br">Estatidados</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Machine Learning — ou Aprendizado de Máquina — é uma das técnicas utilizadas na Inteligência Artificial que usa algoritmos baseados em matemática e estatística para realizar a tarefa de aprendizado. Machine Learning surge da necessidade de processar e obter informação útil a partir dos dados e, uma vez que é inviável realizar manualmente o processamento e análise da grande quantidade de dados que temos disponíveis atualmente, é necessário automatizar tarefas, simulando o comportamento humano.</p>



<p>Desta forma, podemos definir Machine Learning como a utilização de algoritmos com a finalidade de extrair informações de dados brutos e representá-los por meio de algum tipo de modelo matemático. Este modelo é então usado para fazer inferências — ou predições — a partir de novos conjuntos de dados. Machine Learning busca, em geral, descobrir padrões ou fórmulas matemáticas que expliquem o relacionamento entre os dados, e estuda formas de automatização de tarefas inteligentes que seriam difíceis ou até mesmo impossíveis de serem realizadas manualmente por seres humanos.</p>



<p>Vale a pena ressaltar que a maioria das técnicas de Machine Learning é antiga e, em sua grande parte, provenientes da Estatística. Porém, elas só passaram a ser efetivamente utilizadas para exploração de dados nos últimos anos devido a diversos fatores, como a disponibilidade de maior volume de dados devido a popularização de aplicativos e dispositivos móveis, popularização de técnicas de Data Warehousing (grandes armazéns de dados com arquitetura voltada para a tomada de decisão), melhoria exponencial da potência dos recursos computacionais, como capacidade de processamento, e forte competição empresarial.</p>



<p>Em Machine Learning, o&nbsp;<strong>aprendizado</strong>&nbsp;é o objetivo principal. Aprendizado é a capacidade de se adaptar, modificar e melhorar seu comportamento e suas respostas, sendo uma das propriedades mais importantes dos seres inteligentes (humanos ou não). Diz-se que se está&nbsp;<strong>aprendendo</strong>&nbsp;(treinando, construindo, formulando ou induzindo um modelo de conhecimento) a partir de um conjunto de dados quando se procura por padrões nestes dados. Quando se faz uma estimativa (teste, predição) dos valores desconhecidos para atributos do conjunto de dados, diz-se que o modelo está sendo&nbsp;<strong>aplicado</strong>.</p>



<p>Podemos dividir o aprendizado em Machine Learning em dois grandes tipos: supervisionado e não-supervisionado. No&nbsp;<strong>aprendizado supervisionado</strong>, o modelo (ou algoritmo) é construído a partir dos dados de entrada (também chamados de&nbsp;<em>dataset</em>), que são apresentados na forma de pares ordenados (entrada — saída desejada). Dizemos que estes dados são rotulados, pois sabemos de antemão a saída esperada para cada entrada de dados. Neste caso, o aprendizado (ou treinamento) consiste em apresentarmos para o algoritmo um número suficiente de exemplos (também chamados de registros ou instâncias) de entradas e saídas desejadas (já rotuladas previamente). Assim, o objetivo do algoritmo é aprender uma regra geral que mapeie as entradas nas saídas corretamente, o que consiste no modelo final. Os dados de entrada podem ser divididos em dois grupos:</p>



<ul class="wp-block-list"><li>X, com os atributos (também chamados de características) a serem utilizados na determinação da classe de saída (também chamados de atributos previsores ou de predição)</li><li>Y, com o atributo para o qual se deseja fazer a predição do valor de saída categórico ou numérico (também chamado de atributo-alvo ou target).</li></ul>



<p>É comum que particionemos os dados de entrada (rotulados) em dois conjuntos: o conjunto de treinamento, que servirá para construir o modelo, e o conjunto de teste (também chamado na literatura de conjunto de validação), que servirá para verificar como o modelo se comportaria em dados não vistos, de forma que possamos ajustá-lo, se necessário para a construção final do modelo, a ser aplicado em novos dados que ainda não conhecemos a saída esperada. A figura a seguir ilustra o funcionamento de um modelo de aprendizado supervisionado:</p>



<figure class="wp-block-image"><img decoding="async" src="https://miro.medium.com/max/2862/0*v664OdkYiSNGQ4O9" alt="Image for post"/><figcaption>Esquema do aprendizado supervisionado</figcaption></figure>



<p>Apesar da essência principal de Machine Learning consistir na construção de algoritmos de aprendizado supervisionado ou não supervisionado, esta não é a única etapa em que devemos nos concentrar. É muito importante que entendamos bem o problema a ser resolvido para que possamos traçar os objetivos principais. Em seguida, será necessário coletar e analisar os dados adequados para o problema e prepará-los, pois na maioria das vezes eles virão com informações faltantes, incompletas ou inconsistentes. Após estas etapas é que podemos construir o modelo de Machine Learning, que deve ser avaliado e criticado e, se necessário voltar à etapa de coleta e análise de dados, para a obtenção de mais dados, ou mesmo retornar à etapa de construção do modelo, usando diferentes estratégias. Quando se chegar a um modelo satisfatório para o problema, será necessário apresentar os resultados para o demandante e distribuir o modelo em ambiente produtivo. A sequência a seguir resume estas 7 etapas que, idealmente, devem ser realizadas em todos os projetos de Machine Learning.</p>



<ol class="wp-block-list"><li>Entender o problema e definir objetivos —&nbsp;<em>Que problema estou resolvendo?</em></li><li>Coletar e analisar os dados —&nbsp;<em>De que informações preciso?</em></li><li>Preparar os dados —&nbsp;<em>Como preciso tratar os dados?</em></li><li>Construir o modelo —&nbsp;<em>Quais são os padrões nos dados que levam a soluções?</em></li><li>Avaliar e criticar o modelo —&nbsp;<em>O modelo resolve meu problema?</em></li><li>Apresentar resultados —&nbsp;<em>Como posso resolver o problema?</em></li><li>Distribuir o modelo —&nbsp;<em>Como resolver o problema no mundo real?</em></li></ol>



<p>A figura a seguir resume este fluxo:</p>



<figure class="wp-block-image"><img decoding="async" src="https://miro.medium.com/max/3007/0*lIGBIUK19ELRaHYh" alt="Image for post"/><figcaption>Esquema de um projeto completo de Machine Learning. Fonte: (ESCOVEDO &amp; KOSHIYAMA, 2020)</figcaption></figure>



<p>São exemplos de problemas de aprendizado supervisionado a&nbsp;<strong>Classificação</strong>&nbsp;e a&nbsp;<strong>Regressão</strong>, queserão detalhados a seguir.</p>



<h1 class="wp-block-heading" id="27ac">Classificação</h1>



<p>Um exemplo típico de problema de&nbsp;<strong>Classificação</strong>&nbsp;é a detecção de clientes com perfis fraudulentos. Imagine a seguinte situação: um determinado cliente deseja obter um empréstimo de R$ 10.000,00. O gestor deste sistema poderia se perguntar: “Será que este cliente vai pagar o empréstimo?”. Ou ainda, “Qual é o melhor modelo de financiamento para este cliente (juros, prazo etc.)?”. Este é um problema típico de Classificação, pois deseja-se classificar um cliente em uma das possíveis classes do problema, por exemplo, bom pagador/mau pagador ou juros/prazo/outros.</p>



<p>A Classificação é uma das categorias de problemas de Machine Learning mais importantes e mais populares e o objetivo do algoritmo é aprender uma regra geral que mapeie as entradas nas saídas corretamente. Conforme já mencionamos, os dados de entrada podem ser divididos em dois grupos: X, com os atributos a serem utilizados na determinação da classe de saída e Y, que representa a classe de saída (o atributo para o qual se deseja fazer a predição do valor da classe), sendo que em problemas de Classificação, o Y é sempre categórico.</p>



<p>Informalmente, um problema de Classificação pode ser definido como a busca por uma função matemática que permita associar corretamente cada exemplo Xi de um conjunto de dados a um único rótulo categórico, Yi, denominado classe. Esta função, uma vez identificada, poderá ser aplicada a novos dados para prever suas respectivas classes. A figura a seguir ilustra este problema:</p>



<figure class="wp-block-image"><img decoding="async" src="https://miro.medium.com/max/1648/0*Hx76EP4nvJSDtaPA" alt="Image for post"/><figcaption>Problema de Classificação. Fonte: (ESCOVEDO &amp; KOSHIYAMA, 2020)</figcaption></figure>



<p>O fluxo resumido de um problema de Classificação inicia gerando, a partir de uma base de dados rotulada (aquela em que para cada exemplo, conhecemos a sua respectiva classe), dois subconjuntos disjuntos: a base de treino (contendo, por exemplo, 70% dos dados originais) e a base de teste (contendo, o restante dos dados originais, no caso, 30%).</p>



<p>Em seguida, é realizado o treinamento do modelo: a base de treino é submetida ao modelo (classificador) para que seus parâmetros sejam calibrados de acordo com os dados apresentados. Após esta etapa, ocorre a etapa de predição de classes: os exemplos da base de teste são apresentados para o modelo treinado para que este realize a predição de suas classes. Medimos a qualidade do modelo comparando as classes preditas com as classes verdadeiras da base de teste, permitindo medir sua habilidade em classificar corretamente exemplos não vistos durante o treinamento. Este fluxo pode ser resumido pela figura a seguir.</p>



<figure class="wp-block-image"><img decoding="async" src="https://miro.medium.com/max/3080/0*rFExeO04lmFwQzZn" alt="Image for post"/><figcaption>Fluxo resumido de problemas de Classificação. Fonte: (ESCOVEDO &amp; KOSHIYAMA, 2020)</figcaption></figure>



<p>Existem diversas medidas para estimar o desempenho de um classificador, sendo a&nbsp;<strong>acurácia</strong>&nbsp;uma das mais utilizadas, que representa o percentual de acertos do classificador. Outra métrica bastante utilizada para problemas de classificação é a&nbsp;<strong>matriz de confusão</strong>, que oferece um detalhamento do desempenho do modelo de classificação, mostrando, para cada classe, o número de classificações corretas em relação ao número de classificações preditas pelo modelo. A matriz de confusão pode ser usada para calcular outras métricas, tais como o número de&nbsp;<strong>Falsos Positivos</strong>&nbsp;(quando o resultado esperado é negativo, mas o modelo resulta em positivo),&nbsp;<strong>Falsos Negativos</strong>&nbsp;(quando o resultado esperado é positivo, mas o modelo resulta em negativo),&nbsp;<strong>Verdadeiros Positivos</strong>&nbsp;(quando o resultado esperado é positivo e o modelo resulta em positivo) e&nbsp;<strong>Verdadeiros Negativos</strong>&nbsp;(quando o resultado esperado é negativo e o modelo resulta em negativo).</p>



<p>A figura a seguir ilustra a matriz de confusão para um problema de classificação binária, no qual há somente duas classes possíveis, C1 e C2. Para problemas de classificação múltipla (no qual há mais de duas classes possíveis), a matriz de confusão pode ser um pouco confusa de se interpretar, sendo desencorajado o seu uso como única métrica de avaliação neste caso.</p>



<figure class="wp-block-image"><img decoding="async" src="https://miro.medium.com/max/2410/0*QwEFNzhuDRUIkUSo" alt="Image for post"/><figcaption>Matriz de confusão para problema de classificação binária. Fonte: (ESCOVEDO &amp; KOSHIYAMA, 2020)</figcaption></figure>



<h1 class="wp-block-heading" id="9ab8">Regressão</h1>



<p>O problema de Classificação, apresentado anteriormente, pode ser considerado um subtipo do problema de&nbsp;<strong>Regressão</strong>, pois ambos são bem similares. Sua principal diferença consiste na saída do modelo: na Classificação, o resultado é categórico e na Regressão, o resultado é numérico (contínuo ou discreto). Um exemplo de problema de Regressão é a predição do valor estimado das vendas em uma nova filial de uma determinada cadeia de lojas. Se esta pergunta for mapeada em um problema de Classificação, as respostas possíveis poderiam ser: Alto/Médio/Baixo. Se mapeada em um problema de Regressão, as respostas poderiam ser valores monetários. As tarefas de separação em conjuntos de treino e teste, treinamento e teste são feitas de forma equivalente para ambos os problemas.</p>



<p>Assim como na Classificação, a Regressão consiste em realizar aprendizado supervisionado a partir de dados históricos. Além do tipo do resultado de saída do modelo, os dois problemas também se diferem quanto às métricas utilizadas para a avaliação de saída: na Regressão, verifica-se a&nbsp;<strong>distância</strong>&nbsp;ou o&nbsp;<strong>erro</strong>&nbsp;entre a saída do modelo e a saída desejada. A saída do modelo é um valor numérico que deve ser o mais próximo possível do valor desejado, e a diferença entre esses valores fornece uma medida de erro de estimação do algoritmo.</p>



<p>Podemos definir um problema de Regressão como: dado um conjunto de&nbsp;<em>n</em>&nbsp;padrões, cada um deles composto por variáveis explicativas (independentes) e por uma variável resposta contínua ou discreta (dependente), busca-se construir um modelo de Regressão que estime o&nbsp;<strong>valor mais esperado</strong>&nbsp;para a variável resposta dado um novo padrão&nbsp;<em>i</em>. Assim, seja&nbsp;<em>di</em>&nbsp;o valor de resposta desejada para o padrão&nbsp;<em>i</em>&nbsp;e seja<em>&nbsp;zi</em>&nbsp;a resposta predita do algoritmo, obtida a partir da entrada do padrão&nbsp;<em>i</em>, então&nbsp;<em>di</em>&nbsp;—&nbsp;<em>zi</em>&nbsp;é o erro observado para o objeto&nbsp;<em>i</em>. O processo de treinamento do modelo de regressão tem por objetivo “corrigir” este erro observado e, para tal, busca ajustar os parâmetros do modelo de forma a aproximar as saídas preditas dos valores de saída desejados.</p>



<p>Dentre as diversas métricas de avaliação utilizadas para problemas de regressão, uma das mais usadas é a&nbsp;<strong>RMSE</strong>&nbsp;(<em>Root Mean Square Error</em>, ou raiz do erro quadrático médio). Quanto menor o valor de RMSE, melhor é o modelo de regressão analisado. Outra métrica muito utilizada é o&nbsp;<strong>Coeficiente de Determinação</strong>, ou R2. Quanto mais próximo de 1, melhor é o ajuste do modelo.</p>



<p>Para cada um dos problemas de Machine Learning existem diversos algoritmos que podem ser utilizados. Entretanto, vale a pena mencionar o conhecido teorema “não existe almoço grátis”: não existe um algoritmo de aprendizado que seja superior a todos os demais quando considerados todos os problemas possíveis. A cada problema, os algoritmos disponíveis devem ser experimentados a fim de identificar aqueles que obtêm melhor desempenho. Em seguida, apresentaremos alguns dos modelos mais utilizados para aprendizagem supervisionada.</p>



<h1 class="wp-block-heading" id="f26f">Algoritmos de Machine Learning</h1>



<h2 class="wp-block-heading" id="f4de">Árvore de Decisão</h2>



<p>A&nbsp;<strong>Árvore de Decisão</strong>&nbsp;é inspirada na forma como humanos tomam decisão e, por este motivo, um dos modelos mais simples de se entender. Uma das principais vantagens deste algoritmo é a apresentação visual da informação, facilitando o entendimento pelo ser humano. As árvores podem ser usadas para problemas de Classificação (Árvores de Classificação) ou Regressão (Árvores de Regressão). De forma resumida, uma árvore de decisão usa amostras das características dos dados para criar regras de decisão no formato de árvore, mapeando os dados em um conjunto de regras que podem ser usadas para uma decisão.</p>



<p>As árvores de decisão costumam ter bons resultados e boa interpretabilidade, e podem realizar automaticamente a seleção de variáveis para compor suas estruturas. Cada nó interno representa uma decisão sobre uma característica, que determina como os dados serão particionados pelos seus nós filhos. Para aplicar o modelo a um novo exemplo, basta testar os valores dos atributos em cada nó da árvore e percorrê-la até se atingir um nó folha, que representará a classe ou o valor predito, dependendo do problema ser de Classificação ou de Regressão. A figura a seguir ilustra uma Árvore de Classificação.</p>



<figure class="wp-block-image"><img decoding="async" src="https://miro.medium.com/max/886/0*AM_mS4ps-fa8sYNT" alt="Image for post"/><figcaption>Exemplo de Árvore de Classificação</figcaption></figure>



<p>Existem diferentes algoritmos para a elaboração de uma Árvore de Decisão. Alguns exemplos são: ID3, C4.5, C5.0 e CART. A ideia geral de todos estes algoritmos é bem parecida: a construção da árvore é realizada, em geral, de acordo com alguma abordagem recursiva de particionamento do conjunto de dados. A principal distinção entre os algoritmos está nos processos de seleção de variáveis, critério de particionamento e critério de parada para o crescimento da árvore.</p>



<h2 class="wp-block-heading" id="bcf2">K-Vizinhos mais próximos (KNN)</h2>



<p>O algoritmo&nbsp;<strong>KNN</strong>&nbsp;(k-Nearest Neighbours ou k-Vizinhos Mais Próximos) é um algoritmo de simples entendimento e que funciona muito bem na prática, podendo ser utilizado tanto para problemas de Classificação quanto para problemas de Regressão. Sua ideia principal é considerar que os exemplos vizinhos são similares ao exemplo cuja informação se deseja inferir, uma ideia parecida com “Diga-me com quem andas e eu te direi quem tu és!”. O KNN considera que os registros do conjunto de dados correspondem a pontos no espaço Rn, em que cada atributo corresponde a uma dimensão deste espaço. A figura a seguir ilustra um exemplo no espaço R2.</p>



<figure class="wp-block-image"><img decoding="async" src="https://miro.medium.com/max/1636/0*1xRmtE_N2pmHOtfP" alt="Image for post"/><figcaption>Exemplo de funcionamento do KNN. Fonte: (ESCOVEDO &amp; KOSHIYAMA, 2020)</figcaption></figure>



<p>No KNN, o conjunto de dados de treinamento é armazenado e, quando um novo exemplo chega, ele é comparado a todos os exemplos armazenados para identificar os&nbsp;<em>k</em>&nbsp;(que é um parâmetro de entrada do algoritmo) vizinhos mais próximos (mais semelhantes) de acordo com alguma métrica de distância (por exemplo, distância euclidiana). No caso de ser um problema de classificação, a classe do novo registro é determinada por inspeção das classes dos&nbsp;<em>k</em>&nbsp;vizinhos mais próximos, de acordo com a métrica escolhida. No caso de um problema de regressão, em vez da classe, examina-se o valor de Y dos<em>&nbsp;k</em>&nbsp;vizinhos. Na maioria das implementações do KNN, os atributos são normalizados no início do algoritmo, para que contribuam igualmente na predição da classe ou do valor.</p>



<p>As etapas a seguir resumem o algoritmo KNN:</p>



<ol class="wp-block-list"><li>Definição da métrica de distância utilizada e valor de&nbsp;<em>k</em>.</li><li>Cálculo da distância do novo exemplo a cada um dos exemplos existentes no conjunto inicial de entrada.</li><li>Identificação dos&nbsp;<em>k</em>&nbsp;exemplos do conjunto de referência que apresentaram menor distância em relação ao novo exemplo (mais similares).</li><li>Apuração da classe mais frequente entre os&nbsp;<em>k</em>&nbsp;exemplos identificados no passo anterior, usando votação majoritária (para problemas de classificação) ou estimação do valor Y como a média aritmética dos&nbsp;<em>k</em>-vizinhos mais próximos.</li></ol>



<h2 class="wp-block-heading" id="cdfc">Regressão Linear</h2>



<p>A&nbsp;<strong>Regressão Linear</strong>&nbsp;é um algoritmo utilizado apenas para problemas de Regressão, e, resumidamente, consiste em escolher coeficientes para construir uma reta que minimize a soma dos quadrados dos erros (SQE) entre os valores reais dos exemplos de treinamento e esta reta. Observe um exemplo de regressão linear para o problema de se estimar o faturamento esperado para uma filial em um bairro, considerando a renda per capita deste bairro, ilustrado na figura a seguir:</p>



<figure class="wp-block-image"><img decoding="async" src="https://miro.medium.com/max/2352/0*ve6yVRI0wcZJsVgn" alt="Image for post"/><figcaption>Exemplo de regressão linear. Fonte: (ESCOVEDO &amp; KOSHIYAMA, 2020)</figcaption></figure>



<p>Neste caso, os coeficientes da reta de regressão linear são -24,49 e 0,15, e este modelo significa que, a cada aumento de R$100 na renda per capita do bairro, espera-se que isso reflita em 0,15 ∗ 100 = 15 mil de faturamento para a filial. Esta solução é dita ótima porque ela representa a reta que passa mais perto dos pontos (considerando a distância euclidiana), como ilustra a figura a seguir:</p>



<figure class="wp-block-image"><img decoding="async" src="https://miro.medium.com/max/2730/0*h4FNv1n-qPvFhYEd" alt="Image for post"/><figcaption>Exemplo de cálculo de erro para um exemplo na regressão linear. Fonte: (ESCOVEDO &amp; KOSHIYAMA, 2020)</figcaption></figure>



<p>Assim, para cada escolha dos parâmetros&nbsp;<em>β0</em>&nbsp;e&nbsp;<em>β1</em>&nbsp;na equação (que especificam, respectivamente, o intercepto do eixo&nbsp;<em>y</em>&nbsp;e a inclinação da reta):</p>



<figure class="wp-block-image"><img decoding="async" src="https://miro.medium.com/max/2356/0*1aLC5A05zSESpCdQ" alt="Image for post"/></figure>



<p>podemos calcular os erros (ou desvios) dessa escolha. Porém, observe que se somarmos todos os erros individuais para calcular o erro total do modelo eles irão se anular, uma vez que os erros individuais são positivos e negativos. Desta forma, é mais indicado trabalhar com a magnitude do erro, como, por exemplo, o erro ao quadrado.</p>



<p>É importante ressaltar que neste exemplo consideramos apenas a relação entre faturamento e renda per capita, mas, em problemas reais, dificilmente haverá uma única variável&nbsp;<em>x</em>&nbsp;capaz de prever a saída&nbsp;<em>y</em>. Assim, se quiséssemos adicionar uma ou mais variáveis&nbsp;<em>x</em>&nbsp;ao problema, teríamos uma&nbsp;<strong>Regressão Linear Múltipla</strong>, acrescentando mais coeficientes à equação, um para cada variável de&nbsp;<strong>X</strong>, e estendendo a equação da reta para a equação de um plano ( quando temos 3 dimensões) ou hiperplano (quanto temos mais de 3 dimensões).</p>



<p>Formalmente, a Regressão Linear modela a relação entre a variável de resposta&nbsp;<em>y</em>&nbsp;e as variáveis preditoras&nbsp;<em>X</em>, e corresponde ao problema de estimar uma função a partir de pares entrada-saída, considerando que&nbsp;<em>y</em>&nbsp;pode ser explicado por uma combinação linear de&nbsp;<em>X</em>. Assim, a solução de um problema de regressão consiste em encontrar valores para os coeficientes de regressão de forma que a reta (ou plano/hiperplano) se ajuste aos valores assumidos pelas variáveis no conjunto de dados.</p>



<p>A saída do modelo é um valor numérico contínuo que deve ser o mais próximo possível do valor desejado, e a diferença entre esses valores fornece uma medida de erro do algoritmo. Se a equação de regressão aproxima suficientemente bem os dados de treinamento, então ela pode ser usada com novos dados (nos quais não conhecemos o valor de&nbsp;<em>y</em>) para estimar&nbsp;<em>y</em>&nbsp;a partir do valor das variáveis<em>&nbsp;X,</em>&nbsp;assumindo uma relação linear entre estas variáveis. Em suma, a Regressão Linear procura pelos coeficientes da reta que minimizam a distância dos objetos à reta.</p>



<h2 class="wp-block-heading" id="4b4a">Regressão Logística</h2>



<p>A&nbsp;<strong>Regressão Logística</strong>, apesar do nome, é um algoritmo utilizado exclusivamente para problemas de Classificação, mas seu funcionamento lembra muito o funcionamento do algoritmo de Regressão Linear. A Regressão Logística é usada para estimar valores discretos de classes binárias (valores como 0/1, sim/não, verdadeiro/falso) com base em um conjunto de variáveis independentes. Internamente, a Regressão Logística calcula a probabilidade de ocorrência de um evento, ajustando os dados a uma função&nbsp;<em>logit</em>, uma função que mapeia a saída em valores entre 0 e 1.</p>



<p>De forma similar à Regressão Linear, a Regressão Logística usa uma equação como representação: os valores de entrada&nbsp;<em>X</em>&nbsp;são combinados linearmente usando coeficientes para prever um valor de saída&nbsp;<em>y</em>. A diferença é que o valor de saída é modelado em valor de classe binário em vez de um valor numérico.</p>



<p>A Regressão Logística modela a probabilidade da classe padrão do problema. Por exemplo, se estivermos modelando o perfil de um cliente (bom ou mau pagador) dado seu salário, podemos escolher considerar a classe “bom pagador” como padrão, e iremos modelar a probabilidade de uma entrada&nbsp;<em>X</em>&nbsp;pertencer à classe padrão. Os melhores coeficientes resultarão em um modelo que vai prever um valor muito próximo de 1 para a classe padrão e um valor muito próximo de 0 para a outra classe. Após determinados os coeficientes e construir a equação resultante, basta utilizá-la para fazer predições para novos exemplos.</p>



<h2 class="wp-block-heading" id="c29f">Naïve Bayes</h2>



<p>O&nbsp;<strong>Naïve Bayes</strong>&nbsp;(Bayes Ingênuo), é um dos métodos mais utilizados para Classificação por ser computacionalmente rápido e por necessitar de poucos dados de treinamento. Por este motivo, é um modelo especialmente adequado quando o problema tem um grande número de atributos (características). Basicamente, este modelo determina a probabilidade de um exemplo pertencer a uma determinada classe.</p>



<p>O Naïve Bayes é chamado de ingênuo (<em>naïve</em>) porque desconsidera completamente qualquer correlação existente entre os atributos do&nbsp;<em>dataset</em>. Por exemplo, em um problema de classificação de animais, se determinado animal é considerado um “Gato” se tiver bigodes, rabo e aproximadamente 30 cm de altura, o algoritmo não vai levar em consideração a correlação entre esses fatores e tratará cada um deles de forma independente.</p>



<p>Além disso, este modelo foi assim batizado por ser baseado no Teorema de Bayes, estando relacionado com o cálculo de probabilidades condicionais. O Teorema de Bayes determina a probabilidade de um evento com base em um conhecimento prévio (a priori) que pode estar relacionado a este evento.</p>



<p>Formalmente, seja&nbsp;<em>X(A1, A2, …, An, C)</em>&nbsp;um conjunto de dados. Considere que&nbsp;<em>c1, c2, …, cn</em>&nbsp;são as classes do problema (valores possíveis do atributo alvo&nbsp;<em>C</em>) e que&nbsp;<em>R</em>&nbsp;é um novo exemplo que deve ser classificado. Sejam ainda&nbsp;<em>a1, a2, …, ak</em>&nbsp;os valores que&nbsp;<em>R</em>&nbsp;assume para os atributos previsores&nbsp;<em>A1, A2, …, An</em>, respectivamente. Resumidamente, o algoritmo consiste em dois passos:</p>



<ol class="wp-block-list"><li>Calcular as probabilidades condicionais&nbsp;<em>P(C=ci|R), i = 1, 2, …, k</em></li><li>Indicar como saída do algoritmo a classe&nbsp;<em>c</em>&nbsp;tal que&nbsp;<em>P(C=c|R)</em>&nbsp;seja máxima, quando considerados todos os valores possíveis do atributo alvo&nbsp;<em>C</em>.</li></ol>



<p>A intuição por trás do algoritmo é dar mais peso para as classes mais frequentes, considerando que os atributos são estatisticamente independentes entre si. Apesar de isto não ocorrer em muitos casos práticos, o método mostra-se bastante efetivo mesmo nos casos em que os atributos não sejam estatisticamente independentes.</p>



<h2 class="wp-block-heading" id="6ffe">Support Vector Machines (SVM)</h2>



<p>O algoritmo&nbsp;<strong>Support Vector Machine</strong>&nbsp;(SVM, ou Máquina de Vetores de Suporte), é um dos algoritmos mais populares efetivos para problemas de classificação (apesar de também poder ser usado para problemas de regressão). Apesar de o treinamento do SVM geralmente ser lento, esses modelos exigem poucos ajustes e tendem a apresentar boa acurácia, conseguindo modelar fronteiras de decisão complexas e não lineares.</p>



<p>Resumidamente, o SVM realiza um mapeamento não linear (utilizando funções&nbsp;<em>kernel</em>) para transformar os dados de treino originais em uma dimensão maior, buscando nesta nova dimensão um hiperplano que separe os dados linearmente de forma ótima. Com um mapeamento apropriado para uma dimensão suficientemente alta, dados de duas classes poderão ser sempre separados por um hiperplano. O SVM encontra este hiperplano usando vetores de suporte (exemplos essenciais para o treinamento) e margens, definidas pelos vetores de suporte.</p>



<p>A figura a seguir ilustra um classificador linear (ilustrado pela reta sólida) e duas retas paralelas a este classificador, pontilhadas. Cada uma das retas pontilhadas é movida a partir da posição da reta sólida, e determina quando a reta paralela intercepta o primeiro ponto do conjunto de dados, que é denominado vetor de suporte. A margem é a distância construída entre estas duas retas paralelas pontilhadas.</p>



<figure class="wp-block-image is-resized"><img loading="lazy" decoding="async" src="https://miro.medium.com/max/2006/0*0iCgvNGZpKlsmlPB" alt="Image for post" width="579" height="463"/><figcaption>Exemplo de classificador linear, margem e vetores de suporte. Fonte: (ESCOVEDO &amp; KOSHIYAMA, 2020)</figcaption></figure>



<p>Como na maioria das vezes infinitas retas (ou hiperplanos) dividem corretamente o conjunto de treinamento em duas classes, o SVM deve, então, realizar um processo de escolha da reta separadora dentre o conjunto infinito de retas possíveis. Assim como existem infinitas retas que separam os pontos em duas classes, há diversos tamanhos de margem possíveis dependendo da reta escolhida como classificador. A figura a seguir ilustra dos possíveis classificadores para um mesmo problema, com dois tamanhos de margem diferentes.</p>



<figure class="wp-block-image"><img decoding="async" src="https://miro.medium.com/max/3080/0*F8liKZcBCzUwCJUY" alt="Image for post"/><figcaption>Diferentes tamanhos de margem possíveis para um mesmo problema. Fonte: (ESCOVEDO &amp; KOSHIYAMA, 2020)</figcaption></figure>



<p>O classificador associado ao valor máximo de margem é denominado&nbsp;<strong>classificador linear de margem máxima</strong>, e geralmente é o classificador do SVM que apresenta o melhor resultado e então, é ele que procuramos. Os vetores de suporte são os pontos mais difíceis de classificar e, por construção, todos os vetores de suporte possuem a mesma distância em relação a reta do classificador linear (a metade do comprimento da margem).</p>



<p>Assim, o SVM realiza um processo de otimização, por meio do qual são determinados os parâmetros (coeficientes) do classificador linear que produzam o valor máximo para o comprimento da margem. A reta correspondente a este classificador linear é dita ótima porque, se ela for deslocada em alguma das duas direções das retas perpendiculares a ela, a probabilidade é menor de haver um erro de classificação. Assim, a posição do classificador linear correspondente ao comprimento de margem máximo é a mais segura possível com relação a eventuais erros de classificação, e quanto maior a distância de x para o hiperplano, maior a confiança sobre a classe a que x pertence. Uma vez obtidos os valores dos coeficientes e encontrado o classificador linear de margem máxima, aplica-se uma função de decisão para classificar um novo exemplo, cuja classe, é dada pelo sinal do resultado desta função.</p>



<p>Na prática, o SVM é implementado usando funções&nbsp;<em>kernel</em>, objetos matemáticos que permitem que trabalhemos um espaço de dimensão maior. Os tipos de kernel mais utilizados são linear, polinomial e radial. Para um conjunto de dados que não é linearmente separável, o SVM utiliza funções&nbsp;<em>kernel</em>&nbsp;para mapear o conjunto de dados para um espaço de dimensão maior que a original, e o classificador é ajustado neste novo espaço. Assim, o SVM é, na verdade, a combinação do classificador linear com um kernel não linear. O processo de mapeamento de um espaço em outro de dimensão maior é ilustrado pela figura a seguir:</p>



<figure class="wp-block-image"><img decoding="async" src="https://miro.medium.com/max/2426/0*LVCfjyN9SvXl8-GA" alt="Image for post"/><figcaption>Exemplo de mapeamento de um conjunto não linearmente separável em um linearmente separável. Fonte: (ESCOVEDO &amp; KOSHIYAMA, 2020)</figcaption></figure>



<p>Este artigo apresentou de forma resumida os principais conceitos e algoritmos de aprendizado supervisionado relacionados a Machine Learning. Caso você tenha interesse em se aprofundar no assunto, recomendamos a leitura dos seguintes livros:</p>



<ul class="wp-block-list"><li>Tatiana Escovedo &amp; Adriano S. Koshiyama. “Introdução a Data Science — Algoritmos de Machine Learning e métodos de análise”. Ed. Casa do Código, São Paulo, 2020. (Para comprar:&nbsp;<a href="https://www.casadocodigo.com.br/products/livro-data-science" target="_blank" rel="noreferrer noopener">https://www.casadocodigo.com.br/products/livro-data-science</a>)</li><li>Ronaldo Goldschmidt, Emmanuel Passos e Eduardo Bezerra. “Data Mining: Conceitos, Técnicas, Algoritmos, Orientações e Aplicações”. Rio de Janeiro, Elsevier, 2005.</li><li>Tom Fawcett e Foster Provost. “Data Science para Negócios: O que você precisa saber sobre mineração de dados e pensamento analítico de dados”. Alta Books Editora, 2018.</li><li>Jason Brownlee. “Machine Learning Mastery with Python”. Machine Learning Mastery Pty Ltd, 2016. (Para comprar:&nbsp;<a href="https://machinelearningmastery.com/machine-learning-with-python/" target="_blank" rel="noreferrer noopener">https://machinelearningmastery.com/machine-learning-with-python/</a>)</li><li>Laura Igual e Santi Seguí. “Introduction to Data Science: A Python Approach to Concepts, Techniques and Applications”. Springer, Cham, 2017.</li></ul>



<p>A Parte II deste artigo, que trata de aprendizado não-supervisionado, está disponível em&nbsp;<a target="_blank" rel="noreferrer noopener" href="https://medium.com/@tatianae_79457/machine-learning-conceitos-e-modelos-parte-ii-aprendizado-n%C3%A3o-supervisionado-fb6d83e4a520">https://medium.com/@tatianae_79457/machine-learning-conceitos-e-modelos-parte-ii-aprendizado-n%C3%A3o-supervisionado-fb6d83e4a520</a>.</p>



<h1 class="wp-block-heading" id="4428">Referências:</h1>



<p>(ESCOVEDO &amp; KOSHIYAMA, 2020) Tatiana Escovedo &amp; Adriano S. Koshiyama. “Introdução a Data Science — Algoritmos de Machine Learning e métodos de análise”. São Paulo, Ed. Casa do Código, 2020.</p>



<p><em>*Este texto faz parte do livro colaborativo Jornada Python — Uma Jornada imersiva na aplicabilidade de uma das mais poderosas linguagens de programação do mundo, previsto para lançamento ainda em 2020 pela editora Brasport.</em></p>



<p>Github da Professora Tatiana Escovedo:</p>



<p>https://tatianaesc.github.io/portfolio/</p>



<p>#estatística #datascience #modelos #supervisionados&nbsp;<a href="https://medium.com/m/signin?operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2F%40tatianaesc%2Fmachine-learning-conceitos-e-modelos-f0373bf4f445&amp;source=post_sidebar-----f0373bf4f445---------------------clap_sidebar-"></a></p>



<h4 class="wp-block-heading"></h4>
<p>O post <a href="http://estatidados.com.br/machine-learning-conceitos-e-modelos-parte-i-aprendizado-supervisionado/">Machine Learning: Conceitos e Modelos — Parte I: Aprendizado Supervisionado*</a> apareceu primeiro em <a href="http://estatidados.com.br">Estatidados</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://estatidados.com.br/machine-learning-conceitos-e-modelos-parte-i-aprendizado-supervisionado/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
