Modelos básicos de predicción

Feb 21, 2012   //   by jc.cantera   //   Minería de Datos  //  Comentarios desactivados en Modelos básicos de predicción

Una de las tareas más habituales en los proyectos de minería es generar tomas de decisiones respecto a nuevos datos, teniendo en cuenta los precedentes. Estas decisiones se basan en el interés de la predicción de los datos, enfocada a:

  • Decisión (Sí/No)
  • Ranking: probabilidad de que sea un caso u otro
  • Estimación del valor objetivo

Tras la preparación y limpieza de los datos en una fase previa de preparación de los datos o ETL (Extract, Transform and Load), llega la fase de minería de datos. Se utiliza el proceso SEMMA (Sample, Explore, Modify, Model, Asses o Muestreo, Exploración, Modificación, Modelado, Validación), que describimos a continuación:

  • Muestreo: Se muestrean los datos creando una o más tablas de datos. Las muestras han de ser del tamaño suficiente para contener información significativa. Es interesante dividir los datos en al menos dos subconjuntos: el de Entrenamiento y el de Validación. Si hay datos suficientes, puede crearse un tercer subconjunto para realizar el testeo del modelo.
    Uno de los aspectos con los que hay que tener cuidado es la dificultad de trabajar con literales, que crean muchos problemas, por las diferencias de escritura.
    Otro de los aspectos importantes es el balanceo de los datos. Debemos tener en cuenta cuál es el objetivo a estudiar, y cómo están distribuidos los datos, principalmente respecto a los verdaderos positivos que queremos analiZar, clasificar y predecir, respecto a los falsos positivos que queremos desechar. En este análisis previos de la distribución de la sensibilidad/especificIdad, deberemos seleccionar un porcentaje de casos más o menos balanceado (50-50%, 60-40%), para que las conclusiones tengan un mayor soporte y confianza. Este balanceo, además, indicará hacía qué lado los modelos tienden al sobreajuste, hacía el verdadero positivo o al falso positivo.
  • Exploración: Se buscan relaciones a priori entre los datos, tendencias no esperadas, anomalías, todo ello para una mejor comprensión.
    La fase de exploración se dedica a indagar en los datos buscando la relación entre diferentes valores del objetivo, su distribución, si hay problemas de datos perdidos o erróneos, si la distribución de las variables es normal (campana de gauss) o sesgada en algún sentido.
    Asímismo, se determinan qué variables son importantes. Variables fuertemente correlacionadas aportan información muy similar y por tanto serán redundantes. La eliminación de variables no relevantes implicará una menor complejidad en el modelo.
  • Modificación: El conjunto de datos se modifica creando, seleccionando y transformando variables. En función de lo observado en la fase anterior, habrá que modificar en uno u otro sentido el conjunto de datos.
    Por ejemplo, si se tienen datos perdidos (missing values), se debe diferenciar si son debidos a desconocimiento del dato, o a que su no imputación tenga significado distinto. La accion será distinta en un caso o en otro. La sustitución de los valores perdidos por la media, permite que no se altere la distribución de conjunto de valores en anchura, aunque sí en altura, de lo que resulta una distorsión menor. En el caso de que la distribución esté sesgada, es decir sea asimétrica será conveniente normalizarla de alguna manera, como por ejemplo, tratando los datos con una función logarítmica.
    Existe asimismo la posibilidad de “rellenar” los valores inexistentes con algoritmos de interpolación de dichos valores en relación a los valores más cercanos (knn), o en base a algoritmos de clustering, e incluso, aplicar un submodelo de predicción para la clasificación de los valores inexistentes.
  • Modelado: Se usan herramientas analíticas para buscar una combinación de datos que predigan con fiabilidad el resultado esperado.
    Se seleccionan varios modelos con los que se pretende predecir, o estimar el objetivo buscado. Los más básicos, aunque no por ello menos importantes ni potentes, son los árboles de decisión, las regresiones y las redes neuronales. En todos los casos se busca un modelo que no sea demasiado complejo. Un modelo demasiado complejo puede acercarse casi perfectamente al conjunto de datos, resultando un sobreajuste que perjudicará la predicción de nuevos datos de entrada.
  • Validación: Se valida la competencia de los diferentes modelos de predicción, utilizado gráficos y evaluando la fiabilidad de dichos modelos encontrados.
    En esta fase se determina la fiabilidad de los modelos, con distintos métodos que señalan el mayor o menor acierto como son el error cuadrático medio, el beneficio/pérdida o las curvas ROC. Para el caso de que el objetivo sea una decisión (0/1, S/N) los criterios de validación son:

    • Por aciertos: verdaderos positivos, verdaderos negativos (maximización) Por desaciertos: falsos positivos, falsos negativos (minimización)
    • Si se trata de establecer un ranking: Concordancia: Los casos se ordenan correctamente (maximización) Discordancia: Casos que se ordenan incorrectamente (minización)
    • Y si estamos tratando con una estimación: Minimización del error cuadrático

