Análisis estadístico de datos médicos con IBM SPSS Modeler

Sistema de soporte de diagnóstico de cáncer

El paquete de software de IBM SPSS proporciona los principales algoritmos para reconocer los patrones identificados en la literatura científica con relación al análisis de datos estadísticos, como las redes neurales artificiales, y brinda soporte a máquinas de vectores, árboles de decisión y algoritmos de agrupación en clúster. Este artículo presenta una aplicación de IBM SPSS, específicamente el software IBM SPSS Modeler, como un sistema de soporte de diagnósticos médicos que ayuda en la identificación de tumores benignos y malignos. Para la creación de este artículo se emplearon procedimientos de pruebas sobre la base de un conjunto de datos científicos confiables disponibles en el repositorio http://archive.ics.uci.edu/ml/ (abierto al público en general). Este artículo fue publicado por primera vez por developerWorks Brazil y es un ejemplo de las ofertas globales de developerWorks.

Alex Torquato Souza Carneiro, Software Engineer, IBM Brasil

Alex Torquato Souza CarneiroAlex se graduó con una maestría en Ingeniería en Telecomputación en la Universidad Federal de Ceará (Brasil). Ha participado en varios proyectos de investigación y desarrollo en los segmentos de aprendizaje de maquinaria, minería de datos, visión computacional y procesamiento de señales e imágenes digitales desde 2005. Actualmente es ingeniero de software de IBM Software Group Brazil y trabaja con los productos de IBM SPSS. Alex también enseña Ciencias Computacionales en Universidade Ibirapuera (São Paulo/Brasil).



Marcelo Franceschi de Bianchi, Software Engineer, IBM Brasil

Marcelo Franceschi de BianchiMarcelo se graduó en Ciencias de la Computación en la Universidade Estadual de São Paulo (Brasil), se graduó en Ingeniería Computacional y se especializó en Telecomunicaciones y Sistemas Telemáticos en el Centro Universitário do Norte Paulista (Brasil). Además, obtuvo una maestría en Ingeniería Eléctrica en la Universidade de São Paulo, São Carlos (Brasil). Trabaja como analista de sistemas y desarrollador, y actualmente es ingeniero de software en IBM Software Group Brasil donde se desempeña en la marca de Information Management. También enseña Ciencias de la Computación en la Universidade Nove de Julho (São Paulo/Brasil).



28-01-2013

Introducción

En las últimas décadas, las computadoras y las ciencias computacionales han estado en constante evolución. Esto ha influido en varios segmentos de la industria, dificultando la capacidad de analizar los datos generados y almacenados en computadoras, frecuentemente dependientes de técnicas manuales. (Vea Recursos para obtener más información sobre la evolución de la tecnología.) La industria del cuidado de la salud, en particular, hospitales y clínicas, ha generado grandes cantidades de datos sin recursos apropiados para analizar dichos datos en forma rápida y eficiente. En este sentido, hay sistemas capaces de analizar grandes cantidades de datos y proporcionar información a usuarios de sistemas como las tendencias de comportamiento de datos o distintas clases de datos, lo cual contribuye en el proceso de toma de decisiones, que es la razón por la que se conocen como sistemas de soporte de decisiones. El sistema de soporte de decisiones clínicas (CDSS) es una categoría de sistema de soporte de diagnóstico específica para la industria médica. (Vea Resources para obtener más información sobre CDSS).

IBM ofrece, en su portfolio, el paquete de software de IBM SPSS (Statistical Package for Social Sciences), inicialmente concebido para analizar datos sociales, como el análisis de comportamientos humanos o tendencias. Sin embargo, su reconocimiento de patrones y algoritmos de análisis estadísticos permite aplicar SPSS en cualquier área o segmento que requiera la extracción de información relevante a partir de grandes cantidades de datos.

IBM SPSS Modeler como un sistema de clasificación de datos supervisados

