O que é PMML?

Explore o poder da analítica preditiva e dos padrões abertos

A Predictive Model Markup Language (PMML) é a linguagem padrão de fato para representar modelos de analítica preditiva. Possibilita 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 substâncias químicas criam soluções para prever panes na maquinaria e assegurar a segurança. A PMML tem o suporte de várias das principais ferramentas estatísticas. Consequentemente, o processo de pôr um modelo de analítica preditiva para funcionar é objetivo, já que você pode incorporá-lo em uma ferramenta e implementá-lo instantaneamente em outra. Em um mundo no qual os sensores e a coleta de dados estão ficando cada vez mais disseminados, a analítica preditiva e as normas como a PMML possibilitam que as pessoas se beneficiem de soluções inteligentes que farão uma verdadeira revolução em suas vidas.

Alex Guazzelli, VP of Analytics, Zementis, Inc.

Photo of Alex GuazzelliO Dr. Alex Guazzelli é VP de analítica da Zementis. Inc., onde é responsável pelo desenvolvimento da tecnologia principal e de soluções preditivas em ADAPA, uma plataforma de decisão baseada em PMML. É Ph. D. em Ciência da Computação pela Universidade de Southern California e recentemente foi co-autor do livro "PMML in Action: Unleashing the Power of Open Standards for Data Mining and Predictive Analytics".



27/Ago/2010

Introdução à PMML

Se alguém lhe perguntasse se você usou analítica preditiva hoje, provavelmente você responderia que não. Entretanto, a verdade é que talvez você a use diariamente sem saber. Sempre que você passa o seu cartão de crédito ou o usa on-line, um modelo de analítica preditiva verifica a probabilidade de que a transação seja fraudulenta. Se você aluga DVDs on-line, é bem possível que um modelo de analítica preditiva tenha recomendado um determinado filme para você. A verdade é que a analítica preditiva já faz parte da sua vida e a sua aplicação irá ajudá-lo ainda mais no futuro.

À medida que os sensores em pontes, prédios, processos industriais e maquinaria geram dados, as soluções preditivas geram dados para proporcionar um ambiente mais seguro onde as previsões o alertam sobre possíveis falhas e problemas antes que aconteçam de fato. Sensores também são usados para monitorar pessoas, como acontece com os pacientes em Unidades de Terapia Intensiva. A IBM® e o University of Ontario Institute of Technology estão trabalhando juntos atualmente para implementar uma solução preditiva e de análise de dados para monitorar bebês prematuros, na qual leituras biomédicas podem ser usadas para detectar infecções potencialmente fatais até 24 antes do tempo em que seriam observadas normalmente.

Porém, a analítica preditiva, isoladamente, pode processar tudo isso? Depende. Os padrões abertos devem necessariamente estar envolvidos nesse processo. Para que você aproveite totalmente as soluções preditivas e a análise de dados, os sistemas e aplicativos devem ser capazes de trocar informações facilmente, seguindo normas. A PMML permite que os modelos analíticos preditivos sejam compartilhados entre aplicativos e sistemas.

A adoção da PMML por meio dos principais fornecedores de analítica é um grande exemplo de empresas que estão adotando a interoperabilidade. A IBM, SAS, Microstrategy, Equifax, NASA, e Zementis fazem parte do Data Mining Group (DMG), o comitê que está elaborando a PMML. As empresas de padrões abertos, como a KNIME e a Rapid-Iare, também fazem parte do comitê. A PMML existe para "moldar" a área de analítica preditiva e, portanto, fazer com que o mundo preditivo seja um lugar melhor para você.


Fundamentos da PMML

A PMML é a linguagem padrão de fato 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 os modelos matemáticos que usam técnicas estatísticas para aprender padrões ocultos em grandes volumes de dados históricos. Os modelos de análise preditiva usam o conhecimento adquirido durante o treinamento para prever a existência de padrões conhecidos em dados novos. A PMML permite compartilhar facilmente modelos de análise preditiva entre aplicativos diferentes. Portanto, você pode treinar um modelo em um sistema, expressá-lo em PMML e movê-lo a outro sistema, no qual você pode 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 e composto por empresas de análise comerciais e de software livre (consulte Recursos para ver o link). Consequentemente, a maioria das ferramentas atuais de mineração de dados pode exportar ou importar a PMML. A PMML, um padrão maduro que vem evoluindo nos últimos 10 anos, pode representar não só as técnicas estatísticas usadas para aprender padrões a partir dos dados — como as redes neurais artificiais e árvores de decisão — mas também o pré-processamento de dados brutos de entrada e o pós-processamento da saída do modelo (veja a Figura 1).

