Prevendo o futuro, Parte 4: Use uma solução preditiva

Este é o último artigo de uma série de quatro partes que aborda os aspectos mais importantes da analítica preditiva. A Parte 1 ofereceu uma visão geral da analítica preditiva. A Parte 2 abordou as técnicas da modelagem preditiva, os algoritmos matemáticos que formam o núcleo da analítica preditiva. A Parte 3 colocou essas técnicas em uso e descreveu a produção de uma solução preditiva. Este artigo final trata da implementação da analítica preditiva, ou seja, o processo de colocar as soluções preditivas para funcionar.

Alex Guazzelli, VP of Analytics, Zementis, Inc.

Photo of Alex GuazzelliO Dr. Alex Guazzelli é VP of Analytics na Zementis Inc., onde é responsável pelo desenvolvimento das principais tecnologias e soluções preditivas sob a denominação ADAPA, uma plataforma de tomada de decisão baseada na PMML. Com mais de 20 anos de experiência em análise preditiva, o Dr. Guazzelli é PhD em Ciência da Computação pela University of Southern California e é coautor do livro PMML in Action: Unleashing the Power of Open Standards for Data Mining and Predictive Analytics, agora, em sua segunda edição.



31/Ago/2012

Introdução

Tradicionalmente, a utilização de uma solução preditiva é um processo laborioso, que envolve muito tempo e muitos recursos. O advento da Predictive Model Markup Language (PMML) mudou completamente esse cenário. As mesmas pessoas que desenvolveram uma solução preditiva podem agora colocá-la em uso em questão de minutos. Como padrão de facto para analítica preditiva, PMML é suportado pelos principais fornecedores de mineração de dados, tanto comerciais como de software livre. Após desenvolver um modelo preditivo, é fácil exportá-lo para um arquivo PMML. Esse arquivo pode então ser implementado diretamente em um mecanismo de pontuação baseado em PMML, no qual estará disponível para execução. Nesta era de big data em que vivemos, a implementação e a execução rápidas beneficiam os modelos preditivos. A disponibilidade de soluções de pontuação na nuvem e no banco de dados permite que a analítica preditiva cumpra sua promessa e quebre o código de big data.

Esta série de quatro artigos abordou muitos tópicos de analítica preditiva, a maioria relacionada ao desenvolvimento de modelos. Eu descrevi muitas aplicações da analítica preditiva. No entanto, para aplicar uma solução preditiva a novos dados, ela precisa ser implementada operacionalmente. Ou seja, precisa ser transferida do desktop do cientista, onde foi desenvolvida, para o ambiente operacional, onde será posta em prática.

Na verdade, pôr um modelo em prática não é algo fácil. Para ser implementada operacionalmente, uma solução preditiva precisa superar a barreira entre dois mundos muito diferentes. Eu chamo esses mundos de planetas Predicta e Engira. O planeta Predicta é habitado por cientistas de dados com conhecimento em estatística, mineração de dados e qualificações em linguagens como Perl e Python. O planeta Engira, por outro lado, é habitado por engenheiros de TI com conhecimento em Java™, .NET, C, SQL. Sem uma linguagem em comum, a transferência de uma solução preditiva de Predicta para Engira pode perder-se na tradução (veja a Figura 1). Após um modelo ser desenvolvido, um cientista de dados escreve um documento do Word descrevendo o modelo e o envia a um engenheiro de TI, que começa a codificar o modelo em um ambiente operacional. Podem surgir dúvidas, e comunicações diplomáticas são trocadas entre os dois. No entanto, com frequência, quando o modelo é considerado pronto para ser posto em prática, o engenheiro que o recodificou percebe que suas pontuações em produção não correspondem às pontuações que o cientista de dados obteve com o mesmo modelo em desenvolvimento. O engenheiro precisa comunicar-se com o cientista para resolver as discrepâncias. Esse processo pode levar de três até um ano.

