Prévia do material em texto
Inserir Título Aqui Inserir Título Aqui Modelagem de Dados para BI e Big Data Análise e Modelos Preditivos Responsável pelo Conteúdo: Profa. Ms. Lucia Contente Mós Revisão Textual: Profa. Ms. Luciene Oliveira da Costa Santos Nesta unidade, trabalharemos os seguintes tópicos: • Introdução ao Tema • Leitura Obrigatória • Material Complementar Fonte: iStock/Getty Im ages Objetivos • Conhecer a definição e a importância de Big Data; • Conhecer e Identificar os tipos de análises descritiva e preditiva; • Entender o que é um modelo preditivo; • Conhecer e identificar os tipos de modelos preditivos. Caro Aluno(a)! Normalmente, com a correria do dia a dia, não nos organizamos e deixamos para o último momento o acesso ao estudo, o que implicará o não aprofundamento no material trabalhado ou, ainda, a perda dos prazos para o lançamento das atividades solicitadas. Assim, organize seus estudos de maneira que entrem na sua rotina. Por exemplo, você poderá escolher um dia ao longo da semana ou um determinado horário todos ou alguns dias e determinar como o seu “momento do estudo”. No material de cada Unidade, há videoaulas e leituras indicadas, assim como sugestões de materiais complementares, elementos didáticos que ampliarão sua interpretação e auxiliarão o pleno entendimento dos temas abordados. Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discussão, pois estes ajudarão a verificar o quanto você absorveu do conteúdo, além de propiciar o contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e aprendizagem. Bons Estudos! Análise e Modelos Preditivos UNIDADE Análise e Modelos Preditivos Introdução ao Tema Na ânsia por diferenciais competitivos, muitas organizações têm procurado novas oportunidades capazes de gerar vantagens para o negócio. Nesse cenário, muitas orga- nizações têm investido em modelos preditivos para reaver seu crescimento. A meta da solução é desativar a tomada de decisões que ocorre por um julgamento pessoal, que não agrega muito em um cenário que muda constantemente como o atual, e ter como base os dados obtidos a partir de análises preditivas. Um modelo preditivo constitui-se em uma função matemática que, quando aplicada a uma massa de dados, tem a capacidade de identificar padrões e dar uma previsão do que pode ocorrer. Os modelos preditivos, geralmente, servem para identificar padrões e apresentar o que pode ocorrer em conformidade com os dados analisados. No entanto, em consequência aos diferentes tipos de análises preditivas que existem, a meta específica de uma análise de dados pode variar em conformidade com as intenções da organização. Quando identificar padrões em dados estruturados e não estruturados, o modelo pre- ditivo serve para fundamentar tomadas de decisões, que se tornam mais assertivas por se- rem executadas em conformidade com um cenário possível para o futuro da organização. Existem dois tipos de modelos preditivos, os supervisionados e não supervisionados. No modelo preditivo supervisionado, são inseridos dados de entrada e de saída e o modelo busca ligações entre os dados após uma etapa de treinamento, que possibilita identificar o nível de acerto da função matemática admitida. Caso a taxa de acerto seja elevada, o modelo é validado e, assim, passa a operar para identificar padrões e ligações nos dados que foram disponibilizados. Uma utilização recor- rente desse modelo aplica-se na identificação do tipo de cliente com mais tendência ao cancelamento do serviço ou da assinatura do serviço com base em experiências passadas. Assim, a organização identifica quais clientes têm propensão a cancelar e pode elaborar estratégias de retenção para esse público, diminuindo a taxa de rotatividade, ou seja, a churn rate. No modelo não supervisionado, são carregados somente dados de entrada e o modelo tem como função identificar os padrões existentes nos dados analisados, prevendo possíveis tendências e ocorrências que possam acontecer de novo. Para que as análises preditivas sejam eficientes, é necessário ter um volume grande de dados válidos, completos, sem erros e usar um modelo preditivo adequado para os tipos de dados disponíveis e metas da organização. Uma vez que já é sabido como o modelo preditivo funciona, é necessário identificar se ele é vantajoso para a companhia na atualidade. São muitos os benefícios apresentados pela solução. Alguns exemplos são: 6 7 · Decisões estratégicas: em vez de decisões baseadas em julgamentos pessoais e em intuições, a adição de modelos preditivos permite que a organização co- nheça as tendências internas e externas ao negócio e que chegue a fechamentos mais estratégicos; · Identificar os melhores clientes: assim como possibilita identificar clientes com chances de cancelar o serviço, a solução permite mapear quais são os melhores clientes do negócio, levando em consideração as vezes que comprou, o montante consumido, a frequência de contato etc. Assim, a organização pode dar melhores condições e programas específicos para esses clientes, avolumando as chances de fidelização; · Redução de custos: os modelos preditivos podem ser direcionados para a área logística do negócio, objetivando à diminuição de custos operacionais da organização. Cada processo maximizado diminui o gasto financeiro, podendo ser revertido em investimento necessário; · Tornar maior o retorno sobre investimento: Identificando comportamentos de clientes, tendências de mercado e processos operacionais da organização, existem muitas formas de tornar maior o retorno sobre o investimento do negócio. Em marketing digital, por exemplo, uma campanha pode ser iniciada em um momento mais adequado, a partir de análises do mercado externo, ampliando os resultados obtidos com essa ação; · Realizar a administração de riscos: com a análise preditiva, a organização consegue identificar os riscos existentes em uma nova ação ou em práticas que estão em desenvolvimento. Caso o modelo preditivo indique um cenário contrário para vendas em uma época específica do ano, por exemplo, a organização pode tomar decisões de contingência para esse período de estagnação. Os modelos preditivos são aqueles que usam de dados do passado para antecipar comportamentos de um cliente. Eles também identificam padrões, ainda que de forma sutil, na coleção de dados analisados. São utilizados principalmente para transações em tempo real, ajudando na identificação de um consumidor com menos intenção de pagar, de fraudes ou de desistências do serviço. Já os modelos descritivos ajudam a detectar as ligações, sejam elas sobre os clientes ou os produtos, e são aplicados, principalmente, para caracterizar clientes e detectar potenciais públicos para investigação. A caracterização de clientes é indicada para a elaboração das ações de marketing por dados. A divisão dos clientes possibilita otimizar a experiência do consumidor com a organização ao facilitar a realização de contatos mais assertivos e importantes. O modelo preditivo é aplicado ao comportamento dos clientes, já os modelos de decisão são utilizados para antecipar os resultados de decisões de negócio complexas. Essa análise é utilizada para descobrir todas as variáveis implicadas em um processo de decisão e, dessa maneira, detectar quais são os resultados possíveis. 7 UNIDADE Análise e Modelos Preditivos Com o modelo preditivo, a organização pode simular muitas situações de uma decisão e, ao levar em consideração fatores econômicos externos e internos, o modelo é capaz de apontar qual cenário é o mais vantajoso para as metas do negócio. Os modelos preditivos fornecem muitas oportunidades de controle de gastos, melhoram a ligação com o cliente, permitem o aumento do retorno do investimentoe auxiliam a tomada de decisões assertivas embasadas em dados concretos. As vantagens podem ser aproveitadas por organizações de diversos segmentos e tamanhos. Entretanto, é essencial ter conhecimento das possibilidades da solução, procurar mais informações e pesquisar por organizações consolidadas na área. 8 9 Orientações para Leitura Obrigatória ZHU,Wei-Dong; GUPTA, Manav; KUMAR, Ven; PEREPA,Sujatha; SATHI,Arvind; STATCHUK, Craig. Building Big Data and Analytics Solutions in the Cloud. An IBM Redpaper publication, 2014. Capítulo 1. Big data and analytics overview Capítulo 2. Big data and analytics business drivers and technical challenges Capítulo 3. Big data and analytics taxonomy Capítulo 4. Big data and analytics architecture Capítulo 5. Key big data and analytics use cases Capítulo 6. Big data and analytics patterns Capítulo 7. Picking a solution pattern Capítulo 8. NoSQL technology Capítulo 9. Big data and analytics implications for the data center Capítulo 10. Big data and analytics on the cloud: Architectual factors and principles Big Data Big Data é atualmente uma das tecnologias emergentes mais críticas. Organizações em todo o mundo estão buscando explorar o crescimento explosivo de dados para desbloquear insights previamente escondidos com a esperança de criar novos fluxos de receita, ganhar eficiências operacionais e obter maior compreensão das necessidades dos clientes. É importante pensar em big data e análises em conjunto. Big data é o termo usado para descrever a recente explosão de diferentes tipos de dados de fontes diferentes. O Analytics trata de examinar dados para obter tendências e padrões interessantes e relevantes, que podem ser usados para informar decisões, otimizar processos e até mesmo gerar novos modelos de negócios. Com o dilúvio de dados de hoje, ocorrem os problemas de processamento desses dados, obtendo as habilidades corretas para gerenciar e analisar esses dados e estabelecer regras para governar o uso e a distribuição dos dados. A grande pilha de tecnologia de dados está crescendo e às vezes confusa, ainda mais quando adicionamos as complexidades da configuração de grandes ambientes de dados com grandes investimentos de frente. A computação em nuvem parece ser um veículo perfeito para hospedar grandes cargas de dados. No entanto, trabalhar em grandes dados na nuvem traz seu próprio desafio de conciliar dois princípios de design contraditórios. 9 UNIDADE Análise e Modelos Preditivos A computação em nuvem é baseada nos conceitos de consolidação e agrupamento de recursos, mas os grandes sistemas de dados (como o Hadoop) são baseados no princípio do nada compartilhado, onde cada nó é independente e autossuficiente. Uma arquitetura de solução que pode permitir que esses princípios mutuamente exclusivos coexistam é necessária para explorar verdadeiramente a elasticidade e a facilidade de uso da computação em nuvem para grandes ambientes de dados. Definição de Big Data É um conceito desenvolvido para unir e interpretar informações, prevendo tendências e ajudando na tomada de decisões estratégicas. Por exemplo: se analisarmos determinadas publicações, ou buscas de um determinado tema, mudanças climáticas e alguns tipos de compras, podemos determinar ondas de doenças. É estatística em favor da prevenção, da produtividade, dos negócios. Dados soltos são informações inúteis. É preciso saber como e para que serão usados. É transformar o irrelevante em relevante. A definição é simples: trata-se de grandes volumes de dados armazenados, velocidade e variedade. Se acompanharmos a evolução das informações, veremos o quanto é surpreendente o número e o tipo delas. Atualmente, temos muito mais informações hoje e as acessamos rapidamente em um simples toque no telefone. De forma analítica, esses dados são classificados em: · Não estruturados: e-mails, fotos, vídeos, mensagens de texto, músicas, geolo- calização (GPS), produtos e lojas e-commerce, cada uma com uma linguagem. · Estruturados: informações básicas e geralmente criptografadas. Quando todas essas informações são unidas, estruturadas e codificadas, precisam ter unidade para serem interpretadas. Conhecimentos e Profissionais de Big Data É necessário ter conhecimentos técnicos em programação, Linux e Modelagem de Dados, conhecer sobre o negócio e/ou os processos da organização e ter noções mínimas de estatísticas e matemática aplicada a dados. O Administrador de Ambientes de Big Data é responsável por manter os ambientes e ferramentas funcionando. Trata-se de um profissional mais técnico que necessita de conhecimento em sistemas operacionais, principalmente em Linux, arquitetura de hardware e redes, a fim de garantir melhor performance das ferramentas. O Desenvolvedor é responsável por desenvolver os processos de captura, trans- formação e carga de dados. O perfil do profissional tende a exigir conhecimentos de programação e das ferramentas utilizadas aos processos. Além disso, desenvolve novas rotinas e processos relacionados às necessidades de negócio. 10 11 O Cientista ou Analista de Dados é responsável por atender as demandas das áreas de negócio ou planejamento da organização. Está mais ligado às áreas de negócios, devendo ter o conhecimento das ferramentas de consulta e acesso aos dados, como noções de estatística. Big Data e os 5 V´s · Volume: empresas coletam dados de uma enorme variedade de fontes, incluindo transações comerciais, redes sociais e informações de sensores ou dados transmitidos de host a host. No passado, guardar essa quantidade de informações teria sido muito difícil, mas o surgimento de novas tecnologias (como o Hadoop) tem facilitado esse tipo de trabalho. · Velocidade: os dados andam numa velocidade muito rápida e precisam ser tratados no tempo adequado. Como, por exemplo, tags de RFID, sensores, celulares e contadores inteligentes estão empurrando a necessidade de trabalhar com enormes quantidades de dados em tempo real, ou aproximadamente real. · Variedade: os dados são obtidos em todos os tipos de formatações, de dados estruturados, dados numéricos em bancos de dados tradicionais, até documentos de texto não estruturados, e-mail, vídeo, áudio, dados de cotações da bolsa e transações financeiras. · Variabilidade: os de dados podem ter uma inconsistência muito alta em períodos específicos. Desse fato, algumas questões podem surgir, como: existe algo em tendência nas redes sociais? Todos os dias, picos de dados sazonais ou picos gerados com base em indícios podem ser um desafio de administração, principalmente quando os dados são do tipo não estruturados. · Complexidade: os dados da atualidade são originados em várias fontes, o que torna mais difícil estabelecer uma ligação, correspondência, limpar e transformar dados entre diversos sistemas. Entretanto, para que os dados não saiam do controle, é preciso relacionar e ligar as relações, hierarquias e as várias relações de dados. Importância do Big Data A relevância do big data não está no que se refere à quantidade de dados que se tenha, mas está diretamente ligado ao que se faz com os dados. É possível analisar dados de qualquer origem para encontrar respostas que possibilitem: · eliminação de custos; · eliminação de tempo; · criação de novos produtos e ofertas melhoradas; · decisões mais acertadas e inteligentes. Quando junta-se big data com a alta capacidade do analytics, é possível realizar atividades ligadas aos negócios, tais como: · Identificar a principal causa de falhas, problemas e defeitos em tempo quase real; 11 UNIDADE Análise e Modelos Preditivos · Elaborar cupons no ponto de venda tendo como base em costumes de compra dos clientes; · Refazer os cálculos de carteiras de risco inteiras, em poucotempo, na casa de minutos; · Identificar comportamentos que acusem fraude, antes que afetem a organização. Definição de Análise Preditiva A análise preditiva é a utilização de dados, algoritmos estatísticos e técnicas de aprendizagem automática – machine learning – para detectar a probabilidade de resultados futuros embasados em dados históricos. A meta é ir além da estatística descritiva e dos relatórios sobre o que ocorreu para oferecer uma avaliação melhor sobre o que vai acontecer no futuro. O resultado final é a simplificação da tomada de decisão e a criação de novas visões que levem a ações mais acertadas. Os modelos preditivos usam os resultados conhecidos para criar ou praticar um modelo que possa ser utilizado para fazer previsões de valores para dados diferentes ou novos. Os resultados da modelagem em previsões que apresentam a probabilidade da variável central, como, por exemplo, a receita, embasada na relevância estimada a partir de uma coleção de variáveis de entrada. Os modelos preditivos são muito diferentes dos modelos descritivos, que auxiliam no entendimento do que ocorreu, ou dos modelos de diagnóstico, que auxiliam a compreender as principais ligações e a detectar o motivo da ocorrência de algum evento. Crescentemente, as organizações se voltam para a análise preditiva, objetivando ampliar seu lucro e sua competitividade no mercado. Nos últimos tempos, esses eventos ocorrem porque há: · Os volumes crescentes e categorias de dados e mais interesse no uso de dados para gerar informações de grande valor; · Máquinas de processamento mais rápido, menos custosas e softwares mais com maior facilidade de manuseio; · Condições econômicas piorando constantemente e uma precisão de ampliar os diferenciais competitivos. Com o software fácil de interagir e interface gráfica amigável sendo cada vez mais comum, a análise preditiva não está somente em poder de matemáticos e estatísticos. Os analistas e especialistas na linha de negócios também utilizam com propriedades essas tecnologias crescentes. Benefícios da Análise Preditiva A análise preditiva é usada, geralmente, para executar cinco atividades: 1. Detectar tendências; 2. Compreender os clientes; 12 13 3. Otimizar a performance dos negócios; 4. Propiciar a tomada de decisão estratégica; 5. Antecipar o comportamento. Indicações das aplicações mais usadas das análises preditivas englobam: · Operações: o analytics exerce uma função relevante nas operações para diversas empresas, possibilitando que elas operem sem qualquer tipo de problema e de forma eficaz. Muitas organizações usam modelos preditivos para antecipar o estoque e administrar os recursos das companhias. Outras organizações os utilizam para utilidades mais especializadas. Empresas aéreas utilizam a análise preditiva para dirimir quantos bilhetes precisam ser vendidos por cada valor para um voo. Empresas hoteleiras tentam antecipar o número de hóspedes esperado em qualquer diária para arrumar os preços para otimizar a ocupação e ampliar a receita. A análise preditiva de dados é utilizada também em recursos humanos, manutenção de ativos, nas organizações governamentais e em ciências da vida e saúde. · Risco: este é um dos exemplos mais difundidos da análise preditiva, que é a pontuação de crédito. As pontuações de crédito são constantemente utilizadas para analisar a probabilidade de inadimplência de um comprador para compras de vários itens como casas, carros e seguros. A pontuação de crédito é um número criado por um modelo preditivo que engloba todos os dados importantes para a capacidade de crédito de uma pessoa. A análise preditiva de dados tem outras utilizações ligadas aos riscos, compreendendo reclamações e cobranças. · Identificação de fraude e segurança: a análise preditiva pode auxiliar a ter- minar com as perdas que ocorrem por ações fraudulentas antes que elas efetiva- mente aconteçam. Quando juntamos diversos métodos de identificação, regras organizacionais, identificação de anomalias, análises preditivas, link analytics etc. É factível encontrar maior precisão e melhor performance preditivo. Na atualidade, a cibersegurança deve ser um cuidado constante. A análise compor- tamental de grande performance verifica todas as atividades em uma rede em tempo real para identificar anormalidades que podem apontar fraude ocupacio- nal, vulnerabilidades, ameaças constantes e persistentes de maneira avançada. · Marketing: o uso da análise preditiva auxilia a compreender melhor os clientes. Grande parte das empresas atuais utiliza a análise de dados para definir as respostas ou compras dos clientes, sendo assim igualmente para gerar chances de vendas cruzadas. Os modelos preditivos auxiliam as empresas a atrair, reter e criar os clientes mais lucrativos e aproveitar ao máximo seus custos com marketing. Tipos de Análises O conhecimento alcançado a partir das análises pode ser classificado como análise descritiva e análise preditiva. 13 UNIDADE Análise e Modelos Preditivos Análise Descritiva Possibilita conhecer o que ocorreu no passado, a análise preditiva se concentra no que acontecerá no futuro. A necessidade de entender os eventos do passado embasou a criação de uma disciplina que hoje chama-se BI – Business Intelligence – inteligência de negócios. Ela possibilita tomar decisões embasadas em estatísticas alcançadas a partir de dados históricos. Por meio desse tipo de análise, é possível responder questões importantes, como: 1. Quantos clientes têm reclamado ou desistiram em consequência de atrito nas últimas sete semanas? 2. Quanto lucro foi perdido em consequência de fraude nos últimos quatro meses? 3. Qual a frequência com que os chamados de suporte são criados? 4. Qual é a localização dos clientes, podendo ser apresentada com a utilização do Google Maps? A análise descritiva caminha um grande percurso para viabilizar decisões de negócio que têm como base fatos e não intuições ou julgamentos pessoais. Entretanto, somente a análise descritiva não atende a todas as necessidades atuais das empresas. Análise Preditiva Na atualidade, é insubstituível que as decisões tenham alta precisão e sejam repetidas ao extremo. Para tal, as organizações começam a utilizar análise preditiva para visualizar o futuro e, com isso, tomar decisões de negócio e processos. A importância desse tipo de análise tem aumentado de forma constante, pois é combinada com a quantidade de dados crescentes que são captados pelas pessoas, como por transações online, redes sociais, sensores, através de dispositivos móveis GPS, assim como a disponibilidade do alto processamento com custo diminuído, tendo a infraestrutura com base em Hadoop ou na Nuvem. O Hadoop é uma execução de codificação livre do padrão de programação Map- Reduce. O Map-Reduce é um padrão de programação incluído pelo Google para operar e avaliar grandes coleções de dados. Todas essas aplicações que são criadas nesse padrão executam o processamento em paralelo de coleções de dados e possibilitam que sua execução ocorra em servidores, com poucos custos. O motivo para a escalabilidade desse padrão é a origem internamente distribuída da execução da solução. Uma grande atividade é distribuída em várias atividades menores que são realizadas em processamento paralelo em computadores diferentes e, dessa forma, unidas para alcançar a solução da atividade maior que começou todo o trabalho. Os exemplos da utilização do Hadoop são avaliar padrões de comportamento dos usuários em sites de comércio eletrônico e propor novos produtos que eles possam comprar. Isso é tradicionalmente chamado de sistema de recomendações e pode ser encontrado em todos os principais sites de e-commerce. O Haddop também pode ser usado para processar grandes grafos como o Facebook. O motivo peloqual o Hadoop tornou o pro- 14 15 cessamento em paralelo mais simples ocorre pelo fato de o programador não precisar ter a preocupação com problemas referentes ao processamento em paralelo. O programa- dor só precisa codificar algumas funções de como deseja que os dados sejam analisados. São desenvolvidos sistemas com base em decisões para aplicar automaticamente o conhecimento elucidado de especialistas humanos. A análise é capaz de produzir estatísticas confiáveis, previsões e contagens. É até um sistema baseado em regras, no entanto, para decidir sobre o que fazer com todo o conhe- cimento que é voltado para dados. Por exemplo, pode-se usar uma série de regras para acionar decisões de negócios, dependendo do resultado obtido por um modelo preditivo. Por exemplo, se um modelo existe para antecipar o risco de perda de clientes ou deserção, podemos colocar regras conhecidas para reduzir a rotatividade no local, a fim de definir as decisões de negócios específicas em conformidade com diferentes níveis de risco. Portanto, se o risco for alto, podemos dar a um cliente um desconto de 20% em sua próxima compra, mas se o risco for muito alto, podemos, então, dar um desconto de 50%. Modelo Preditivo A análise preditiva é o uso de dados e algoritmos para identificar a probabilidade de resultados futuros com base em dados históricos. Os modelos preditivos utilizam os resultados conhecidos para desenvolver e treinar um modelo que possa ser usado para antecipar valores para dados diferentes ou novos, usando para isso um algoritmo preditivo de Data Mining. Um algoritmo preditivo é uma função que, dado um conjunto de exemplos rotulados, constrói um estimador. Se o domínio dos rótulos for um conjunto de valores nominais, estamos perante um problema de classificação, e o estimador criado é um categorizador. Se o domínio for um conjunto infinito e ordenado de valores, estamos perante um problema de regressão e é criado um regressor. Um estimador (categorizador ou regressor) é uma função que atribui a uma das classes, ou um valor real, a um exemplo não rotulado. Classificação: yi f xi c cm= ( )∈{ }1,..., em que f xi( ) assume valores num conjunto discreto não ordenado. Regressão: yi f xi= ∈ℜ( ) em que f xi( ) assume valores num conjunto infinito e ordenado. A meta é encontrar uma fronteira de decisão que separe os exemplos de uma classe dos exemplos da outra classe. Diferentes algoritmos de Data Mining podem encontrar diferentes fronteiras de decisão. 15 UNIDADE Análise e Modelos Preditivos Méto dos baseados em Procura A aprendizagem automática passa também pela procura num conjunto de possíveis opções. A esta procura está associada também um viés, o viés de procura. Este viés representa o atrito e erro associado à procura de hipóteses num espaço de soluções. Ár vo res de decisão e Regressão Um modelo de árvore de decisão é utilizado para resolver problemas com base na classificação. Uma árvore de decisão utiliza a estratégia de “dividir para conquistar”, isto é, um problema de procura deverá ser simplificado dividindo o problema “maior” em menores problemas. A esses problemas menores, a mesma estratégia é utilizada e têm o nome de subproblemas. As soluções aos subproblemas obtidas são, então, compactadas de forma a gerar uma solução para o problema original ou “maior”. Um modelo de árvore de regressão é utilizado para resolver problemas com base na regressão. Este modelo utiliza a mesma estratégia de dividir que a árvore de decisão apresenta, mas neste caso para valores contínuos. No caso desses valores contínuos, existem duas formar de se tratar da divisão: discre- tização para formar um atributo ordinal categórico (estático, em que se discretiza uma vez no início, ou dinâmico em que os intervalos podem ser determinados por tamanho, frequência, ou clustering), ou decisão binária (considera todas as divisões possíveis e considera a melhor). Alguns dos algoritmos baseados em árvores de decisão e regressão são: ID3 (Quinlan, 1979), ASSISTANT (Cestnik et al., 1987), CART (Breiman et al., 1984), C4.5 (Quinlan, 1993). O algoritmo mais utilizado para a classificação é o CART, seguido do seu competidor C4.5. Uma árvore de decisão, ou uma árvore de regressão, é um grafo acíclico direcionado constituído por nós de divisão com dois ou mais sucessores, ou nós-folha. Um nó de divisão é um teste condicional baseado nos valores do atributo. Um teste condicional é por exemplo: · Temperatura > 30 ºC; · Sexo ∈ {Masculino, feminino}; · 2 1 1 0 2 2 5. .∗ − ∗ ≥x x Um nó-folha é uma função. Em problemas de classificação, a constante que minimiza a função de custo é 0-1 e é a moda. Em problemas de regressão, a constante é a média. Ganho de Informação O ganho de informação está subjacente ao conceito de entropia. A entropia é uma medição da aleatoriedade de uma variável aleatória, cuja função é: 16 17 H A p p p p( ) = − ∗ ( ) − −( )∗ −( )log log2 21 1 Neste caso, p seria a probabilidade de observar A=0 e p-1 a probabilidade de observar A=1. No caso das árvores de deci- são, a entropia representa a aleatoriedade do atributo alvo, ou seja, a dificuldade para predizer determinado atributo. O índice Gini é uma regra de ganho de informação usado no CART. Este índice de Gini pode ser considerado uma medida de impureza ou como método de divisão na árvore. Na divisão de atributos categóricos, o índice de Gini pode realizar um multi-way split ou um binary split. Este índice é representado pela seguinte fórmula: GINI t p j t j ( ) = − ( ) ∑1 2 | Estratégias de Poda A poda é um passo essencial na construção de uma árvore de decisão ou regressão, pois é esta que irá reduzir ao máximo o ruído da informação. O ruído da informação pode provocar que a árvore classifique objetos de um modo não confiável e o tamanho das árvores tende a ser muito extenso quando o ruído existe. A poda é importante então para diminuir o erro em consequência à variância do categorizador. A poda pode ser classificada então em pré-poda, em que se para a construção da árvore quando algum dos critérios pré-estabelecidos é satisfeito; e pós-poda, em que tal como o nome me indica, a construção é concluída e só após é feita a poda. Vantagens 1. Flexibilidade: Sendo um método não paramétrico, não existe uma distribuição dos dados, estes são dispostos em espaços e cada espaço é aproximado com recurso a muitos modelos. 2. Robustez: A estrutura das árvores não varia em, por exemplo, árvores univariadas. Não sofrem transformações. 3. Seleção de atributos: Durante o processo de construção, os atributos tendem a ser robustos e atributos mais irrelevantes e redundantes são fragilizados. 4. Interpretabilidade: Interpretando decisões mais simples e locais, podem-se realizar decisões mais complexas e globais. 5. Eficiência: Como o algoritmo de uma árvore de decisão é top-down usando uma estratégia de dividir, esta torna-se bastante eficiente. Desvantagens 1. Replicação: Refere-se à duplicação de testes em diferentes ramos da árvore. 2. Valores ausentes: Se um valor de atributo é desconhecido, não poderá ser continuado o ramo. 3. Atributos contínuos: Para a ordenação de cada atributo contínuo, estima-se que consuma 70% do tempo necessário para induzir uma árvore de decisão. 4. Instabilidade: Breiman (1996) e Kohavi e Kunz (1997) apontaram que 17 UNIDADE Análise e Modelos Preditivos variações no conjunto de treino podem produzir grande variações na árvore final. Mudando um nó, todas as sub-árvores abaixo desse nó mudam. Figura 1 – Representação de uma árvore de decisão efetuada no Rapidminer com dados dos sobreviventes do “Titanic” Regras de Decisão Uma regra de decisão tem a forma de Se X Então Y (if X then Y), em que X pode ser uma ou váriascondições. Cada condição relaciona um atributo com valores do seu domínio, múltiplas condições podem-se juntar com um dos operadores: e ou ou. A relação pode ser uma do conjunto = < > ≤ ≥ ∈{ }, , , , , . Um exemplo de uma regra de decisão, com base na figura 1, é if Sex = Male then. Árvores de Decisão podem ser representadas como conjuntos de regras de decisão, que são escritas considerando o caminho do nó-raiz até uma folha da árvore, com o intuito de facilitar a leitura e a compreensão. É, portanto, possível derivar regras de uma Árvore de Decisão. Uma regra pode ser compreendida sem que haja a necessidade de referenciar-se a outras. 18 19 Algoritmo de OneR O algoritmo OneR (One Rule), proposto por Holte (1993) gera regras baseadas num único atributo. O OneR considera para cada atributo, uma regra por cada valor desse atributo, para cada atributo é calculada a taxa de erro (proporção de erros feitos sobre todo o conjunto de exemplos), e o atributo com menos taxa de erro é o escolhido. Nas tabelas seguintes, podemos ver um exemplo prático da aplicação do algorit- mo OneR. Perspectiva Temperatura Umidade Ventoso Ocorreu ensolarado quente alta falso não ensolarado quente alta verdadeiro não nublado quente alta falso sim nublado suave alta falso sim nublado frio normal falso sim nublado frio normal verdadeiro não nublado frio normal verdadeiro sim ensolarado suave alta falso não ensolarado frio normal falso sim nublado suave normal falso sim ensolarado suave normal verdadeiro sim nublado suave alta verdadeiro sim nublado quente normal falso sim nublado suave alta verdadeiro não Atributos Regras Erros Total de Erros Perspectiva ensolarado → não nublado → sim chuvoso → sim 2/5 0/4 2/5 4/14 temperatura Quente → não normal → sim frio → sim 2/4 2/6 1/4 5/14 Umidade alta → nãonormal → sim 3/7 1/7 4/14 Ventoso falso → simverdadeiro → não 2/8 3/5 5/14 Perspectiva · ensolarado → não · nublado → sim · chuvoso → sim Algoritmo de Cobertura O algoritmo de cobertura é um dos mais conhecidos na aprendizagem de regras através de exemplos. Esse algoritmo determina o processo de aprendizagem como um processo de busca. O algoritmo busca regras da maneira: Se (atributoA = valorX) e (atributoB = valorY) e … então ClasseZ. 19 UNIDADE Análise e Modelos Preditivos A seguir, é demonstrado o algoritmo de cobertura. · Entrada: Uma coleção de treino D = {(xi, yi), i = 1, ..., n } · Saída: Uma coleção de regras: Regras · Regras <-- {}; · Seja Y a coleção das classes em D; · para cada yi ∈ Y faça · repita · Regra = Aprende_Regra(D, yi); · Regras <-- Regras ∪ {Regra}; · D <-- Exclui exemplos cobertos pela Regra em D; · até que não haja exemplos de yi; · fim · Retorna: Regras; Duas estratégias básicas de procura de regras têm sido muito utilizadas, uma delas é embasada na estratégia top-down, que inicia na regra mais genérica e depois se torna mais específica, incluindo condições. Já a outra estratégia inicia pela regra mais específica e vai excluindo condições se tornando mais genérica, trata-se de uma estratégia bottom- up e direcionada através dos dados. A regra se torna mais específica quando é incluída uma condição reduzindo o número de exemplos abrigados pela regra, assim como se torna mais geral quando se exclui uma condição, provocando o aumento do número de exemplos abrigados pela regra. Algoritmo top-down · Entrada: Uma coleção de treino D = {(xi, yi), i = 1, ..., n } · y: classe da regra · Saída: Uma regra de classificação: Regra · Seja Avs a coleção de atributo_valores em D; · Regra <-- {}; · v <-- Avalia(Regra, D, y); · melhor <-- v; · continua <-- Verdadeiro; · enquanto continua faça · continua <-- Falso; · para cada avi ∈ Avs faça ° val <-- Avalia(Regra ∪ avi , D, y); ° se val < melhor então 20 21 ▪ melhor <-- val; ▪ Cond <-- avi; ▪ continua <-- Verdadeiro; ° fim ° fim · se continua então ° Regra <-- Regra \ Cond; · fim · fim · Retorna: Regra; Algoritmo bottom-up · Entrada: Uma coleção de treino D = {(xi, yi), i = 1, ..., n } · y: classe da regra · Saída: Uma regra de classificação: Regra · Escolhe, de forma aleatória, um exemplo da classe y em D; · Seja Regra a coleção de atributo_valor desse exemplo; · v << Avalia(Regra, D, y); · melhor <- v; · continua <-- Verdadeiro; · enquanto continua faça · continua <-- Falso; · para cada avi ∈ Regra faça · val <-- Avalia(Regra \ avi , D, y); · se val < melhor então · melhor <-- val; · Cond <-- avi; · continua <-- Verdadeiro; · fim · fim · se continua então · Regra <-- Regra \ Cond; · fim · fim · Retorna: Regra; 21 UNIDADE Análise e Modelos Preditivos A principal diferença entre os dois algoritmos apresentados acima é que a estratégia top-down cria regras classificadas pela ordem que são impelidas, enquanto a estratégia bottom-up cria uma coleção não ordenada. Tal diferença provoca que a aplicação da coleção de regras em exemplos não ordenados seja, no caso do top-down, cada exemplo é ordenado pela primeira regra satisfeita, no caso bottom-up, todas as regras satisfeitas são usadas para ordenar o exemplo, escolhendo pela regra com mais qualidade. A qualidade da regra pode ser avaliada, levando em consideração: · nCover: número de exemplos abrigados pela regra; · nCorreto: número de exemplos abrigados pela regra que foram considerados corretos indicados pela regra; · cobertura: determinada como nCover / n; · taxa de acerto: determinda como nCorreto / nCover. Métodos Probabilísticos É uma das formas de trabalhar com atividades preditivas na extração do conhecimento de dados. Torna-se útil quando as informações que estão disponíveis não estão completas ou não são precisas. Utilização de algoritmos que tem como base o Teorema de Bayes (Métodos Probabilísticos Bayesianos): a probabilidade de um evento A dado um evento B não depende apenas da ligação entre A e B, mas também da probabilidade de observar A independente de observar B. Probabilidade de ocorrer o evento A, dado que foi constatado o evento B: P(A|B), onde A apresenta a classe e B o valor constatado dos atributos para um exemplo de teste. Por exemplo: P(A) = probabilidade de acontecer uma determinada doença; P(B) = probabilidade de diagnóstico em um exame de raio X; sendo que a variável A não constatável e defronte da certeza do diagnóstico do exame de raio X, é possível concluir o valor mais provável de A estimando. Aprendizagem Bayesiana Doença Presente 8% Ausente 92% Quantitativa (a probabilidade em tese, de observar a doença): P(Doença = Presente) = 0,08, P(Doença = Ausente) = 0,92. 22 23 Doença Teste Presente Ausente Positivo 75% 4% Negativo 25% 96% Probabilidades condicionais (através de experiências passadas no uso do teste): P(Teste = Positivo |Doença = Presente) = 0,75, P(Teste = Negativo |Doença = Ausente) = 0,96. Qual é o poder preditivo do Teste com respeito à Doença? Se A e B são eventos disjuntos, então P A B P A P B∪( ) = ( ) + ( ) ; Lei da probabilidade total: P A P A B X P Bi i i n ( ) = ( ) ( ) = ∑ | 1 Lei da probabilidade condicional: P A B P A B P B |( ) = ∩( )( ) Dedução: P A B P B A∩( ) = ∩( ) P A B P B A B P B A P A| |( ) ( ) = ∩( ) = ( ) ( ) P A B P B A P A P B | |( ) = ( ) ( )( ) Já que P(A) = P(A|B) X P(B), então: P(Teste = Positivo) = P(Teste = Positivo |Doença = Presente) X P(Doença = Presente) + P(Teste = Positivo |Doença = Ausente) X P(Doença = Ausente) = 0,75 X 0,08 + 0,04 X 0,92 = 0,0968. P(Teste = Negativo) = P(Teste = Negativo |Doença = Presente) X P(Doença = Presente) + P(Teste= Negativo |Doença = Ausente) X P(Doença = Ausente) = 0,25 X 0,08 + 0,96 X 0,92 = 0,9032. O problema de dedução do Teorema de Bayes é que seu uso é diminuído em consequência do grande número de exemplos necessários para realizar os cálculos, de maneira factível. Métodos Baseados em Otimização É outro método de aprendizagem automática chamado método de otimização que tem como principal meta minimizar ou aumentar o desempenho de uma função específica. Tal método está embasado em duas técnicas de extração de conhecimento de dados que analisam a performance de uma função de custo na fase de treino e que são: Redes Neuronais Artificiais (RNA) e Máquinas de Vetores de Suporte (SBM). 23 UNIDADE Análise e Modelos Preditivos Redes Neuronais Artificiais A criação das redes neuronais artificiais teve como início a estrutura e execução do sistema nervoso humano de maneira que fosse possível fazer uma simulação da capacidade de aprendizagem do cérebro humano na execução de atividades que podem ser avaliadas como simples, como por exemplo: alcançar um objeto, mas que somente são possíveis em consequência à complicada organização do cérebro humano. Por conta dos trabalhos de McCulloch e Pitts (1943), houve o começo da pesquisa deste tipo de modelos computacionais, sendo criado um primeiro modelo matemático chamado de unidades lógicas com limiar – LTU. Tal modelo é embasado no Neurónio Biológico, sendo que este é o bloco fundamental de desenvolvimento do cérebro humano de acordo com a figura 2. Figura 2 - Esquema de um neurônio e da forma como o impulso é realizado ao longo do mesmo Fonte: graphus.org Vamos nos embasar nesse modelo. As RNAs foram criadas com as mesmas propriedades, possuindo como elementos básicos unidades de processamento simples, os quais receberam o nome de neurónios artificiais apresentado na figura 3: Figura 3 - Esquema de um neurónio artifi cial As RNAs - redes neuronais artificiais constituem-se em programas únicos que imitam o comportamento e a característica de um neurônio. 24 25 A conjugação de diversas entradas, em um centro específico de processamento, assim como no corpo do neurônio. Sendo que essa imitação do corpo do neurônio possui uma limitação específica, que é valor através do qual fica ativado e envia um sinal positivo para o próximo processo. Tal valor pode mudar entre os diversos centros de processamento. Dessa forma, a saída dependerá da multiplicação dos valores e pesos das muitas entradas. Esta coleção de valores resultará em um valor final que pode ou não ultrapassar o limite e, desta maneira, levar a um sinal positivo (1) ou negativo (0), que gera uma colaboração para um estado de excitação, no caso do sinal positivo, ou um estado de inibição, no caso do sinal negativo. Uma RNA – rede neuronal artificial está, por regra, estruturada em camadas, sendo que todos os neurônios de uma camada específica têm que estar conectados com um neurônio da camada que vem a seguir. Dessa forma, os neurónios da primeira camada terão o nome de neurônios de entrada, os das camadas intermediárias possuem o nome de camadas ocultas e os da última camada têm o nome de neurônios de saída. A principal característica das RNA é a sua capacidade de aprendizagem e de treino, a partir de algoritmos criados para o efeito, sendo que estes foram desenvolvidos por uma coleção de regras bem determinadas que influenciam a maneira como deve ser atualizado o valor de cada peso. O principal algoritmo de treino foi criado por (Rumelhar et al, 1986), tendo como base as gradientes descendentes, que recebeu o nome de Back-propagation. Este algoritmo possibilita a massificação do uso das redes multicamadas já que possibilitou o seu treinamento. O processo de treino na situação especifica deste algoritmo fundamenta-se em um processo iterativo que é formado por duas fases: uma para a frente (forward) e uma para trás (backward). Na primeira fase, cada objeto de entrada deve conhecer a rede. O mesmo objeto é recepcionado por cada um dos neurônios da primeira camada intermediária sendo medido pelo peso ligado à conexão de entrada correspondente. Na camada respectiva cada neurônio que pertence à mesma aplica a função de ativação à soma das suas entradas e gera um valor de saída (output), que é usado como valor de entrada (input) da camada de neurônios seguinte. Este processo é constante até que os neurônios da camada de saída geram eles mesmos o seu valor de saída. Este valor é então comparado com o valor de com o valor esperado para saída desse neurônio. A diferença entre os valores encontrado é o erro realizado pela rede para o objeto colocado na rede. A equação mostra como é realizado o ajuste de pesos de uma rede MLP pelo algoritmo, explanado acima, back-propagation. 25 UNIDADE Análise e Modelos Preditivos Exemplo de algoritmo de treino back-propagation · Entrada : uma coleção de n objetos de treino · Saída : Rede MPL com valores de pesos ajustados · inicializar pesos da rede com valores aleatórios · inicializar erro total=0 · repita · para cada objeto xi da coleção faça · para cada camada de rede , a partir da primeira camada intermediária · Faça para cada neurônio njl da camada: · calcular valor da saída gerada pelo neurônio , f · fim · fim · calcular erro parcial=y-f · para cada camada de rede através da camada de saída faça: · para cada neurónio njl da camada faça · ajustar pesos do neurônio usando Equação · fim · fim · calcular erro total = erro total + erro parcial · fim · até erro total < Diante de tudo que foi explanado, chega-se à conclusão que, em um mar de dados cada vez maior, coletados de pessoas e sensores, a análise preditiva fornece ferramentas essenciais de navegação para que as organizações e os indivíduos cheguem ao seu destino com sucesso. Ela faz isso por meio da previsão do que está prestes a ocorrer para que se possa responder adequadamente a fim de permanecer no curso mais exato, seguro, repetido, rentável e eficiente. O uso da análise preditiva já revoluciona o modo como interagimos com o nosso ambiente. À medida que a quantidade de dados aumenta e melhora a qualidade, auxiliada pela disponibilidade de energia de processamento de custo reduzido, a análise preditiva tende a ser ainda mais difundida do que é hoje. 26 27 Material Complementar Indicações para saber mais sobre os assuntos abordados nesta Unidade: Sites Big Data e Hadoop – o que é tudo isso? HOVHANNES, Avoyan; Big Data e Hadoop https://goo.gl/cYC71H Modelos preditivos: para que servem e quais são os diferentes tipos? GUAZZELLI ,Alex . Prevendo o futuro https://goo.gl/EKifuM Modelo Preditivo DUARTE, Miguel; SABINO, João; LEAL, Mário; LOURENÇO, Ricardo: Modelo Preditivo https://goo.gl/nRGnea 27 UNIDADE Análise e Modelos Preditivos Referências GROTH, R.. Data Mining: Building Competitive Advantage. Prentice Hall, 2000. NAGABHUSHANA, S. Data Warehousing Olap And Data Mining. New Age International, 2006. WEISS, S. M.; INDURKHYA, N. Predictive Data Mining: A Practical Guide. Morgan Kaufmann, 1998. ADRIAANS, P. Data Mining. Addison-Wesley Professional. 1996. GAMA, Joã o; CARVALHO, André Ponce de Leon; FACELI, Katti; LORENA, Ana Carolina; OLIVEIRA, Marcia. Extração de conhecimento de dados: data mining. 2. ed. Lisboa: Edições Sílabo, 2015. 428 p. QUINLAN, J. R. “Simplifying decision trees” Int. J. Hum. Comput. Stud., vol. 51, no. 2, pp. 497–510, 1999. HASTIE, T.; TIBSHIRANI, R.; FRIEDMAN, J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer Science & Business Media, 2013. BELL, R. M.; YEHUDA, K. Lessons from the Netflix prize challenge. ACM SIGKDD Explorations Newsletter, vol. 9, no. 2, p. 75, 2007. 28