Modelos

Árbol de decisión

Este modelo produce sucesivas particiones de las variables de entrada, en dos o más ramas. Se busca la partición más significativa en cada nivel. Cada nivel realizará la partición por una variable, que puede ser una utilizada en niveles anteriores o no.

Árbol de decisión

Se puede desplegar y utilizar un árbol hasta una profundidad máxima, aunque de esto resultaría un sobreajuste, como se ha mencionado anteriormente.

Sin embargo, la manera de proceder para elaborar un árbol de decisión más sencillo y útil, es desarrollarlo por completo para, posteriormente, podarlo hasta encontrar un modelo útil de menor complejidad.

La forma de podarlo se realiza calculando la fiabilidad (según el criterio de validación establecido) de árboles de diferente profundidad, desde el más extenso al menor. Es decir, se van quitando ramas y evaluando la fiabilidad de cada subárbol así obtenido. Dentro de cada nivel de profundidad se elige el más fiable.

Posteriormente, el árbol seleccionado como modelo válido, será aquél que tenga la mayor fiabilidad con la menor complejidad (menos niveles). Es decir, si la fiabilidad de un modelo de 3 niveles y uno de 5 es la misma, se utilizará el árbol de 3 niveles.

Parámetros que se pueden configurar en un árbol de decisión:

  • Definir el máximo número de ramas Criterio de bifurcación Método de generación de subárboles
  • Tamaño del árbol: Profundidad, elementos por hoja.

Regresión

La regresión trata de encontrar una fórmula que proporcione el valor objetivo dadas las variables de entrada. Por ejemplo, en el caso de una regresión lineal:

Y = w0 + x1*w1 + x2*w2 + … + xN*wN (siendo xn la variable y wn el peso)

El modelo de regresión requiere un mayor tratamiento de los datos, puesto que:

  • Sólo trata con valores numéricos. Las categorías o clases hay que transformarlas en numéricos.
  • No puede manejar valores nulos o perdidos.
  • Es necesario detectar y manejar los valores extremos o atípicos
  • Hay que tener en cuenta las no linealidades en los datos

El origen de los valores perdidos puede ser variado: No ser una medida aplicable en el registro, proceder de una unión de tablas desemparejada, no haberse introducido el valor. Dependiendo del caso, se aplican diferentes remedios de reemplazamiento: métodos de distribución sintética, métodos de estimación.

En el caso de las variables de clase, se transforman en variables numéricas, una por clase (menos la última que es por descarte), con valores 0/1. Para reducir el número de clases, y por tanto de variables numéricas fantasma generadas, puede ser conveniente agrupar las clases en un número menor de conjuntos. Es decir, se reclasifican.

Para distribuciones extremas o inusuales, procede realizar transformaciones de escala y regularizaciones. La escala se transforma mediante funciones logarítmicas, por ejemplo.

