O que é PMML?

Explore o poder da análise preditiva e dos padrões abertos

A Predictive Model Markup Language (PMML) é a linguagem padrão de fato utilizada para representar os modelos de analítica preditiva. Permite que as soluções preditivas sejam compartilhadas com facilidade entre aplicativos compatíveis com PMML. Com a analítica preditiva, os segmentos de mercado de petróleo e produtos químicos criam soluções para prever a quebra de máquinas e garantir a segurança. A PMML é suportada por muitas das principais ferramentas estatísticas. Consequentemente, o processo de por um modelo de analítica preditiva para funcionar é objetivo, já que é possível desenvolvê-lo em uma ferramenta e implementá-lo instantaneamente em outra. Em um mundo no qual os sensores e a coleta de dados estão se tornando cada vez mais difundidos, a analítica preditiva e os padrões como a PMML possibilitam que as pessoas se beneficiem de soluções inteligentes que irão realmente revolucionar a vida delas.

Alex Guazzelli, VP of Analytics, Zementis, Inc.

Photo of Alex GuazzelliO Dr. Alex Guazzelli é o vice-presidente de Analítica na Zementis. Inc., onde é responsável por desenvolver tecnologia de núcleo e soluções preditivas no ADAPA, uma plataforma de tomada de decisões com base em PMML. Ele possui Ph. D. em Ciência da Computação pela Universidade do Sul da Califórnia e, recentemente, foi coautor do livro "PMML in Action: Unleashing the Power of Open Standards for Data Mining and Predictive Analytic"."



31/Ago/2012

28 de setembro de 2010 - Em Recursos, foi incluído um link para um novo arquivo sobre PMML: "Representando soluções preditivas em PMML: Movimentação de dados brutos para predições"

Introdução à PMML

Se alguém perguntasse se você já usou a analítica preditiva hoje, provavelmente você diria que não. Contudo, a verdade é que provavelmente você a usa diariamente sem saber. Sempre que você passa o cartão de crédito na máquina ou o usa online, um modelo de analítica preditiva verifica a probabilidade de a transação ser fraudulenta. Se você aluga DVDs online, há a possibilidade de que um modelo de analítica preditiva tenha recomendado um filme específico para você. O fato é que a analítica preditiva já faz parte da sua vida e a aplicação da mesma irá ajudar você ainda mais no futuro.

À medida que os sensores em pontes, prédios, processos industriais e maquinaria geram dados, as soluções preditivas certamente irão fornecer um ambiente mais seguro no qual as previsões avisam você sobre possíveis falhas e problemas antes que eles aconteçam. Os sensores também são usados para monitorar pessoas, como os pacientes em um Centro de Terapia Intensiva. A IBM® e o Instituto de Tecnologia da Universidade de Ontário estão trabalhando em conjunto para implementar uma solução preditiva e de análise de dados para monitorar bebês prematuros cujas leituras biomédicas podem ser usadas para detectar infecções que colocam a vida em risco até 24 horas antes do tempo em que seriam observadas normalmente.

No entanto, a analítica preditiva tem condições de entender tudo isso sozinha? Depende. Os padrões abertos têm que fazer parte da equação. Para que você se beneficie totalmente das soluções preditivas e de análise de dados, os sistemas e arquivos devem ter a capacidade de trocar informações facilmente seguindo padrões. A PMML permite o compartilhamento de modelos de analítica preditiva entre aplicativos e sistemas.

A adoção da PMML pelos principais fornecedores de analítica é um grande exemplo de adoção da interoperabilidade pelas empresas. IBM, SAS, Microstrategy, Equifax, NASA e Zementis fazem parte do Data Mining Group (DMG), o comitê que dá forma à PMML. As empresas de software livre, como a KNIME e a Rapid-Iare também fazem parte do comitê. A PMML existe para moldar o mundo da analítica preditiva e, portanto, melhorar essa área para você.


Fundamentos de PMML

A PMML é a linguagem padrão de fato que é usada para representar os modelos de mineração de dados. Modelos de analítica preditiva e modelos de mineração de dados são termos usados para designar modelos matemáticos que usam técnicas estatísticas para aprender padrões ocultos em grandes volumes de dados históricos. Os modelos de analítica preditiva usam o conhecimento adquirido durante o treinamento para prever a existência de padrões conhecidos em novos dados. A PMML permite compartilhar facilmente modelos de analítica preditiva entre aplicativos diferentes. Portanto, é possível treinar um modelo em um sistema, expressá-lo em PMML e movê-lo para outro sistema, no qual é possível usá-lo para prever, por exemplo, a probabilidade de falha em uma máquina.

