¿Qué es PMML?

Explore el poder de las analíticas predictivas y los estándares abiertos

El Predictive Model Markup Language (PMML) es el lenguaje estándar de facto utilizado para representar modelos de analítica predictiva. Permite que las soluciones predictivas sean fácilmente compartidas entre aplicaciones compatibles con PMML. Con las analíticas predictivas, la industria Química y del Petróleo crea soluciones para predecir averías de maquinaria y asegurar la seguridad. PMML está soportado por muchas de las principales herramientas de estadísticas. Como resultado, el proceso de poner a trabajar un modelo de analíticas predictivas es sencillo, ya que puede construirlo en una herramienta y desplegarlo de forma instantánea en otra. En un mundo en el que los sensores y la recolección de datos son cada vez más y más penetrantes, las analíticas predictivas y los estándares tales como PMML hacen que sea posible que las personas se beneficien de soluciones inteligentes que verdaderamente revolucionarán sus vidas.

Alex Guazzelli, VP of Analytics, Zementis, Inc.

Photo of Alex GuazzelliEl Dr. Alex Guazzelli es el VP de Analíticas en Zementis. Inc. donde es responsable de la tecnología central de desarrollo y las soluciones predictivas bajo ADAPA, una plataforma de decisiones basada en PMML. El Dr. Guazzelli tiene un Ph. D. en Ciencias de la Computación de la University of Southern California y es coautor del libro reciente titulado "PMML in Action: Unleashing the Power of Open Standards for Data Mining and Predictive Analytic".



06-04-2011

28 de septiembre de 2010 - En Recursos, enlace agregado para un nuevo artículo de PMML: "Representando soluciones predictivas en PMML: Pasar de los datos en bruto a las predicciones"

Introducción a PMML

Si alguien le pregunta si ha utilizado analíticas predictivas el día de hoy, probablemente contestará que no. Pero la verdad es que probablemente las utiliza diariamente sin darse cuenta de ello. Cada vez que pasa su tarjeta de crédito o la utiliza online, un modelo de analítica predictiva verifica la probabilidad de que esa transacción sea fraudulenta. Su usted renta DVDs online, es probable que un modelo de analítica predictiva le recomiende una película en particular. El hecho es que las analíticas predictivas son ya una parte integral de su vida y su aplicación está destinada a asistirlo aún más en el futuro.

Como los sensores en puentes, edificios, procesos industriales y maquinaria generan datos, las soluciones predictivas están destinadas a proporcionar un entorno más seguro en el que las predicciones le alerten de errores y problemas potenciales antes de que sucedan. Los sensores también son utilizados para supervisar humanos, como en el caso de pacientes en una Unidad de Cuidado Intensivo. IBM® y la University of Ontario Institute of Technology están actualmente trabajando juntos para implementar una solución de análisis de datos y predictiva para supervisar bebés prematuros en los que las lecturas biomédicas puedan ser utilizadas para detectar infecciones que pongan en peligro la vida hasta 24 horas antes de que normalmente sean observadas.

Pero, ¿pueden las analíticas predictivas solas dar sentido a todo esto? Depende. Los estándares abiertos definitivamente deben ser parte de la ecuación. Para que usted reciba todos los beneficios de las soluciones predictivas y los análisis de datos, los sistemas y aplicaciones necesitan poder intercambiar información fácilmente al seguir estándares. PMML permite que los modelos de analítica predictiva sean compartidos entre aplicaciones y sistemas.

La adopción de PMML por los principales proveedores de analíticas es un gran ejemplo de las compañías adoptando la interoperabilidad. IBM, SAS, Microstrategy, Equifax, NASA y Zementis son parte de Data Mining Group (DMG), el comité que está dando forma a PMML. Compañías de código abierto como KNIME y Rapid-lare también son parte del comité. PMML está aquí para dar forma al mundo de las analíticas predictivas y, por lo tanto, hacer del mundo predictivo un mejor lugar para usted.


Bases de PMML