Figura 1. A PMML incorpora o pré-processamento e o pós-processamento dos dados, bem como o modelo preditivo propriamente dito
PMML incorporates data pre-processing and data post-processing as well as the predictive model itself

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

  1. Dicionário de dados é um produto da fase de análise de dados que identifica os campos de dados de entrada que são mais úteis para resolver o problema em questão. Podem ser campos numéricos, ordinais e de categoria.
  2. Esquema de mineração define as estratégias para manipular valores ausentes e periféricos. Isso é extremamente útil, já que, muito frequentemente, sempre que os modelos são utilizados, alguns campos de dados obrigatórios de entrada podem estar vazios ou preenchidos incorretamente.
  3. Transformações de dados definem os cálculos necessários para pré-processar os dados brutos de entrada nos campos derivados. Os campos derivados (também chamados de detectores de recursos) combinam ou modificam os campos de entrada 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 entrada bruta 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 sobre o 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 construir o modelo. A PMML abrange uma variedade de técnicas estatísticas. Por exemplo: para representar uma rede neural, define todas as camadas neurais e os pesos de conexão entre os neurônios. Em uma árvore de decisão, define todos os nós da árvore 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. Destinos definem as etapas de pós-processamento a ser 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 de predição) que as pessoas podem interpretar facilmente.
  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). Incluem as relações entre os campos, a matriz de confusão, os gráficos de ganho e levantamento e os gráficos de receiver operating characteristics (ROC).
  8. Verificação do modelo define um conjunto de amostra de registros dos dados de entrada juntamente com as saídas esperadas do modelo. É uma etapa muito importante, pois sempre que se passa um modelo de um aplicativo a outro, o modelo deve passar no teste de correspondência. Isso garante que o novo sistema produza as mesmas saídas do antigo quando tiver as mesmas entradas. Sempre que isso acontece, considera-se o modelo como verificado e pronto para ser colocado em funcionamento.

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


Interoperabilidade: compartilhar soluções entre os aplicativos

Compartilhar os modelos entre os aplicativos é fundamental para o sucesso da analítica preditiva. Entretanto, para poder compartilhar um modelo, primeiro é necessário construí-lo.

Construção do modelo