Los procedimientos de pruebas realizados para este artículo se basaron en el software de SPSS Modeler, actualmente en la versión 14.1, con base en la meta de la implementación de un sistema de soporte de decisiones para ayudar en diagnósticos médicos mediante conceptos y algoritmos de clasificación supervisados. De acuerdo con la Clasificación de Tumores Malignos de TNM del Instituto Nacional del Cáncer, del Ministerio de Salud en Brasil (vea Resources), identificar adecuadamente los tumores en pacientes como benignos o malignos es un factor decisivo asociado con el éxito de los procedimientos del tratamiento.

El software SPSS Modeler, presentado en la Figura 1 abarca el entorno gráfico, lo que permite la creación de flujos compuestos de lectura, preparación, análisis, modelado y elementos de escritura de datos (conocidos como nodos).

Figura 1. Pantalla de SPSS ejecutando uno de los archivos de ejemplo
SPSS screen executing one of the example files

(Vea una versión más amplia de la Figura 1.)

La Figura 1 presenta un nodo de lectura, nodos de preparación de datos y nodos de análisis de datos, donde cada nodo de análisis representa un algoritmo de reconocimiento de patrón individual y junto con los nodos de análisis hay nodos asociados con modelos obtenidos, conocidos como nuggets. Cada nugget tiene un nodo de análisis asociado con conexiones puntuadas y no direccionales. Los nuggets contienen especificaciones del algoritmo asociado, aplicadas al conjunto de datos, que varían entre los distintos conjuntos de datos. Además de las especificaciones de algoritmos, los nuggets también proporcionan información con relación al rendimiento del algoritmo que se va a aplicar a un conjunto de datos determinado, como las tasas de éxito en problemas de clasificación o medidas de error en la agrupación en clúster o en problemas de regresión.

Los algoritmos empleados en este artículo son redes neurales de MLP y SVM que se utilizan como algoritmos de clasificación supervisados y cuya meta es generalizar cada una de las clases de datos. La Figura 2 presenta un gráfico de dispersión para un conjunto de datos bidimensionales que presentan tres clases distintas, y el resultado de un proceso de clasificación supervisada obtenido en función de un algoritmo similar a aquellos indicados.

Figura 2. Ejemplo de resultado de clasificación supervisada
Example of supervised classification result

(Vea una versión más amplia de la Figura 2.)

Las líneas que separan los datos representan las fronteras de decisión, lo que permite que cada clase de datos sea identificada como la región entre las fronteras. Cada algoritmo de clasificación supervisado presenta un resultado diferente en función de la posición de las fronteras de decisión, motivo por el cual es esencial evaluar más de un algoritmo antes de elegir la técnica más apropiada. (Vea Pattern recognition: statistical and neural methods en Resources.)

Introducción a los algoritmos de clasificación supervisados

La literatura científica se ocupa de varios algoritmos de clasificación supervisados, la mayoría de los cuales están implementados en el software IBM SPSS Modeler. Se seleccionaron los siguientes algoritmos para este procedimiento: redes neurales de MLP y SVM. En esta sección se detallan los conceptos de los dos algoritmos empleados en este artículo.

Redes neurales Perceptron de multicapas (MLP)