A PMML é uma criação do Data Mining Group, um comitê liderado por fornecedores composto por empresas de analítica comercial e de software livre (consulte Recursos para obter um link). Consequentemente, a maioria das principais ferramentas de mineração de dados atuais pode exportar ou importar a PMML. A PMML — um padrão maduro que evoluiu nos últimos 10 anos — pode representar não só as técnicas estatísticas usadas para aprender padrões a partir dos dados, como redes neurais artificiais e árvores de decisão, mas também pré-processar dados brutos de entrada e pós-processar uma saída modelo (veja a Figura 1).

Figura 1. A PMML incorpora o pré e o pós-processamento de dados, bem como o modelo preditivo em si
A PMML incorpora o pré e o pós-processamento de dados, bem como o modelo preditivo em si

A estrutura de um arquivo PMML segue as etapas normalmente utilizadas para desenvolver uma solução preditiva que inclui:

  1. Dicionário de dados é um produto da fase de análise de dados que identifica e define quais campos de dados de entrada são mais úteis para resolver o problema em questão. Podem incluir campos numéricos, ordinais e categóricos.
  2. Esquema de mineração define as estratégias para manipular valores ausentes e outlier. Isso é extremamente importante, já que, na maioria das vezes, quando os modelos são implementados, os campos obrigatórios de entrada de dados podem estar vazios ou conter informações erradas.
  3. Transformação de dados define os cálculos necessários para pré-processar os dados brutos de entrada em campos derivados. Os campos derivados (também conhecidos como detectores de recursos) combinam ou modificam campos para obter informações mais relevantes. Por exemplo, para prever a pressão de frenagem usada para parar um carro, um modelo preditivo pode usar como entradas brutas a temperatura externa e a presença de água (choveu?). Um campo derivado pode combinar esses dois campos para detectar a existência de gelo na estrada. Em seguida, o campo de gelo é usado como entrada direta para o modelo que prevê a pressão de frenagem necessária para parar.
  4. Definição de modelo define a estrutura e os parâmetros usados para desenvolver o modelo. A PMML engloba uma variedade de técnicas estatísticas. Por exemplo, para representar uma rede neural, ela define todas as camadas neutras e pesos das conexões entre os neurônios. Em uma árvore de decisão, define todos os três nós e os predicados simples e compostos.
  5. Saídas definem as saídas esperadas do modelo. Em uma tarefa de classificação, as saídas podem incluir a classe prevista e as probabilidades associadas a todas as classes possíveis.
  6. Alvos definem as etapas de pós-processamento a serem aplicadas à saída do modelo. Em uma tarefa de regressão, essa etapa permite que as saídas sejam transformadas em pontuações (os resultados da previsão) que podem ser interpretados facilmente por pessoas.
  7. Explicação do modelo define as métricas de desempenho obtidas ao passar os dados de teste pelo modelo (e não os dados de treinamento). Englobam correlações de campos, matriz de confusão, gráficos de ganho e gráficos de característica operacionais do receptor (ROC).
  8. Verificação do modelo define um conjunto de amostra de registros de dados de entrada, juntamente com as saídas esperadas do modelo. É uma etapa muito importante, já que, sempre que um modelo é movido de um aplicativo a outro, ele precisa passar no teste de correspondência. Isso garante que o novo sistema produza as mesmas saídas que o antigo ao utilizar as mesmas entradas. Sempre que isso acontece, considera-se que o modelo foi verificado e está pronto para ser implementado.

Considerando que a PMML permite que as soluções preditivas sejam expressas em sua totalidade (incluindo o pré e pós-processamento dos dados e a técnica de modelagem), não é de se admirar que a sua estrutura e elementos principais reflitam as oito etapas descritas acima.


Interoperabilidade: compartilhando soluções entre aplicativos

Compartilhar modelos entre aplicativos é fundamental para o sucesso da analítica preditiva. Porém, para poder compartilhar um modelo, primeiro é necessário desenvolvê-lo.