Para el caso de contar con no linealidades, se pueden realizar regresiones polinómicas, que incluyen productos de variable.

La selección de variables que van a intervenir en la regresión es también importante. De ella depende la precisión y simplicidad del modelo obtenido, tal como se ha visto anteriormente. Existen diferentes algoritmos de selección:

  • Añadir variables según significancia, de una en una.
  • Contar con todo el conjunto al principio y eliminar sucesivamente las menos significativas
  • Una combinación de ambos, añadir una importante y quitar otra que lo sea menos.

En cualquiera de los métodos, el cambio del conjunto de variables que intervienen, hace que varíe su importancia relativa y que las que pueden parecer importantes al principio, dejen de serlo al añadir o quitar otras.

Si bien el árbol de decisión tiene una interpretación inmediata, la regresión es más difícil de interpretar. Los pesos descubiertos, nos dan la importancia relativa de la variable correspondiente en la explicación de la variable objetivo.

La explicación en caso de regresiones polinomiales es aún más complicada, ya que se hace difícil entender el significado de los productos de variables.

Red neuronal (Neural Net)

Una red neuronal trata de imitar el funcionamiento del cerebro humano. En el fondo, tras una red neuronal, lo que hay es una especie particular de regresión.

Red Neuronal

Las NN tienen los mismos problemas de predicción que las regresiones:

  • Gestión de valores desaparecidos
  • Manejo de valores extremos o inusuales
  • Uso de variables no numéricas (clases)

El más importante es el de los valores perdidos. Al igual que las regresiones, necesitan que existan todas las entradas del registro para una correcta estimación. La forma de arreglarlo es la misma que en las regresiones, mediante imputación de un valor.

El problema de los valores extremos o inusuales se ve mitigado por el uso interno de la función “tangente hiperbólica” en la activación de la unidades de la capa oculta. De esta forma los valores extremos acabarán cayendo entre -1 y 1.

Y otra de las dificultades de una NN es su interpretación, que es muy difícil.

Cuantas más variables intervengan en la NN, más complicado será su proceso de entrenamiento. Esto hace que sea importante seleccionar bien las variables útiles o importantes. Una posible forma de realizar esto es mediante la utilización de las variables que se han revelado útiles en otros modelos, como son los mencionados anteriormente del árbol de decisión, o la regresión.

Validación de modelos

Dependiendo del tipo de predicción que se quiera realizar, varían los métodos de validación:

  • Decisiones (0/1):
    • Acierto/Fallo
    • Beneficio/Pérdida
    • Inversión de umbrales
  • Rankings
    • Curvas ROC
    • Coeficiente Gini
  • Estimaciones
    • Error cuadrático medio
    • SBC/Verosimilitud

Descubrimiento de patrones

Otras posibilidades que nos ofrece la minería de datos, además de la elaboración de modelos de predicción, es la del descubrimiento de patrones. Encontramos las siguientes aplicaciones:

  • Reducción de datos: Se trata de encontrar una representación más compacta que la original, con menos variables. El método de análisis que se aplica es el de Segmentación (Clustering)
  • Detección de novedades: Estos métodos buscan la predicción de patrones de datos únicos o no observados previamente.
  • Perfilado: Similar al análisis de cluster. La idea es crear reglas que definan segmentos, basados a menudo en datos demográficos o de comportamiento.
  • Reglas de asociación: Se usa para analizar secuencias de datos en una transacción para encontrar combinaciones que ocurren (o que no ocurren) más (o menos) a menudo de lo esperado. Por ejemplo, en la cesta de la compra, los vendedores pueden descubrir combinaciones de productos que se compran a la vez.
  • Análisis secuenciales: Es una extensión de lo anterior para incluir la dimensión temporal en el análisis.

Hablaremos de esto en otros posts.

Artículos relacionados:

 

Comments are closed.