Figura 1. O processo de implementação de modelo pode se perder na tradução entre os planetas Predicta e Engira sem uma linguagem em comum entre os dois.
O processo de implementação de modelo pode se perder na tradução entre os planetas Predicta e Engira sem uma linguagem em comum entre os dois.

Felizmente, surgiu algo que abreviou a implementação de modelos de meses para minutos. Trata-se do advento de uma linguagem comum que cientistas de dados e engenheiros de TI podem entender. Essa linguagem chama-se PMML.


PMML

PMML é uma criação do Data Mining Group (DMG), um grupo de empresas que trabalham juntas para defini-lo. Todas as principais ferramentas estatísticas e de mineração de dados, comerciais e de software livre, suportam PMML. Dessa forma, é possível desenvolver um modelo no planeta Predicta e enviar diretamente ao planeta Engira para implementação instantânea. Não é necessário tradução, recodificação ou código customizado. Com PMML, a transferência de uma solução preditiva do desktop do cientista para o ambiente operacional torna-se uma tarefa muito simples.

PMML permite que empresas e pessoas usem uma única linguagem para representar uma solução preditiva inteiramente, independente do ambiente no qual foi desenvolvida. A Parte 3 desta série abordou todas as fases envolvidas na criação de uma solução preditiva, do pré-processamento dos dados e desenvolvimento do modelo ao pós-processamento das pontuações do modelo. PMML consegue representar todas essas fases em um único arquivo. Também pode representar soluções que incluem mais de um modelo ou um conjunto de modelos.

PMML é baseado em XML. Seu esquema segue uma estrutura bem definida, na qual elementos e atributos são usados para definir:

  1. Os dados de entrada através do elemento DataDictionary
  2. Estratégias para lidar com valores inválidos, ausentes ou outlier através do elemento MiningSchema
  3. Pré-processamento de dados através do elemento TransformationsDictionary
  4. Uma série de técnicas de modelagem através de elementos de modelo específicos, como: NeuralNetwork, TreeModel, SupportVectorMachineModel, Scorecarde RegressionModel
  5. Pós-processamento de saídas do modelo através do elemento Output

PMML também contém outras estruturas de linguagem, incluindo elementos específicos para verificação do modelo e para sua explicação e avaliação. Dado que a PMML pode representar uma solução preditiva inteiramente de forma clara e estruturada, podemos usá-la para eliminar os segredos e a imagem de "caixa preta" que as pessoas têm ao lidar com analítica preditiva. Uma empresa pode usar PMML como língua franca não apenas entre Predicta e Engira, mas também entre provedores de serviço e fornecedores externos. Nesse cenário, a linguagem define um processo único e claro para a troca de soluções preditivas. Ela torna-se a ponte não apenas entre análise de dados, desenvolvimento de modelos e sistemas de implementação, mas também entre todas as pessoas e equipes envolvidas no processo de analítica. Isso é extremamente importante, pois podemos usá-la para disseminar conhecimento e melhores práticas e para garantir a transparência.

A versão mais recente do PMML, 4.1, foi liberada em dezembro de 2011. Mas a linguagem está disponível há mais de 10 anos e, por isso, atingiu um alto nível de maturidade e refinamento. Quando conheci PMML como representante de DMG, há muitos anos, fiquei surpreso por sua extensão e eficácia e por todos os benefícios que ela traz para uma organização que deseja aproveitar o valor preditivo inerente em seus dados históricos.


Representando uma solução preditiva em PMML

Todas as principais ferramentas estatísticas disponíveis atualmente no mercado para desenvolvimento de modelo exportam modelos em PMML. Algumas delas também permitem importação, para que um modelo possa ser visualizado e refinado ainda mais. Um ambiente de software livre que deve ser mencionado é o KNIME (consulte Recursos), que importa e exporta muitos modelos de PMML. Outro é o projeto R de computação estatística (consulte Recursos). Uma série de produtos comerciais também oferece suporte a PMML. Neste artigo, eu me atenho ao IBM SPSS Statistics, que também pode exportar PMML para diversas técnicas preditivas. IBM SPSS Statistics também pode exportar PMML para pré-processamento de dados, o que é parte importante do quebra-cabeça preditivo.