Desenvolvimento do modelo

O desenvolvimento do modelo é composto por várias fases que envolvem uma fase exaustiva de análise de dados. Nessa fase, você fatia e fragmenta os dados brutos e seleciona as informações mais importantes para o desenvolvimento do modelo (que dará origem ao Dicionário de Dados, conforme o definido na etapa 1 acima). É possível criar também campos derivados que transformam e combinam dos dados brutos de forma nova e criativa (etapa 3). Em seguida, os campos brutos e derivados são usados para o treinamento do modelo. Como resultado desse processo, somente uma parte dos campos de dados analisados durante a fase de análise é usada de fato para desenvolver o modelo final (etapa 4). Depois do desenvolvimento, o desenvolvimento do modelo é medido com relação a um conjunto de dados de teste (etapa 7). O processo todo pode durar várias semanas, dependendo da complexidade do problema que você está tentando resolver. Geralmente, você desenvolve vários modelos — às vezes, com técnicas estatísticas diferentes — e os compara. O modelo final pode incluir uma única técnica ou uma combinação de várias técnicas, que têm como resultado um arquivo de PMML que contém vários modelos.

Implementação do modelo

A implementação do modelo, na qual uma solução preditiva é efetivamente implementada, geralmente é uma tarefa realizada por um aplicativo que não tem nada a ver com o processo de desenvolvimento do modelo. Os ambientes de implementação geralmente são fortemente integrados aos sistemas e processos a serem monitorados pela solução preditiva. Entretanto, com a disponibilidade das conexões mais rápidas à Internet, esses sistemas não precisam ficar fisicamente próximos. Pode-se obter facilmente a integração com serviços da web pela Internet. Nesse caso, é possível se beneficiar do surgimento da computação em nuvem, na qual se pode escalar a energia de processamento conforme a necessidade para preencher requisitos em tempo real e lidar com grandes quantidades de dados.

Quando você implementa um modelo analítico, geralmente espera que ele faça o seu trabalho durante meses ou anos, até que ele tenha que ser atualizado, muito provavelmente por causa da deterioração do desempenho. Nesse caso, outro modelo é desenvolvido e implementado no lugar do antigo. Contudo, na maioria das vezes, os modelos precisam ser atualizados com frequência — isso enfatiza a necessidade de interoperabilidade e padrões abertos.

Compartilhamento de modelos

Sem uma linguagem como a PMML, a implementação de soluções preditivas é difícil e trabalhosa, já que sistemas diferentes representam seus cálculos de forma distinta. Sempre que você move um modelo de um sistema para outro, passa por um longo processo de conversão que está sujeito a erros e deturpações. Com a PMML, o processo é objetivo. Recentemente, fiquei surpreso ao descobrir que uma empresa financeira de grande porte levou de seis meses a um ano para implementar os modelos que foram desenvolvidos com o trabalho árduo de seus cientistas de mineração de dados. Com a PMML, é possível implementá-lo em minutos.

Do aplicativo A para o B e para o C, a PMML permite que as soluções preditivas sejam compartilhadas facilmente e implementadas assim que a fase de desenvolvimento estiver concluída. Por exemplo, pode-se desenvolver um modelo no IBM SPSS Statistics e beneficiar-se instantaneamente da computação em nuvem, na qual ele pode ser implementado na ADAPA, a plataforma de tomada de decisões preditiva da Zementis (consulte Recursos para obter os links). Também é possível movê-lo para o IBM InfoSphere™ onde residirá perto do armazém de dados. Além disso, é possível movê-lo para o KNIME, uma ferramenta de software livre para desenvolver e visualizar fluxos de dados, oferecida pela Universidade de Konstanz, na Alemanha. O poder da PMML é possibilitar a verdadeira interoperabilidade de modelos e soluções entre os aplicativos. A PMML também permite isolar os usuários finais da complexidade associada ferramentas e modelos estatísticos. Atualmente, é possível se beneficiar de modelos preditivos que foram implementados anteriormente na plataforma Zementis ADAPA diretamente a partir do Microsoft® Office Excel: basta selecionar os dados e clicar em Score.

Em seguida, ilustrarei a aplicação da analítica preditiva e da PMML para uma área conhecida como manutenção preditiva.


Manutenção preditiva: aplicações da PMML e mineração de dados