PMML es el lenguaje estándar de facto utilizado para representar modelos de minería de datos. Modelos de analítica predictiva y modelos de minería de datos son términos utilizados para referirse a modelos matemáticos que utilizan técnicas de estadísticas para aprender patrones ocultos en grandes volúmenes de datos históricos. Los modelos de analítica predictiva utilizan el conocimiento adquirido durante la capacitación para predecir la existencia de patrones conocidos en datos nuevos. PMML le permite compartir fácilmente modelos de analítica predictiva entre distintas aplicaciones. Por lo tanto, usted puede capacitar un modelo en un sistema, expresarlo en PMML y moverlo hacia otro sistema donde pueda utilizarlo para predecir, por ejemplo, la probabilidad de fallas de maquinaria.

PMML es el pequeño cerebro de Data Mining Group, un comité liderado por proveedores compuesto de compañías comerciales y de analítica de código abierto (ver Recursos para un enlace). Como consecuencia, la mayoría de las herramientas líderes de minería de datos de hoy en día pueden exportar o importar PMML. Como un estándar maduro que ha evolucionado en los últimos 10 años, PMML puede representar no sólo las técnicas de estadística utilizadas para aprender patrones a partir de los datos, tales como redes neurales artificiales y árboles de decisión, sino también preprocesar datos de entrada en bruto y posprocesar la salida de modelo (ver Figura 1).

Figura 1. PMML incorpora preproceso de datos y postproceso de datos así como el modelo predictivo mismo
PMML incorpora preproceso de datos y postproceso de datos así como el modelo predictivo mismo

La estructura de un archivo de PMML sigue los pasos comúnmente utilizados para construir una solución predictiva que incluye:

  1. El Diccionario de Datos es un producto de la fase de análisis de datos que identifica y define cuáles campos de datos de entrada son los más útiles para resolver el problema a la mano. Estos pueden incluir campos numéricos, ordinales y de categorías.
  2. El Esquema de Minería define las estrategias para manejar valores faltantes o atípicos. Esto es extremadamente útil ya que muy a menudo, cuando los modelos son puestos a trabajar, los campos de datos de entrada requeridos pueden estar vacíos o mal presentados.
  3. Las Transformaciones de Datos definen los cálculos requeridos para preprocesar los datos de entrada en bruto en campos derivados. Los campos derivados (algunas veces conocidos como detectores de dispositivos) combinan o modifican los campos de entrada para obtener información más relevante. Por ejemplo, para predecir la presión de frenado utilizada para detener un automóvil, un modelo predictivo puede utilizar como una entrada en bruto la temperatura exterior y la presencia de agua (¿ha estado lloviendo?). Un campo derivado puede combinar estos dos campos para detectar la existencia de hielo en el camino. El capo de hielo es entonces utilizado como un ingreso directo al modelo prediciendo la cantidad de presión de frenado necesaria para detenerse.
  4. La Definición de Modelo define la estructura y los parámetros utilizados para construir el modelo. PMML cubre una variedad de técnicas de estadísticas. Por ejemplo, para representar una red neural, define todas las capas neurales así como los pesos de conexión entre las neuronas. Para un árbol de decisión, define los tres nodos así como predicados simples y compuestos.
  5. Las Salidas definen las salidas de modelo esperadas. Para una tarea de clasificación, las salidas pueden incluir la clase predicha así como las probabilidades asociadas con todas las clases posibles.
  6. Los Objetivos definen los pasos de postproceso a ser aplicados a la salida de modelo. Para una tarea de regresión, este paso permite que las salidas sean transformadas en puntuaciones (los resultados de la predicción) que los humanos puedan interpretar fácilmente.
  7. La Explicación del Modelo define las medidas de rendimiento obtenidas al pasar datos de prueba a través del modelo (en contraposición a los datos de capacitación). Estos incluyen correlaciones de campo, matriz de confusión, diagramas de ganancias y avances y gráficas de características operativas del receptor (ROC).
  8. La Verificación del Modelo define un conjunto de muestra de registros de datos de entrada junto con salidas de modelo esperadas. Este es un paso muy importante, ya que siempre que un modelo se mueve entre aplicaciones necesita pasar la prueba de similitud. Esto asegura que el nuevo sistema produzca las mismas salidas que el viejo cuando se presente con las mismas entradas. Siempre que este sea el caso, un modelo es considerado como verificado y listo para ponerse a trabajar.

Dado que PMML permite que las soluciones predictivas sean expresadas en su totalidad (incluyendo preproceso de datos, postproceso de datos y técnica de modelación), no es sorpresa que su estructura y elementos principales sean un reflejo de los ocho pasos descritos anteriormente.