A Parte 3 desta série descreveu como usar IBM SPSS Statistics para realizar pré-processamento de dados automaticamente. O objetivo é aumentar o valor preditivo dos dados da entrada bruta para melhorar a precisão do modelo resultante. Para isso, escolha menu Transform > Prepare Data for Modeling e clicar em Automatic. Na janela delimitada por guias chamada "Automatic Data Preparation", clique na guia Settings e selecione o item Apply and Save. Marque a caixa de opção "Save transformations as XML" e digite um nome de arquivo. Esse é o arquivo que conterá as transformações em formato PMML. Após selecionar a opção Prepare Data for Modeling, também é possível escolher Interactive. Essa opção exibirá uma janela delimitada por tabulação chamada "Interactive Data Preparation". Nesse caso, você terá que clicar no botão Analyze primeiro, antes de salvar o arquivo PMML que contém as transformações resultantes. Em ambos os casos, o resultado é um arquivo PMML que descreve completamente as etapas de pré-processamento de dados realizadas pelo IBM SPSS Statistics durante a preparação para a modelagem. Para entender como PMML representa transformações de dados, a Zementis lançou uma ferramenta interativa chamada Transformations Generator. Essa ferramenta permite que os usuários representem graficamente diversas transformações e exportem-nas automaticamente em PMML, o que pode ser posteriormente mesclado a um arquivo de modelo (consulte Recursos).

O processo de preparação de dados também cria outros campos de dados no editor de dados do IBM SPSS Statistics, que podem ser usados para treinamento de modelo em conjunto com qualquer outro campo de entrada bruta. Como descrito na Parte 3, para treinar um modelo de rede neural, por exemplo, basta escolher menu Analyze > Neural Networks e selecione Multilayer Perceptron. Depois de fazer todas as seleções adequadas na janela com várias guias, selecione a guia Export , marque "Export synaptic weight estimates to XML file" e insira o nome do arquivo PMML no qual você quer que o modelo de rede neutro seja salvo. De maneira semelhante, IBM SPSS Statistics também permite exportar muitas outras técnicas preditivas em PMML.

O arquivo PMML do modelo de rede neural também contém a escala das entradas numéricas e discretização das variáveis de categoria. No entanto, se o modelo usou alguma das variáveis descobertas automaticamente pelo IBM SPSS Statistics, é necessário mesclar os dois arquivos PMML descritos anteriormente (pré-processamento de dados automático e modelo em um único arquivo). Para isso, escolha menu Utilities > Merge Model XML. Você verá uma janela na qual é possível digitar o nome de "Model XML File" (o arquivo PMML que contém o modelo preditivo) e "Transformation XML File" (o arquivo PMML que contém as etapas de pré-processamento de dados automático ou interativo). Digite também um nome para "Saved Merged XML File". Clique em OK. Agora a solução preditiva está completamente representada em PMML.


Implementação operacional com PMML

Quando está representada em PMML, uma solução preditiva pode ser implementada em questão de minutos. Nós da Zementis criamos uma plataforma de gerenciamento de decisões de analítica preditiva chamada ADAPA. Ela consegue consumir soluções preditivas expressas em PMML e executá-las em tempo real. Como o ADAPA se encontra no lado operacional, ele liberta os recursos de Engira da necessidade de criar código customizado e permite que os recursos de Predicta implementem soluções preditivas por conta própria. Como mostra a Figura 2, após um modelo preditivo ser exportado do IBM SPSS Statistics (ou qualquer outra ferramenta compatível com PMML, como R e KNIME), o cientista de dados pode fazer seu upload diretamente em ADAPA, onde está pronto para ser usado.

Figura 2. Com PMML, soluções preditivas desenvolvidas por recursos de Predicta podem ser implementadas em minutos
Com PMML, soluções preditivas desenvolvidas por recursos de Predicta podem ser implementadas em minutos