A manutenção preditiva, como o próprio nome sugere, envolve a capacidade de dar manutenção ou fazer mudanças em materiais ou processos antes da ocorrência de falhas e acidentes — um caminho claro para garantir a segurança. Tudo isso é possível por causa da disponibilidade de sensores pequenos e de custo reduzido que relatam o estado atual de estruturas, como pontes e prédios, e de máquinas, como transformadores de energia, bombas de água e ar, comportas e válvulas.

Tive o prazer de trabalhar em um projeto relacionado à detecção precoce de falhas em um equipamento rotativo. Sem a manutenção preditiva, você tem que lidar com o equipamento quebrado depois do fato. Em uma linha de produção industrial, isso implica parar toda a operação até que a máquina seja corrigida ou substituída. Com a manutenção preditiva, é possível planejar o reparo ou a substituição, com antecedência, do equipamento que está prestes a quebrar — por exemplo, durante os horários de baixa produção ou em um ciclo de manutenção planejada. Para a detecção precoce de falha em um equipamento, minha equipe e eu enfrentamos desafios desde o início. Os dados brutos de entrada consistiam somente em sinais de vibração capturados por alguns segundos a cada hora. Como as unidades rotativas e sensores foram montados juntos em um único rack, a qualidade do sinal era comprometida devido à interferência dos equipamentos próximos.

Apesar do problema de interferência, conseguimos usar a mineração de dados e análise para eliminar o ruído com êxito. Para isso, usamos principalmente o R, um pacote estatístico de software livre que suporta a PMML. Em seguida, passamos a desenvolver vários modelos usando o IBM SPSS Statistics. O modelo final foi uma rede neural que previa a falha do equipamento com alto grau de precisão. Já que a solução foi representada inteiramente em PMML, nós a implementamos facilmente na plataforma Zementis ADAPA, que já tínhamos instalado no site do cliente. Em seguida, nós nos concentramos nos desafios restantes — garantir que as entradas de sensor chegassem às nossas soluções da forma pretendida. Também nos certificamos de que as previsões geradas pelo modelo eram usadas adequadamente como parte dos processos de manutenção e diretrizes implementadas no chão de fábrica.

Usando modelos analíticos preditivos como uma ferramenta de monitoramento, é possível prevenir acidentes. Ao alertar sobre falhas antes que elas aconteçam, as soluções preditivas são um grande aliado para garantir um ambiente mais seguro. No segmento de mercado de produtos químicos e petróleos, a analítica preditiva pode (e deve) ser usada como mais uma ferramenta de prevenção no repertório de medidas de segurança relativas à perfuração e exploração de petróleo.


Exportando a PMML

A PMML é exportada facilmente a partir de ferramentas estatísticas. Conforme o mencionado acima, as principais empresas de analítica exportam e importam arquivos PMML com seus produtos. Por exemplo, no IBM SPSS Statistics, é possível exportar um modelo em PMML selecionando para exportar o modelo como um arquivo XML (a PMML é baseada em XML) depois de selecionar todos os parâmetros adequados do modelo. Em um modelo de rede neural, os parâmetros típicos estão relacionados ao número de camadas e neurônios a serem usados na rede. Depois de concluir essa fase e antes do treinamento do modelo, selecione a guia Export para salvar o modelo. Salvar a sua solução como um arquivo PMML, mesmo que não seja definitiva, é uma boa prática. Dessa forma, pode-se manter um registro em PMML de todas as tentativas feitas antes de chegar ao modelo final. Você e outras pessoas da equipe podem usar esse registro para determinar a melhor escolha de parâmetros e práticas.


Uma análise aprofundada da PMML

Agora que você sabe o que é a PMML e por que ela é importante, é hora de fazer uma análise mais aprofundada da linguagem em si. Conforme foi mencionado acima, sua estrutura reflete as oito etapas normalmente utilizadas para desenvolver uma solução preditiva, desde a definição dos campos de dados brutos de entrada, como na etapa "Dicionário de Dados", até a verificação de que o modelo tenha sido implementado corretamente, como na etapa "Verificação do Modelo".

A Listagem 1 mostra a definição do elemento PMML DataDictionary para uma solução com três campos: um campo numérico de entrada chamado Value, um campo de entrada categórico chamado Element e um campo numérico de saída chamado Risk.