Interoperabilidad: Compartiendo soluciones entre aplicaciones

Compartir modelos entre aplicaciones es clave para el éxito de las analíticas predictivas. Pero, para poder compartir un modelo, primero necesita construirlo.

Construcción del modelo

La construcción del modelo está compuesta de varias fases que involucran una fase de análisis exhaustivo de datos. En esta fase, usted divide y ordena los datos en bruto y selecciona las piezas de información más importantes para la construcción del modelo (lo que creará el Diccionario de Datos como se define en el paso 1 anteriormente). Puede incluso crear campos derivados que transformen y combinen los datos en bruto en nuevas y creativas formas (paso 3). Los campos en bruto derivados son entonces utilizados para la capacitación del modelo. Como resultado de este proceso, sólo una fracción de los campos de datos que observa durante la fase de análisis es realmente utilizada para construir el modelo final (paso 4). Una vez que lo ha construido, el rendimiento del modelo es medido contra un conjunto de datos de prueba (paso 7). Todo este proceso puede durar varias semanas, dependiendo de la complejidad del problema que está tratando de resolver. Normalmente, construye varios modelos, algunas veces utilizando distintas técnicas de estadísticas y comparando unas con otras. El modelo final puede incluir una técnica única o una mezcla de varias técnicas que resultan en un archivo de PMML que contiene varios modelos.

Despliegue del modelo

El despliegue del modelo, donde una solución predictiva es puesta a trabajar de forma efectiva, es generalmente una tarea llevad a cabo por una aplicación que está muy separada del proceso de construcción del modelo. Los entornos de despliegue normalmente están estrechamente integrados con los sistemas y procesos para los que la solución predictiva fue diseñada para supervisar. Sin embargo, con la disponibilidad de conexiones de Internet más rápidas, estos sistemas no necesitan estar físicamente cerca. La integración puede ser llevada a cabo fácilmente con servicios web mediante Internet. En este caso, usted puede beneficiarse del advenimiento de la computación en nube, donde puede escalar el poder de proceso tanto como sea necesario para cumplir con requisitos en tiempo real y para hacer frente a grandes cantidades de datos.

Cuando pone un modelo de analítica predictiva a trabajar, normalmente espera que haga su trabajo durante meses o años hasta que necesite ser renovado, seguramente debido al deterioro en el rendimiento. En ese caso, otro modelo es construido y desplegado en lugar del anterior. Muy a menudo, sin embargo, los modelos necesitan ser renovados con frecuencia —lo que enfatiza la necesidad de la interoperabilidad y los estándares abiertos.

Modelos compartidos

Sin un lenguaje como PMML, desplegar soluciones predictivas es difícil y pesado, ya que distintos sistemas representan sus cálculos en distintas formas. Cada vez que usted mueve un modelo de un sistema a otro, pasa a través de un largo proceso de traducción que es propenso a errores y a representaciones incorrectas. Con PMML, el proceso es sencillo. Recientemente, me sorprendió descubrir que una importante compañía financiera necesitó de seis meses a un año para desplegar los modelos en los que sus científicos de minería de datos trabajaron duro para construir. Usted puede desplegar en minutos con PMML.

Desde la aplicación A a la B a la C, PMML permite que las soluciones predictivas sean fácilmente compartidas y puestas a trabajar tan pronto como la fase de construcción del modelo sea completada. Por ejemplo, puede construir un modelo en IBM SPSS Statistics y beneficiarse al instante de la computación en nube donde puede desplegarlo en ADAPA, la plataforma de decisiones predictivas de Zementis (ver Recursos para enlaces). O puede moverlo a IBM InfoSphere™ donde residirá cerca del almacén de datos. Además, puede moverlo a KNIME, una herramienta de código abierto para construir y visualizar flujos de datos de la University of Konstanz en Alemania. Este es el poder de PMML: habilitar la verdadera interoperabilidad de modelos y soluciones entre aplicaciones. PMML también le permite proteger a usuarios finales de la complejidad asociada con herramientas y modelos de estadísticas. Hoy, se puede beneficiar de modelos predictivos que han sido previamente desplegados en la plataforma ADAPA de Zementis directamente desde Microsoft® Office Excel: sólo seleccione los datos y haga clic en Score.