Após seu upload para ADAPA, modelos preditivos podem ser gerenciados e executados diretamente através de um console da web ou de serviços da web. No último caso, é possível integrar diretamente pontuações e previsões em qualquer aplicativo na empresa.

ADAPA está disponível como uma licença tradicional para implementação no site. Também está disponível como um serviço na IBM SmartCloud. Quando está na nuvem, a execução do modelo aproveita uma estrutura de baixo custo e escalável para cálculo via Internet. A Zementis também oferece o Universal PMML Plug-in (UPPI) para pontuação no banco de dados e para Hadoop. UPPI está disponível atualmente para o banco de dados EMC Greenplum, SAPSybase IQ e IBM Netezza. Dessa forma, modelos expressos em PMML podem ser implementados facilmente dentro do banco de dados para ficarem próximos dos dados em si. Aplicações que exigem pontuação no banco de dados geralmente envolvem big data. A estimativa da IBM é que 90% dos dados que existem hoje foram gerados apenas nos últimos dois anos. Isso dá uma ideia do volume de dados que nossa sociedade está gerando e coletando diariamente. Big data significa muitos dados. Para aproveitar todos os segredos que se escondem embaixo desse oceano de dados em expansão, a implementação e execução rápidas das soluções preditivas são essenciais. Felizmente, PMML combinado com bancos de dados eficientes, Hadoop e computação em nuvem possibilita aproveitar o valor de big data.


Execução de modelo em IBM SmartCloud

Em seu núcleo, a computação em nuvem é um conjunto de serviços que fornece recursos de computação por meio da internet. Grandes datacenters fornecem recursos como serviço escaláveis, sob demanda e geralmente virtualizados, eliminando a necessidade de investimentos em hardware e software específicos e em sua própria infraestrutura de datacenter. O termo nuvem é usado como uma metáfora da Internet. A computação em nuvem permite uma variedade de serviços, incluindo capacidade de armazenamento, energia de processamento e aplicativos de negócios. O acesso a serviços na nuvem tornou-se disponível como uma infraestrutura segura e confiável somente recentemente. IBM SmartCloud é um exemplo excelente de uma infraestrutura em nuvem genérica. Desenvolvido pela IBM, ele fornece uma capacidade de cálculo dinâmica por meio de diversos datacenters espalhados por todo o mundo.

Software como serviço (SaaS) é um modelo de licença de software em que uma empresa ou usuário pode acessar um software através da Internet e pagar pelo direito de usá-lo por um certo período de tempo, em vez de adquirir uma licença perpétua para instalar o software no local. Isso é extremamente vantajoso para os clientes, pois não há custos adiantados com configuração de servidores ou licenças de software, e minimiza o risco de comprar softwares caros que não proporciona um retorno adequado sobre o investimento. Como o modelo de licença SaaS e a computação em nuvem são centrados na Internet, muitos fornecedores combinam os dois para entregar novas soluções de software.

Conforme mencionado anteriormente, o ADAPA utiliza chamadas de serviço da web para permitir que decisões automáticas sejam virtualmente integradas aos sistemas e aplicativos em toda a empresa. A fim de minimizar o custo total de propriedade, a execução do modelo no ADAPA está disponível como um serviço por meio do IBM SmartCloud (consulte Recursos). Essa parceria entre a Zementis e a IBM permite que as empresas implementem e executem modelos preditivos e usem facilmente pontuações produzidas e previsões para influenciar sua operação do dia a dia.

O processo de ativação de um servidor ADAPA virtual no IBM SmartCloud corresponde ao cenário tradicional de compra de hardware e instalação em uma sala de servidores. A única diferença é que o servidor, nesse caso, se encontra na nuvem, acompanha uma versão pré-instalada do ADAPA e é ativado em apenas alguns minutos, sob demanda e pronto para ser usado.


Conclusão