A construção do modelo é composta por várias fases que envolvem uma fase de análise ampla dos dados. Nessa fase, você analisa detalhadamente os dados brutos e seleciona as informações mais importantes para a construção do modelo (o que dará origem ao dicionário de dados definido na etapa 1 acima). Também é possível criar campos derivados que transformam e combinam os dados brutos em formas novas e criativas (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 que você examinou durante a fase de análise é usada para construir o modelo final (etapa 4). Após a construção do modelo, mede-se o seu desempenho com um conjunto de dados de prova (etapa 7). Todo esse processo pode levar várias semanas, dependendo da complexidade do problema que você está tentando resolver. Normalmente, são criados vários modelos — às vezes com técnicas estatísticas diferentes — e esses modelos são comparados um com o outro. O modelo final pode incluir uma única técnica ou uma mistura 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 é colocada efetivamente em funcionamento, é geralmente uma tarefa realizada por um aplicativo que não tem ligação com o processo de construção do modelo. Os ambientes de implementação geralmente são fortemente integrados aos sistemas e processos que a solução preditiva monitora. Entretanto, com a disponibilidade de conexões mais rápidas à Internet, esses sistemas não precisam ficar fisicamente próximos. A integração pode ser obtida facilmente por meio da Internet. Nesse caso, é possível utilizar a computação em nuvem, na qual você pode escalar a energia de processamento conforme a necessidade para preencher os requisitos em tempo real e trabalhar com grandes quantidades de dados.

Quando se coloca em funcionamento um modelo de análise preditiva, geralmente se espera que ele funcione durante meses ou anos sem necessidade de atualizar — muito provavelmente, por causa da deterioração do desempenho. Nesse caso, outro modelo é construído e colocado no lugar do modelo antigo. Entretanto, muito frequentemente, é necessário atualizar os modelos com frequência—o que 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 diferente. Sempre que você passa o modelo de um sistema para outro, passa por um processo longo de conversão que está sujeito a erros e representações incorretas. Com a PMML, o processo é direto. Recentemente, eu me surpreendi ao descobrir que uma grande empresa financeira levava de seis meses a um ano para implementar os modelos que os seus cientistas de mineração de dados construíam com dificuldade. Com a PMML, é possível implementar em minutos.

Do aplicativo A para o B para o C, a PMML permite que as soluções preditivas sejam compartilhadas facilmente e colocadas em funcionamento assim que a fase de construção do modelo é concluída. Por exemplo: é possível construir um modelo em IBM SPSS Statistics e aproveitar instantaneamente a computação em nuvem, na qual é possível implementá-lo em ADAPA, a plataforma preditiva de decisão da Zementis (consulte Recursos para ver os links). Também é possível movê-lo para o IBM InfoSphere,™ onde residirá mais perto do armazém de dados. Além disso, você pode movê-lo para o KNIME, uma ferramenta de software livre para construir e visualizar fluxos de dados desenvolvida na Universidade de Konstanz, na Alemanha. Este é o poder da PMML: permitir a interoperabilidade efetiva de modelos e soluções entre aplicativos. A PMML também permite proteger os usuários finais contra a complexidade associada a ferramentas e modelos estatísticos. Atualmente, é possível beneficiar-se de modelos preditivos implementados anteriormente na plataforma Zementis ADAPA diretamente a partir do Microsoft® Office Excel: basta selecionar os dados e clicar em Score.

Em seguida, mostrarei a aplicação da analítica preditiva e da PMML a 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 indica, envolve a capacidade de manter ou fazer alterações em materiais ou processos antes que aconteçam falhas ou acidentes — claramente uma forma de garantir a segurança. Tudo isso é possível por causa da disponibilidade de sensores pequenos e rentáveis que relatam o status atual de estruturas, como pontes e edifícios, e também de transformadores de energia, bombas de água e ar, comportas e válvulas.

Tive o prazer de trabalhar em um projeto que envolveu a detecção precoce de falhas em equipamentos rotativos. Sem a manutenção preditiva, seria necessário lidar com equipamentos quebrados depois da quebra. Em uma linha de produção industrial, isso significa parar toda a operação até que a máquina seja consertada ou substituída. Com a manutenção preditiva, é possível planejar antecipadamente (por exemplo: em horários de pouco movimento na produção ou em um ciclo de manutenção planejada) o reparo ou a substituição de equipamentos que estão prestes a quebrar. Para a detecção precoce de falhas nos equipamentos, minha equipe e eu enfrentamos desafios logo no começo. Os dados brutos de entrada consistiam somente em sinais de vibração capturados durante alguns segundos a cada hora. Considerando que várias unidades rotativas (e sensores) foram montadas juntos em um único rack, a qualidade do sinal era prejudicada devido à interferência dos equipamentos próximos.

Apesar do problema da interferência, conseguimos usar a mineração de dados e a análise para eliminar o ruído com êxito. Para fazer isso, usamos principalmente o R, um pacote estatístico de software livre que suporta a PMML. Em seguida, construímos vários modelos usando o IBM SPSS Statistics. O modelo final foi uma rede neural que prevê falhas nos equipamentos com um alto nível de exatidão. Como a solução foi representada totalmente em PMML, nós a implementamos facilmente na plataforma Zementis ADAPA, que já tínhamos instalado no site do cliente. Em seguida, nos concentramos nos desafios restantes para se certificar de que as entradas dos sensores chegariam à nossa solução, conforme o desejado. Também nos garantiram que as previsões geradas pelo modelo seriam usadas adequadamente como parte das diretrizes e dos processos de manutenção implementados no chão de fábrica.

Usando os modelos de previsão analítica como ferramenta de monitoramento, é possível evitar acidentes. Alertando a respeito de falhas antes que aconteçam, as soluções preditivas são um grande aliado para garantir um ambiente mais seguro. Para o segmento de mercado de petróleo e substâncias químicas, a analítica preditiva pode e deve ser usada como mais uma ferramenta de prevenção no repertório de medidas de segurança relacionadas à perfuração e exploração de petróleo.


Exportando a PMML

A PMML é exportada facilmente a partir de várias ferramentas estatísticas. Como mencionamos acima, as maiores empresas analíticas exportam e importam arquivos de PMML com os seus produtos. Por exemplo: no IBM SPSS Statistics, é possível exportar um modelo em PMML ao selecionar para exportar o modelo como um arquivo XML (a PMML é baseada em XML) depois de selecionar todos os parâmetros adequados do modelo. No caso de um modelo de rede neural, os parâmetros típicos são responsáveis pelo número de camadas e neurônios a ser usados na rede. Quando terminar essa fase e antes do treinamento com o modelo, selecione a guia Export para salvar o modelo. Salvar a sua solução como arquivo PMML é uma boa prática mesmo se isso não for definitivo. Isso permite manter um registro em PMML de todas as tentativas realizadas antes de chegar ao modelo final. Você e os outros integrantes da sua equipe podem usar esse registro para determinar a melhor opção de parâmetros e práticas.


Uma visão aprofundada sobre a PMML

Agora que você sabe o que é a PMML e por que é importante, está na hora de analisar a linguagem em si com mais profundidade. Como já foi mencionado acima, a estrutura da PMML reflete as oito etapas normalmente empregadas para construir uma solução preditiva — desde a definição dos campos de entrada de dados brutos, como na etapa do "dicionário de dados", até a verificação de que o modelo foi implementado corretamente, como na etapa de "verificação do modelo".

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

Listagem 1. O elementoDataDictionary .
<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 caso do campo Value, o intervalo define a faixa de valores válidos do infinito negativo até 60. Os valores acima de 60 são definidos como inválidos. (Embora não seja mostrado aqui, você usa o elemento de PMML MiningSchema para definir o tratamento adequado para valores inválidos e ausentes.) Considerando que o campo Element é de categoria, os valores válidos são listados explicitamente. Se a alimentação de dados para esse campo específico contém o elemento Iron, esse elemento é tratado como 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 de 3 neurônios, a camada oculta, de 2 neurônios e a camada de saída, que é um único neurônio. Como é de se esperar, a PMML pode representar completamente uma estrutura desse tipo.

Figura 2. Um modelo simples de rede neural no qual os dados são passados por uma sequência de camadas antes do cálculo da previsão
A simple neural network model in which data is passed through a sequence of layers before a prediction is computed

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. Definição de uma camada neural e dos seus neurônios em 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. A sua complexidade reflete a complexidade da técnica de modelagem que ela representa. Na verdade, funciona para eliminar a sensação de mistério e "caixa preta" que muitas pessoas têm em relação à analítica preditiva. Com a PMML, todas as soluções preditivas são representadas pelos mesmos elementos de linguagem, na mesma ordem.

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


Conclusão

A PMML possibilita a implementação instantânea de soluções preditivas. É o padrão de fato para representar modelos de análise preditiva e atualmente conta com o suporte de 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 se tornam fundamentais para entender todo esse contexto. Detecção de fraudes, recomendações de filmes, soluções médicas que salvam vidas e manutenção preditiva são alguns exemplos do que é possível fazer. Portanto, arregace as mangas e comece a trabalhar!

Recursos

Aprender

Obter produtos e tecnologias

  • IBM SPSS Statistics 18 (anteriormente conhecido como SPSS Statistics): coloque o poder da análise estatística avançada nas suas mãos. Esse conjunto abrangente de ferramentas suprirá as suas necessidades, não importando se você é um estatístico iniciante ou avançado.
  • ADAPA: experimente uma plataforma revolucionária de gerenciamento de decisão analítica preditiva, disponível como um serviço na nuvem ou no site. Fornece um ambiente seguro, rápido e escalável para implementar os modelos de mineração de dados e a lógica de negócios e usá-los efetivamente.
  • IBM WebSphere Application Server: construa, implemente e gerencie aplicativos de negócios e serviços de SOA robustos, ágeis e reutilizáveis de todos os tipos e reduza os custos de infraestrutura com o IBM WebSphere Application Server.
  • Versões de avaliação de produtos IBM: faça download ou explore as versões de avaliação on-line no IBM SOA Sandbox e obtenha 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=514042
ArticleTitle=O que é PMML?
publish-date=08272010