En 1999, Simon Haykin presentó los algoritmos de redes neurales artificiales con base en los principios de función de estructuras neurales biológicas, como se indica en la Figura 3. Las investigaciones de computación neural intentan organizar modelos matemáticos en forma similar a las estructuras y organizaciones de las neuronas en los cerebros biológicos para obtener capacidades similares de procesamiento, además de las capacidades inherentes de los cerebros biológicos, como el aprendizaje con base en ejemplos, prueba y error, y la generalización de conocimiento, entre muchas otras más. (Vea Redes neurales: una base integral en Resources

Figura 3. Estructura neural biológica presentando elementos estructurales de neuronas (dendritas, axón) y sinapsis
Biological neural structure presenting the structural elements of neurons (dendrites, axon) and synapse

Con base en el principio de un modelo similar al cerebro de un animal, una red neural comprende elementos responsables de actividades de procesamiento, conocidos como neuronas, que están conectados entre sí mediante la sinapsis y son capaces de procesar información proporcionada a la red con el tiempo.

Las neuronas artificiales pueden extraer información de datos de entrada mediante las conexiones establecidas entre ellas de acuerdo con el diseño de la capa en el cual las neuronas estén organizadas, donde la salida de una neurona compone la entrada de neuronas en la siguiente capa.

La Figura 4 presenta un modelo neural preceptrón artificial con N entradas ({x1, x2, …, xN}), en el cual cada entrada x1 tiene una sinapsis asociada w1, y una salida y. También hay un parámetro neural adicional, llamado w0, conocido como bias, que puede ser interpretado como el peso asociado con una entrada x0 = -1. La salida de la neurona (y) se basa en el producto entre pesos, incluido el bias (w0). La neurona entonces formaliza dichos valores mediante su función de transferencia, también conocida como función de activación1.

Figura 4. Modelo neural artificial con entradas {x0, x1, …, xN}, pesos {w0, w1, …, wN} y salida y
Artificial neuron model with inputs {x0, x1, …, xN}, weights {w0, w1, …, wN} and output y

El modelo neuronal artificial presentado es anticipativo, es decir, que las conexiones son dirigidas desde las entradas {x0, x1, …, xN} hacia la salida y de la neurona. La Figura 5 presenta el diseño de una red neural, en el cual hay dos capas de neuronas, una oculta y una de salida. Con relación a la red neural presentada en la Figura 5, cada neurona de la capa oculta está conectada con cada neurona de la capa de salida. Por lo tanto, las entradas de las neuronas de la capa de salida corresponden a las salidas de las neuronas de la capa oculta. El analista que utiliza el algoritmo de red neural artificial debe elegir cuántas neuronas serán utilizadas en la capa oculta, considerando el conjunto de datos de entrada, ya que con un número bajo de neuronas en la capa oculta es imposible generalizar los datos de cada clase y, por otra parte, un alto número de neuronas en la capa oculta ocasionará el fenómeno de sobreajuste, en el cual la red neural aprende exclusivamente datos de capacitación y no generaliza el aprendizaje para clases de datos.

Figura 5. Ejemplo de red neural con capa oculta
Example of neural network with hidden layer

El proceso de capacitación de red neural, el cual permite que el último procese datos de entrada, se realiza en función de un algoritmo de retropropagación, en el cual se determina un conjunto de datos de entrada para el cual se conoce la salida de red neural deseada. Dichos datos se presentan repetidamente a la red neural y se compara la salida proporcionada con la salida deseada, generando así un valor de error. El valor de error se aplica para ajustar pesos inversos de red neural, desde la salida hasta las entradas (retropropagadas), lo que reduce el error generado en cada iteración y, por lo tanto, promueve resultados más similares a la salida deseada. La metodología más común aplicada en literatura científica en caso de errores de clasificación de datos es utilizar una neurona de salida correspondiente a cada una de las clases de elementos de entrada. Esto permite que la neurona de capa de salida con el valor de activación más alto establezca la clase identificada por la red neural para cada elemento.

Además del algoritmo de red neural, este artículo también abarca el algoritmo de SVM.

Máquina de Vector de Soporte (SVM)

V. Vapnik, 2000, presenta el algoritmo de SVM como una técnica basada en encontrar un hiperplano de separación entre dos clases de datos, sin superposición, con el margen más alto posible de elementos de frontera para cada clase. La Figura 6 ilustra un caso en el cual los datos de entrada son bidimensionales y pertenecen a dos clases separadas por un hiperplano bidimensional (línea recta), representado por la línea entre dos conjuntos de puntos. (Vea La naturaleza de la teoría del aprendizaje estadístico en la sección Resources ).

Figura 6. Ejemplo de dos clases de datos bidimensionales separadas por una línea recta
Example of two two-dimensional data classes separated by a straight line

Los elementos de cada clase que estén más cercanos al hiperplano que separa ambas clases, elementos de las fronteras de cada clase, se conocen como vectores de soporte, ya que establecen la ruta del hiperplano y aíslan cada clase con el margen más grande posible.

Para situaciones en las cuales los datos no pueden ser separados por un hiperplano, como se indica en la Figura 7, el algoritmo de SVM propone la aplicación de una función de transformación no lineal en dichos datos, separándolos con un hiperplano en el espacio de entrada obtenido después de la transformación no lineal.

Figura 7. Ejemplo de dos clases de datos bidimensionales no separadas por una línea recta
Example of two two-dimensional data classes not separated by a straight line

El analista que usa el algoritmo de SVM debe elegir qué función de transformación no lineal es la más apropiada para un conjunto de datos determinado, junto con las propuestas de literatura científica disponibles en el software IBM SPSS Modeler: función gaussiana, función polinomia, función lineal o función sigmoide de logística. La Figura 8 presenta un resultado de clasificación posible obtenido con base en una función de transformación polinomia.

Figura 8. Resultado de clasificación posible con base en una función de transformación polinomia
Possible classification result based on a polynomial transformation function

La siguiente sección presenta el conjunto de datos de entrada para dos algoritmos utilizados en este artículo.


Presentación de base de datos

La base de datos utilizada en este artículo está disponible para el público en general en http://archive.ics.uci.edu/ml/, de la Amherst Massachusetts University (http://rexa.info/) en colaboración con la National Science Foundation (US). Junto con varias bases de datos disponibles, se eligió el archivo breast-cancer-wisconsin.data presentado en la Figura 9 para crear y analizar modelos estadísticos con el software IBM SPSS Modeler.

Figura 9. Archivo breast-cancer-wisconsin.data utilizado para crear y probar modelos estadísticos
The breast-cancer-wisconsin.data file used to create and test statistical models

Como se indica en la Figura 9, el archivo utilizado en este artículo está organizado en 11 columnas, separadas por comas, en la que cada línea representa datos recolectados de un paciente. La primera columna del archivo presenta un código de identificación para cada paciente; las siguientes 9 columnas representan los atributos utilizados para analizar cada paciente; y la última columna presenta un código para identificar el tipo de cáncer (2 para tumores benignos y 4 para tumores malignos). En general, el archivo contiene datos de 699 pacientes diagnosticados con tumores cancerígenos. De cada paciente, se analizan los siguientes atributos asociados con los tumores, obtenidos a partir de análisis médicos:

  • grosor del tumor
  • uniformidad del tamaño de las células
  • uniformidad de la forma de las células
  • adhesión marginal
  • tamaño de la célula epitelial simple
  • núcleos desnudos
  • cromatina suave
  • normalidad nucleosa
  • mitosis

Todos estos atributos son variables numéricas con valores entre 1 y 10, y representan información obtenida a través de exámenes de laboratorio o evaluaciones médicas.

La siguiente fase de este artículo es preparar dichos datos para que sean analizados por algoritmos de SPSS Modeler. La siguiente sección establece la forma en que se preparan y aplican los datos, así como la forma en que SPSS Modeler genera y analiza los modelos estadísticos de los algoritmos de MLP y SVM.


Metodología

La primera actividad realizada en este artículo es ajustar datos para facilitar la manipulación de los modelos estadísticos generados por SPSS. Para esto se convirtió el archivo breast-cancer-wisconsin.data en un archivo de hoja de cálculo electrónico2 (cancer.xls), como se muestra en la Figura 10.

Figura 10. Hoja de cálculo con datos de entrada para modelos estadísticos
Spreadsheet with input data for statistical models

(Vea una versión más amplia de la Figura 10.)

Una vez que los datos están organizados en una hoja de cálculo, pueden importarse y los elementos del software SPSS Modeler pueden manipularlo. La Figura 11 presenta el archivo continuo creado para importar, preparar y analizar los datos utilizados en este artículo.

Figura 11. Archivo continuo desarrollado para analizar los datos utilizados en este artículo, presentando los algoritmos de MLP y SVM
Stream file developed to analyze the data used in this article, introducing the MLP and SVM algorithms

El archivo presentado en la Figura 11 utiliza elementos de preparación de datos para crear modelos estadísticos:

  • Select: elemento utilizado para eliminar muestras que carecen de información
  • Derive (out): crea una columna que representa un tumor benigno = true y un tumor maligno = false
  • Type: elemento utilizado para ajustar los tipos de datos con base en elementos de análisis

Además de los elementos de entrada de datos, la preparación de datos y los algoritmos estadísticos, también hay elementos de análisis que proporcionan información como las tasas de éxito y las matrices de confusión para cada algoritmo.

Se probaron los elementos que contienen algoritmos estadísticos de MLP y SVM en función de las siguientes configuraciones:

  • SVM
    • Configuración predeterminada para parámetros fijos, Figura 12(a)
    • Funciones de transformación utilizadas: base radial, función sigmoide y polinomia
  • MLP
    • Configuración predeterminada para parámetros fijos, Figura 12 (b)
    • Número de neuronas en la capa oculta: 3, 6 y 10 (valores empíricos)
Figura 12. (a) Configuración predeterminada del algoritmo MLP y (b) Configuración predeterminada del algoritmo SVM
(a) default MLP algorithm configuration and (b) default SVM algorithm configuration

(Vea una versión más amplia de la Figura 12.)

La siguiente sección presenta resultados obtenidos mediante los algoritmos de MLP y SVM para cada configuración probada.


Resultados

Los resultados fueron generados utilizando 683 registros y eliminando 16 registros que carecían de datos. La eliminación de dichos registros se produce automáticamente con el elemento Select que filtra los registros con información faltante.

Cada uno de los algoritmos de MLP y SVM probados tiene aspectos y enfoques específicos; el analista debe probar distintas configuraciones para obtener los mejores resultados posibles con base en criterios adoptados.

Este artículo presenta tasas de éxito de cada algoritmo, correspondientes al porcentaje de tumores que fueron identificados correctamente en el conjunto de datos utilizado para realizar los procedimientos de pruebas; y la matriz de confusión, que indica el rendimiento de éxito y error del algoritmo, presentando clases de datos reales como una matriz, anteriormente conocidas, (tumores malignos o benignos), así como la forma en que el algoritmo clasificó los datos probados, tomando en cuenta los éxitos y los errores.

Resultados obtenidos con el algoritmo de MLP

El algoritmo de MLP tiene ciertos parámetros, tales como el factor alfa y las condiciones de interrupción de capacitación, que, para los propósitos de este artículo, están configurados con los valores predeterminados de SPSS Modeler. Sin embargo, el número de neuronas en la capa oculta fue especificado en 3, 6 y 10 (valores empíricos) para permitir el análisis de resultados bajo distintas arquitecturas de red neural. Los resultados obtenidos se presentan en las siguientes tablas.

  • 3 neuronas en la capa oculta
    Tasa de éxito: 97.51 %
    Matriz de confusión:(salida de algoritmo)FalseTrue
     (tumores malignos) False2345
    (tumores benignos) True12432
  • 6 neuronas en la capa oculta
    Tasa de éxito: 98.39 %
    Matriz de confusión:(salida de algoritmo)FalseTrue
     (tumores malignos) False2363
    (tumores benignos) True8436
  • 10 neuronas en la capa oculta
    Tasa de éxito: 96.78 %
    Matriz de confusión:(salida de algoritmo)FalseTrue
     (tumores malignos) False2318
    (tumores benignos) True14430

Resultados obtenidos con el algoritmo de SVM

El algoritmo de SVM varía de acuerdo con la función de transformación seleccionada. En este artículo, se presentan las siguientes funciones de transformación: función de base radial, función sigmoide y función polinomia. Cada función de transformación tiene su propio conjunto de características, como el factor sigma o una función sigmoide o el orden de una función polinomia.

  • función de base radial
    Tasa de éxito: 97.36 %
    Matriz de confusión:(salida de algoritmo)FalseTrue
     (tumores malignos) False2318
    (tumores benignos) True10434
  • función sigmoide
    Tasa de éxito: 71.01 %
    Matriz de confusión:(salida de algoritmo)FalseTrue
     (tumores malignos) False114125
    (tumores benignos) True73371
  • función polinomia3
    Tasa de éxito: 98.98 %
    Matriz de confusión:(salida de algoritmo)FalseTrue
     (tumores malignos) False2336
    (tumores benignos) True1443

Análisis de los resultados obtenidos

La mayor tasa de éxito fue obtenida utilizando el algoritmo de SVM basado en una función de transformación polinomia, de acuerdo con las especificaciones presentadas, en donde el algoritmo identificó correctamente el 98.98 % de los casos. Sin embargo, la tasa de éxito más baja también fue obtenida con el algoritmo de SVM, con una función de transformación sigmoide, en donde el algoritmo identificó correctamente el 71.01 % de los casos.

Más allá de alcanzar una tasa de éxito extremadamente similar, el algoritmo de MLP con 6 neuronas de capa oculta presenta una tasa de éxito más baja en comparación con el algoritmo de SVM con base en una función de transformación polinomia, ya que identificó correctamente el 98.39 % de los casos. Sin embargo, las matrices de confusión indican que el algoritmo de SVM presenta una tasa de error mayor para tumores malignos, es decir, identificó 5 casos de tumores malignos como si fueran tumores benignos, mientras que el algoritmo de MLP presenta una tasa de error mayor para tumores benignos, ya que identificó 8 casos de tumores benignos como si fueran tumores malignos.

La decisión de qué algoritmo es más apropiado, en este caso, recae en un experto del campo médico, ya que solo un profesional calificado de este tipo puede evaluar qué error implicaría mayores daños a los pacientes, teniendo en cuenta que un tumor benigno erróneamente identificado como un tumor maligno puede ocasionar daños psicológicos a los pacientes y que la mayoría de los tratamientos de tumores malignos tienen efectos secundarios graves, mientras que un diagnóstico erróneo de un tumor maligno, identificado como si fuera un tumor benigno, puede retrasar el tratamiento y hacer que el paciente pierda tiempo valioso en su proceso de recuperación. (Vea Clasificación de Tumores Malignos de TNM en Resources.)


Conclusión

Este artículo resume una aplicación del software SPSS Modeler que tiene como objetivo ayudar en el diagnóstico médico de enfermedades cancerígenas e identificar si los pacientes tienen cáncer maligno o benigno. Dadas las mayores tasas de éxito promedio, 98.39 % para el algoritmo de MLP y 98.98 % para el algoritmo de SVM, IBM SPSS Modeler se ha consolidado como una alternativa base para un sistema de soporte de diagnóstico completo, que puede ser implementado en hospitales, clínicas médicas o en cualquier otra institución del cuidado de la salud para minimizar la probabilidad de diagnósticos incorrectos.

_____________________________________________

1. La literatura científica tradicionalmente adopta funciones tangentes hiperbólicas o sigmoides logísticas como una función de activación de la neurona.
2. La elección de un patrón de archivo .xls (Excel) se basó en el conocimiento del médico del software Excel y en la compatibilidad con SPSS Modeler.
3. La función de trasformación polinomia utilizada en este caso es de orden 3.

Recursos

Aprender

Obtener los productos y tecnologías

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, Business analytics
ArticleID=856368
ArticleTitle=Análisis estadístico de datos médicos con IBM SPSS Modeler
publish-date=01282013