Tradicionalmente, o processo de implementar uma solução preditiva e colocá-la em prática era demorado, levando meses e drenando recursos valiosos das pessoas responsáveis por desenvolver os modelos e daqueles responsáveis por recodificá-lo na produção. O advento da PMML mudou isso dramaticamente. Com PMML, as mesmas pessoas responsáveis por desenvolver um modelo podem agora implementá-lo em minutos.

Como o padrão de facto para representar soluções preditivas, a PMML pode representar uma solução preditiva inteiramente, de forma clara e estruturada. PMML é suportada por todas as principais ferramentas estatísticas, incluindo as comerciais e as de software livre. IBM SPSS Statistics, por exemplo, permite exportar transformações de dados e várias técnicas de modelagem preditiva em PMML. Um arquivo PMML pode então ser facilmente implementado em um sistema como ADAPA, o mecanismo de pontuação da Zementis baseado em PMML. Como ADAPA está disponível em IBM SmartCloud, o mecanismo aproveita uma infraestrutura escalável e confiável desenvolvida pela IBM. Uma vez na nuvem, modelos preditivos podem ser acessados de qualquer lugar a qualquer momento, e suas pontuações e previsões podem ser integradas em qualquer aplicativo na empresa através de serviços da web.

Após ler esta série de quatro artigos, você deve entender melhor a analítica preditiva e suas aplicações. Comecei explicando a você do que se trata. Descrevi muitas das técnicas preditivas que estão no centro da analítica preditiva. Essas técnicas podem aprender padrões a partir de dados históricos e detectá-los quando recebem novos dados. Em seguida, descrevi o desenvolvimento de uma solução preditiva inteira. Tudo começa com um problema bem definido, seguido de análise de dados e pré-processamento. Em seguida, os dados são apresentados a uma técnica preditiva para criação do modelo, cuja precisão é avaliada. Em seguida, limites de discriminação são estabelecidos dependendo da precisão do modelo e do custo associado com erros de previsão. Em seguida, decisões de negócios são associadas a diferentes limites. Por fim, quando exportado como um arquivo PMML, uma solução preditiva está pronta para implementação e uso. Quando isso acontecer, a analítica preditiva terá de fato cumprido a promessa de aprender padrões valiosos a partir de dados históricos e usá-los para prever o futuro.

Recursos

Aprender

Obter produtos e tecnologias

  • IBM SPSS Statistics 20 coloca a energia da análise estatística avançada em suas mãos. Seja um estatístico iniciante ou experiente, seu conjunto abrangente de ferramentas atenderá às suas necessidades.
  • ADAPA é uma plataforma revolucionária de gerenciamento de decisões de analítica preditiva, disponível como um serviço na nuvem ou no local. Ela fornece um ambiente seguro, rápido e escalável para implementar seus modelos de mineração de dados e lógica de negócios, e colocá-los em uso.
  • Experimente o IBM ILOG CPLEX Optimization Studio por 90 dias: Desenvolva rapidamente aplicativos baseados em otimização de apoio à decisão.
  • Avalie o IBM WebSphere Application Server: Crie, implemente e gerencie aplicativos de negócios SOA robustos, ágeis e reutilizáveis de todos os tipos, ao mesmo tempo que reduz custos de infraestrutura de aplicativos com o IBM WebSphere Application Server.
  • Transformations Generator: Uma ferramenta interativa, para uso em conjunto com o livro PMML in Action, usada para representar transformações de dados em PMML.
  • KNIME é uma plataforma fácil de usar, abrangente e de software livre para integração, processamento, análise e exploração de dados.
  • Projeto R: Comece a usar esse ambiente de software grátis para cálculo estatístico e gráficos.
  • Software de avaliação: Faça o download ou explore as versões de teste online no IBM SOA Sandbox e entre em contato com as ferramentas de desenvolvimento de aplicativos e produtos de middleware do DB2®, Lotus®, Rational®, Tivoli®eWebSphere®.

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Segmentos de mercado
ArticleID=827388
ArticleTitle=Prevendo o futuro, Parte 4: Use uma solução preditiva
publish-date=08312012