Listagem 1. O elemento DataDictionary
<DataDictionary numberOfFields="3">
    <DataField dataType="double" name="Value" optype="continuous">
        <Interval closure="openClosed" rightMargin="60" />
    </DataField>
    <DataField dataType="string" name="Element" optype="categorical">
        <Value property="valid" value="Magnesium" />
        <Value property="valid" value="Sodium" />
        <Value property="valid" value="Calcium" />
        <Value property="valid" value="Radium" />
    </DataField>
    <DataField dataType="double" name="Risk" optype="continuous" />
</DataDictionary>

Observe que, no campo Value, o intervalo define a faixa de valores válidos, do infinito negativo até 60. os valores superiores a 60 são definidos como inválidos. (Embora não seja mostrado aqui, o elemento MiningSchema da PMML é usado para definir o tratamento adequado dos valores inválidos e ausentes.) Já que o campo Element é categórico, os valores válidos são listados explicitamente. Se o feed de dados referente a esse campo específico contém o elemento Iron, o elemento é tratado como um valor inválido.

A Figura 2 mostra a representação gráfica de um modelo de rede neural, no qual a camada de entrada é composta por três neurônios, a camada oculta, por dois neurônios e a camada de saída, que é um único neurônio. Como seria de se esperar, a PMML consegue representar essa estrutura de forma completa.

Figura 2. Um modelo simples de rede neural no qual os dados são passados por meio de uma sequência de camadas antes do cálculo de uma previsão
Um modelo simples de rede neural no qual os dados são passados por meio de uma sequência de camadas antes do cálculo de uma previsão

A Listagem 2 mostra a definição da camada oculta e seus neurônios, bem como os pesos das conexões dos neurônios na camada de entrada (0, 1 e 2) e dos neurônios na camada oculta (3 e 4).

Listagem 2. Definindo uma camada neural e seus neurônios na PMML
<NeuralLayer numberOfNeurons="2">
    <Neuron id="3" bias="-3.1808306946637">
        <Con from="0" weight="0.119477686963504" />
        <Con from="1" weight="-1.97301278112877" />
        <Con from="2" weight="3.04381251760906" />
    </Neuron>
    <Neuron id="4" bias="0.743161353729323">
        <Con from="0" weight="-0.49411146396721" />
        <Con from="1" weight="2.18588757615864" />
        <Con from="2" weight="-2.01213331163562" />
    </Neuron>
</NeuralLayer>

A PMML não é um bicho de sete cabeças. Sua complexidade reflete a complexidade da técnica de modelagem que ela representa. Na verdade, ela revela os segredos e elimina a sensação de "caixa preta" que muitas pessoas têm ao lidar com a analítica preditiva. Com a PMML, qualquer solução preditiva é representada pelos mesmos elementos de linguagem, na mesma ordem.

Dentro de uma empresa, a PMML pode ser usada como língua franca — não só entre os aplicativos, mas também entre divisões, provedores de serviços e fornecedores externos. Neste cenário, ela se torna o padrão que define um processo único e claro para a troca de soluções preditivas.


Conclusão

A PMML permite a implementação instantânea de soluções preditivas. É o padrão de fato para representar os modelos de analítica preditiva e atualmente é suportada por todas as principais ferramentas estatísticas comerciais e de software livre. À medida que mais sensores são implementados e mais dados são gerados, a analítica preditiva e os padrões abertos, como a PMML, são fundamentais para entendê-los. Detecção de fraudes, recomendações de filmes, soluções médicas que salvam vidas e manutenção preditiva são apenas alguns exemplos de possibilidades. Portanto, arregace as mangas e vá trabalhar!

Recursos

Aprender

Obter produtos e tecnologias

  • IBM SPSS Statistics 18 (anteriormente SPSS Statistics): Coloque em suas mãos o poder da análise estatística avançada. Seja um estatístico iniciante ou experiente, seu conjunto abrangente de ferramentas atenderá às suas necessidades.
  • ADAPA: Experimente uma revolucionária plataforma de gerenciamento de decisões análises preditivas, 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.
  • 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.
  • Versões de avaliação de produto IBM: 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®e WebSphere®.

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, Software livre
ArticleID=834597
ArticleTitle=O que é PMML?
publish-date=08312012