A continuación ilustraré la aplicación de analíticas predictivas y PMML para un campo conocido como mantenimiento predictivo.


Mantenimiento predictivo: Aplicaciones de PMML y minería de datos

El mantenimiento predictivo, como su nombre sugiere, involucra poder mantener o realizar cambios a materiales o procesos antes de que los errores y accidentes sucedan, una camino claro hacia garantizar la seguridad. Todo esto es posible debido a la disponibilidad de sensores pequeños y costeables que informan el estado actual de estructuras tales como puentes y edificios así como de maquinaria tal como los transformadores de energía, las bombas de agua y aire, puertas y válvulas.

Tuve el placer de trabajar en un proyecto que involucró la detección temprana de errores en el equipo de rotación. Sin el mantenimiento predictivo, tendrá que tratar con equipo descompuesto después de que suceda el hecho. En una línea de producción industrial, esto implica detener toda la operación hasta que la máquina sea reparada o sustituida. Con el mantenimiento predictivo, puede planificar la reparación o sustitución del equipo que está a punto de fallar con anticipación, digamos durante momentos de producción baja o como parte de un ciclo de mantenimiento planificado. Debido a la detección temprana de errores en el equipo, mi equipo y yo enfrentamos los retos desde el principio. Los datos de entrada en bruto consistieron sólo en señales de vibración capturadas durante unos pocos segundos cada hora. Ya que muchas unidades (y sensores) de rotación fueron ensambladas juntas en un solo bastidor, la calidad de la señal estaba comprometida debido a interferencia del equipo vecino.

A pesar del problema de interferencia, pudimos utilizar la minería de datos y el análisis de datos para anular el ruido exitosamente. Para eso, utilizamos principalmente R, un paquete de estadísticas de código abierto que soporta PMML. Después procedimos a construir varios modelos utilizando IBM SPSS Statistics. El modelo final fue una red neural que predijo los errores del equipo con un alto grado de precisión. Dado que la solución fue enteramente representada en PMML, la desplegamos fácilmente en la plataforma ADAPA de Zementis, que ya habíamos instalado en el sitio del cliente. Entonces nos concentramos en los retos restantes en asegurar que las entradas del sensor nos llevaran a nuestra solución como queríamos. También nos aseguramos de que las predicciones generadas por el modelo fueran utilizadas apropiadamente como parte de los procesos y guías de mantenimiento implementados en la fábrica.

Utilizando modelos de analítica predictiva como herramienta de supervisión, puede evitar que sucedan los accidentes. Al alertarlo sobre errores antes de que sucedan, las soluciones predictivas son un gran aliado para conseguir un entorno más seguro. Para la industria Química y del Petróleo, las analíticas predictivas pueden y deben ser utilizadas como otra herramienta de prevención en el repertorio de medidas de seguridad que rodean la perforación y exploración de un pozo petrolero.


Exportando PMML

PMML es fácilmente exportado desde muchas herramientas de estadísticas. Como se mencionó anteriormente, las principales compañías analíticas exportan e importan archivos de PMML con sus productos. Por ejemplo, en IBM SPSS Statistics, puede exportar un modelo de PMML al seleccionar exportar el modelo como un archivo XML (PMML está basado en XML) después de que seleccione todos los parámetros de modelo apropiados. Para un modelo de red neural, los parámetros típicos se toman en cuenta para el número de capas y neuronas a ser utilizadas en la red. Cuando haya terminado con esta fase y antes de la capacitación del modelo, seleccione la etiqueta Export para salvar su modelo. Salvar su solución como un archivo de PMML es una buena práctica aún si no es la versión final. Esto le permite mantener un registro de PMML de todos los intentos tomados antes de alcanzar el modelo final. Usted y otras personas en su equipo pueden utilizar este registro para determinar la mejor selección de parámetros y prácticas.


Una mirada a fondo en PMML

Ahora que ya sabe lo que es PMML y por qué es importante, es momento de mirar más profundamente el lenguaje mismo. Como se mencionó anteriormente, su estructura refleja los ocho pasos comúnmente utilizados para construir una solución predictiva, desde definir los campos de datos de entrada en bruto como en el paso de "Diccionario de Datos", hasta verificar que el modelo ha sido desplegado correctamente como en el paso de "Verificación del Modelo".

El Listado 1 muestra la definición del elemento DataDictionary de PMML para una solución con tres campos: un campo numérico de entrada llamado Value, un campo categórico de entrada llamado Element y un campo numérico de salida llamado Risk.

Listado 1. El 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>

Tome en cuenta que, para el campo Value, el intervalo define el rango de valores válidos de menos infinito hasta 60. Los valores sobre 60 son definidos como inválidos. (Aunque no se muestra aquí, usted utiliza el elemento MiningSchema de PMML para definir el tratamiento apropiado para valores inválidos y faltantes.) Dado que el campo Element es categórico, los valores válidos son explícitamente listados. Si la alimentación de datos para este campo específico contiene el elemento Iron, el elemento es tratado como un valor inválido.

La Figura 2 muestra la representación gráfica de un modelo de red neural en el que la capa de entrada está compuesta de 3 neuronas, la capa oculta, 2 neuronas y la capa de salida que es una sola neurona. Como usted lo esperaría, PMML puede representar completamente tal estructura.

Figura 2. Un modelo de red neural simple en el que los datos son pasados a través de una secuencia de capas antes de que una predicción sea calculada
Un modelo de red neural simple en el que los datos son pasados a través de una secuencia de capas antes de que una predicción sea calculada

El Listado 2 muestra la definición de la capa oculta y sus neuronas así como los pesos de conexión de neuronas en la capa de entrada (0, 1 y 2) y neuronas en la capa oculta (3 y 4).

Listado 2. Definiendo una capa neural y sus neuronas en 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>

PMML no es ciencia espacial. Su complejidad refleja la complejidad de la técnica de modelado que representa. De hecho, realmente funciona para revelar el secreto y la sensación de caja negra que muchas personas tienen cuando se trata de analíticas predictivas. Con PMML, cualquier solución predictiva es representada por los mismos elementos de lenguaje en el mismo orden.

Dentro de una compañía, PMML puede ser utilizado como la lengua franca no sólo entre aplicaciones, sino también entre divisiones, proveedores de servicios y proveedores externos. En este caso de ejemplo, se convierte en el estándar que define un proceso único y claro para el intercambio de soluciones predictivas.


Conclusión

PMML habilita el despliegue instantáneo de soluciones predictivas. Es estándar de facto para representar modelos de analítica predictiva y está actualmente soportado por todas las herramientas principales comerciales y de código abierto. Como más sensores están siendo desplegados y más datos siendo generados, las analíticas predictivas y los estándares abiertos como PMML son la clave para dar sentido a todo esto. La detección de fraudes, las recomendaciones de películas, las soluciones médicas que salvan vidas y el mantenimiento predictivo son sólo algunos ejemplos de lo que es posible. ¡Así que hay que subirse las mangas y ponerse a trabajar!

Recursos

Aprender

Obtener los productos y tecnologías

  • IBM SPSS Statistics 18 (antes SPSS Statistics): Ponga el poder de los análisis estadísticos avanzados en sus manos. Sea usted un principiante o un analista de estadísticas experimentado, su conjunto integral de herramientas se adaptará a sus necesidades.
  • ADAPA: Intente una plataforma revolucionaria de gestión de decisiones de analíticas predictivas, disponible como un servicio en la nube o en el sitio. Proporciona un entorno seguro, rápido y escalable para desplegar sus modelos de minería de datos y lógica empresarial y realmente utilizarlos.
  • IBM WebSphere Application Server: Construya, despliegue y gestione aplicaciones empresariales y servicios de SOA robustos, ágiles y reutilizables de todos los tipos mientras reduce los costos de infraestructura de aplicación con IBM WebSphere Application Server.
  • Versiones de evaluación de producto IBM: Descargue o explore las versiones de prueba online en el IBM SOA Sandbox y tenga en manos los productos de middleware y herramientas de desarrollo de aplicaciones de DB2®, Lotus®, Rational®, Tivoli® y WebSphere®.

Comentar

Comentarios

developerWorks: Ingrese

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


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

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

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Industries
ArticleID=645446
ArticleTitle=¿Qué es PMML?
publish-date=04062011