PRIVADO ABACO CHICLAYO COMPUTACIN E INFORMTICA PROYECTO PARA OPTAR EL TITULO DE PROFESIONAL TCNICO EN COMPUTACIN E INFORMTICA
TEMA: DATA MINING
PRESENTADO POR: DIAZ
ASESOR: ING.
CHICLAYO, MARZO 2013 2
DEDICATORIA Con todo mi cario y mi amor a mi padre, mi madre; que hicieron todo en la vida para que yo pudiera lograr mis sueos, por motivarme y darme la mano cuando senta que el camino se terminaba, a ustedes por siempre mi corazn y mi agradecimiento. A mi esposa quien me apoyo y alent para continuar, cuando pareca que me iba a rendir. A mis hijos por ser lo ms grande y valioso que Dios me ha regalado, quienes son mi fuente de inspiracin y la razn que me impulsa a salir adelante.
3
AGRADECIMIENTO Le agradezco a Dios por haberme acompaado y guiado a lo largo de mi carrera, por ser mi fortaleza en momentos de felicidad y por brindarme una vida llena de aprendizajes, experiencia y sobre todo felicidad. Le agradezco al ISTP Abaco, por haberme formado profesionalmente. A todos los profesores del ISTP Abaco por todos los conocimientos que me transmitieron, a todos ellos muchas gracias.
4
PRESENTACIN No existe una nica definicin del trmino Data Mining. Se puede decir que DM se refiere a un conjunto de mtodos estadsticos que proporcionan informacin (correlaciones o patrones) cuando se dispone de muchos datos (de aqu viene el nombre Minera de Datos). Esta idea de DM lleva a la siguiente estructura de conocimiento: Datos + Estadstica Informacin El smbolo tiene el siguiente sentido: los datos estn bien recogidos y la estadstica bien aplicada. Segn algunos autores, el Data Mining es aquella parte de la estadstica (principalmente estadstica no paramtrica) que se usa para problemas que se presentan actualmente en Anlisis de Datos. Los problemas actuales se diferencian de los clsicos en que el nmero de datos a analizar es mucho mayor y, como consecuencia, las tcnicas estadsticas clsicas no pueden ser aplicadas. Generalmente, el Data Mining es el proceso de analizar datos desde diferentes perspectivas con el objetivo de resumir los datos en segmentos de informacin tiles. Esta informacin que puede ser usada para incrementar rditos o beneficios, reducir costos, etc. El Data Mining permite a los usuarios analizar datos desde diferentes dimensiones o ngulos, categorizndolos y resumiendo las relaciones identificadas. Adems el Data Mining permite trabajar con grandes cantidades de observaciones (varios millones) sin ningn inconveniente. Tambin permite tratar una gran cantidad de variables predictivas (hasta varios millares). Esto ltimo es de gran utilidad para seleccionar variables (determinar las ms tiles dentro de una gran masa). 5
INTRODUCCIN La minera de datos usa principios estadsticos contrastados para detectar patrones en los datos, ayudndole a tomar decisiones inteligentes sobre problemas complejos. La aplicacin de los algoritmos de minera de datos de Analysis Services a los datos le permitir predecir tendencias, identificar patrones, crear reglas y recomendaciones, analizar la secuencia de eventos en conjuntos de datos complejos y obtener nuevos puntos de vista. En SQL Server 2012, la minera de datos es eficaz y accesible, y est integrada con las herramientas preferidas de los usuarios para el anlisis y la creacin de informes. Analysis Services proporciona una plataforma integrada para las soluciones que incorporan la minera de datos. Puede usar datos relacionales o de cubo para crear soluciones de Business Intelligence con anlisis predictivos.
6
Contenido AGRADECIMIENTO ................................................................................................................ 3 PRESENTACIN ...................................................................................................................... 4 INTRODUCCIN ..................................................................................................................... 5 TABLA DE ILUSTRACIONES ................................................................................................ 9 NDICE DE TABLAS ............................................................................................................. 10 CAPITULO I: ASPECTOS FORMALES ............................................................................... 11 1.1 OBJETIVOS DE LA MONOGRAFA ..................................................................... 12 1.1.1 OBJETIVO GENERAL ..................................................................................... 12 1.1.2 OBJETIVOS ESPECFICOS ............................................................................. 12 1.2 JUSTIFICACIN E IMPORTANCIA ...................................................................... 12 1.2.1 JUSTIFICACION ............................................................................................... 12 1.2.2 IMPORTANCIA ................................................................................................ 12 1.3 LIMITACIONESDE LA INVESTIGACIN ........................................................... 13 CAPITULO II: MARCO TERICO ....................................................................................... 14 2.1 Antecedentes de estudios ........................................................................................... 15 2.1.1 Hacia la Ingeniera de Data Mining: Un modelo de proceso para el desarrollo de proyectos (Gonzalo, Marbn, Gonzles, & Segovia, Noviembre de 2010) ..................... 15 2.1.2 Data Mining: Conceptos y Tcnicas. (Han & Kamber, 2007) ........................... 15 2.1.3 Data Mining: Conceptos y Tcnicas. (Ignacio La Torre & Garrido, 2011) ....... 16 2.1.4 Data Mining: Aplicaciones Empresariales. (Ignacio La Torre & Garrido, 2011) 16 2.2 Caractersticas clave de la minera de datos .............................................................. 19 2.3 Conceptos de minera de datos .................................................................................. 19 2.3.1 Definir el problema ............................................................................................ 21 2.3.2 Preparar los datos ............................................................................................... 22 2.3.3 Explorar los datos ............................................................................................... 23 2.3.4 Generar modelos ................................................................................................ 24 2.3.5 Explorar y validar los modelos ........................................................................... 25 2.3.6 Implementar y actualizar los modelos ................................................................ 26 2.4 Algoritmos de minera de datos (Analysis Services: Minera de datos) .................... 27 2.4.1 Elegir el algoritmo correcto ................................................................................ 28 2.4.2 Algoritmo de asociacin de Microsoft ............................................................... 29 2.4.3 Algoritmo de clsteres de Microsoft .................................................................. 37 2.4.4 Algoritmo de rboles de decisin de Microsoft ................................................. 43 7
2.4.5 Algoritmo de regresin lineal de Microsoft ....................................................... 54 2.4.6 Algoritmo de regresin logstica de Microsoft .................................................. 60 2.4.7 Algoritmo Bayes naive de Microsoft ................................................................. 66 2.4.8 Algoritmo de red neuronal de Microsoft ............................................................ 72 2.4.9 Algoritmo de clsteres de secuencia de Microsoft ............................................. 83 2.4.10 Algoritmo de serie temporal de Microsoft ......................................................... 93 2.5 Estructuras de minera de datos ............................................................................... 111 2.5.1 Definir una estructura de minera de datos ....................................................... 112 2.5.2 Orgenes de datos para estructuras de minera de datos ................................... 112 2.5.3 Columnas de la estructura de minera de datos ................................................ 112 2.5.4 Dividir los datos en conjuntos de entrenamiento y de prueba .......................... 113 2.5.5 Habilitar la obtencin de detalles ..................................................................... 113 2.5.6 Procesar estructuras de minera de datos .......................................................... 113 2.5.7 Ver estructuras de minera de datos ................................................................. 114 2.5.8 Utilizar modelos de minera de datos con estructuras de minera de datos ...... 114 2.5.9 Columnas de la estructura de minera de datos ................................................ 114 2.5.10 Tipos de datos ................................................................................................... 115 2.5.11 Tablas anidadas ................................................................................................ 116 2.5.12 Obtencin de detalles en estructuras de minera de datos ................................ 121 2.6 Modelos de minera de datos ................................................................................... 122 2.6.1 Arquitectura del modelo de minera de datos ................................................... 123 2.6.2 Definir modelos de minera de datos ................................................................ 124 2.6.3 Propiedades del modelo de minera de datos ................................................... 124 2.6.4 Columnas del modelo de minera de datos ....................................................... 125 2.6.5 Procesar modelos de minera de datos ............................................................. 125 2.6.6 Columnas del modelo de minera de datos ....................................................... 126 2.6.7 Tipos de contenido ........................................................................................... 127 2.6.8 Propiedades del modelo de minera de datos .................................................. 129 2.6.9 Contenido del modelo de minera de datos ...................................................... 136 2.6.10 Obtencin de detalles en modelos de minera de datos .................................... 142 2.6.11 Filtros para modelos de minera ....................................................................... 144 2.6.12 Sintaxis y ejemplos del filtro de modelos (Analysis Services: Minera de datos) 144 2.7 Prueba y validacin ................................................................................................. 146 2.7.1 Conjuntos de datos de entrenamiento y de prueba ........................................... 147 2.7.2 Grfico de mejora respecto al modelo predictivo ............................................ 150 8
2.7.3 Grfico de beneficios ....................................................................................... 155 2.7.4 Matriz de clasificacin ..................................................................................... 158 2.7.5 Validacin cruzada .......................................................................................... 164 2.8 Consultas de minera de datos ................................................................................. 176 2.8.1 Descripcin de las consultas de minera de datos ............................................ 176 2.8.2 Herramientas e interfaces de consulta .............................................................. 176 2.8.3 Consultas para los diferentes tipos de modelos ................................................ 177 2.8.4 Requisitos ......................................................................................................... 178 2.9 Soluciones de minera de datos ............................................................................... 178 2.9.1 Soluciones relacionales y multidimensionales ................................................. 178 2.9.2 Implementar soluciones de minera de datos ................................................... 179 2.9.3 Proyectos de minera de datos .......................................................................... 179 CAPITULO IV: CONCLUSIONES Y RECOMENDACIONES .......................................... 185 3.1 CONCLUSIONES ................................................................................................... 186 3.2 RECOMENDACIONES ......................................................................................... 187 Bibliografa ............................................................................................................................. 188 GLOSARIO DE TRMINOS ................................................................................................ 189
9
TABLA DE ILUSTRACIONES Ilustracin 1. Relaciones existentes entre cada paso del proceso y las tecnologas de Microsoft SQL Server ............................................................................................................................... 20 Ilustracin 2. Definir el problema ............................................................................................ 21 Ilustracin 3. Preparar los datos ............................................................................................... 22 Ilustracin 4. Explorar los datos ............................................................................................... 23 Ilustracin 5. Generar modelos ................................................................................................ 24 Ilustracin 6. Explorar y validar los modelos .......................................................................... 25 Ilustracin 7. Implementar y actualizar los modelos ................................................................ 26 Ilustracin 8. Ejemplo de una serie de reglas en un conjunto de datos .................................... 30 Ilustracin 9. Modelo de asociacin para minera de datos ..................................................... 35 Ilustracin 10. Representacin grfica de Clster A y B ......................................................... 37 Ilustracin 11. Representacin de los conjuntos de datos ........................................................ 38 Ilustracin 12. Modelo de agrupacin en clsteres .................................................................. 40 Ilustracin 13. Grfico Edad - Nmero de Clientes ................................................................. 45 Ilustracin 14. Relacin poblacin - edad ................................................................................ 45 Ilustracin 15. Diagrama de datos continuos ........................................................................... 46 Ilustracin 16. Punto de no linealidad en modelo de rbol de decisin ................................... 46 Ilustracin 17. Modelo de rbol de decisin ............................................................................ 51 Ilustracin 18. Representacin de los datos en un modelo de regresin lineal ........................ 54 Ilustracin 19. Modelo de minera de datos para regresin lineal ........................................... 58 Ilustracin 20. Resultador de la columna de prediccn. .......................................................... 62 Ilustracin 21. Resultados de la regresin logstica ................................................................. 62 Ilustracin 22. Modelo de regresin logstica .......................................................................... 65 Ilustracin 23. Resultados de la aplicacin del Algoritmo de Bayes ....................................... 68 Ilustracin 24. Modelo Bayes naive ......................................................................................... 71 Ilustracin 25. Raz de un modelo de red neuronal .................................................................. 79 Ilustracin 26. Modelo de minera de datos para los modelos de agrupacin en clsteres ...... 87 Ilustracin 27. Modelo de serie temporal. Combinacin de los datos de origen y predictivos 93 Ilustracin 28. Comparacin de los algoritmos ARTXP y ARIMA con valores predeterminados ..................................................................................................................... 100 Ilustracin 29. Comparacin de los algoritmos ARTXP y ARIMA con valores personalizados ................................................................................................................................................ 100 Ilustracin 30. Comparacin del modelo ARTXP y ARIMA ................................................ 101 Ilustracin 31. Estructura de Minera de Datos ...................................................................... 111 Ilustracin 32. Ejemplo de una tabla anidada ........................................................................ 116 Ilustracin 33. Tipo de distribucin normal ........................................................................... 119 Ilustracin 34. Tipo de distribucin Log normal .................................................................... 119 Ilustracin 35. Tipo de distribucin uniforme ........................................................................ 120 Ilustracin 36. Contenido del modelo de minera de datos .................................................... 123 Ilustracin 37. Estructura de Minera de Datos ...................................................................... 165
10
NDICE DE TABLAS No se encuentran elementos de tabla de ilustraciones.
11
CAPITULO I: ASPECTOS FORMALES 12
1.1 OBJ ETI VOS DE LA MONOGRAF A 1.1.1 OBJETIVO GENERAL Investigar sobre los principios bsicos sobre Data Mining (Minera de Datos) usando herramientas Microsoft. 1.1.2 OBJETIVOS ESPECFICOS - Investigar sobre los conocimientos bsicos de un Data Mining y su aplicacin usando herramientas Microsoft. - Investigar sobre los algoritmos de minera de datos usando herramientas Microsoft. - Investigar sobre la estadstica aplicada en Data Mining usando herramientas Microsoft. - Investigar sobre la estructura bsica de un Data Mining. 1.2 J USTI FI CACI N E I MPORTANCI A 1.2.1 JUSTIFICACION Conocer de forma bsica los principios bsicos del Data Mining y su aplicacin usando herramientas Microsoft. 1.2.2 IMPORTANCIA La importancia est basada en que nos permite conocer, reconocer y describir en forma bsica un Data Mining en el desarrollo de aplicaciones bsicas para la resolucin de problemas, utilizando herramientas de software, lo cual facilitar el entendimiento y la aplicacin usando herramientas Microsoft. 13
1.3 LI MI TACI ONESDE LA I NVESTI GACI N Se ha considerado como un limitante la: El investigador desde hace mucho tiempo no ha investigado sobre temas informticos. Falta de dominio en el rea de Base de datos, en especial en el rea de Anlisis de Datos. Se encontr informacin muy tcnica sobre el tema. No tener una computadora personal. No tener acceso constante a internet. La falta de dinero. Falta de tiempo reducido para llevar a cabo la investigacin. 14
CAPITULO II: MARCO TERICO 15
2.1 Antecedentes de estudios 2.1.1 Hacia la Ingeniera de Data Mining: Un modelo de proceso para el desarrollo de proyectos (Gonzalo, Marbn, Gonzles, & Segovia, Noviembre de 2010) Autor: Gonzalo Mariscal scar Marbn ngel L. Gonzlez Javier Segovia Editorial: Universidad Politcnica de Madrid. Fecha de Publicacin: 06 de Noviembre de 2011. Relacin: Describe conceptos bsicos sobre los Modelos de Proceso para Data Mining. Resumen: El nmero, la variedad y la complejidad de los proyectos de Data Mining o de descubrimiento de conocimiento en bases de datos (KDD) se ha incrementado en los ltimos aos rpidamente, lo que hace que los procesos de desarrollo tengan que estandarizarse para conseguir resultados que se puedan integrar, reutilizar e intercambiar en un futuro. Los proyectos de Data Mining se estn convirtiendo en proyectos de ingeniera, por lo que los modelos de proceso actuales, como CRISP-DM, deben ser revisados para incorporar el punto de vista de la ingeniera. En este trabajo se presenta una redefinicin de CRISP-DM utilizando conceptos e ideas de los modelos de proceso de Ingeniera del Software, para de esta forma tratar de conseguir un modelo de proceso estndar para Ingeniera de Data Mining.. 2.1.2 Data Mining: Conceptos y Tcnicas. (Han & Kamber, 2007) Autor: Jiawei Han. Micheline Kamber. Editorial: Universidad Simon Fraser. Fecha de Publicacin: 2007. Relacin: Describe conceptos bsicos del procesamiento de datos. Resumen: El procesamiento de datos incluye varias tareas para su procesamiento, estas incluyen: disminucin del ruido en los datos, tratamiento en los datos mediante 16
diferentes mtodos, integracin de los datos, normalizacin de los datos, entre otros mtodos. 2.1.3 Data Mining: Conceptos y Tcnicas. (Ignacio La Torre & Garrido, 2011) Autor: Gervilla Garca, Elena Jimnez Lpez, Rafael Montao Moreno, Juan Jos Ses Abad, Albert Cajal Blasco, Berta Palmer Pol, Alfonso Editorial: Universidad Internacional Islas Baleares. Fecha de Publicacin: 2011. Relacin: Describe conceptos bsicos del procesamiento de datos. Resumen: El presente trabajo pretende principalmente acercar a los investigadores del campo de las drogodependencias una metodologa de anlisis de datos orientada al descubrimiento de conocimiento en bases de datos (KDD). El KDD es un proceso que consta de una serie de fases, la ms caracterstica de las cuales se denomina Data Mining (DM), en la que se aplican diferentes tcnicas de modelado para detectar patrones y relaciones en los datos. Se analizan los factores comunes y diferenciadores de las tcnicas DM ms ampliamente utilizadas, desde una visin principalmente metodolgica, y ejemplificando su uso con datos provenientes del consumo de alcohol en adolescentes y su posible relacin con variables de personalidad (N=7030). Aunque la precisin global obtenida (% de predicciones correctas) es muy similar en los tres modelos analizados, las redes neuronales generan el modelo ms preciso (64.1%), seguidas de los rboles de decisin (62.3%) y Naive Bayes (59.9%). 2.1.4 Data Mining: Aplicaciones Empresariales. (Ignacio La Torre & Garrido, 2011) Autor: Ignacio La Torre, Jos Garrido Llus Editorial: Universidad Internacional Islas Baleares. Fecha de Publicacin: 2011. Relacin: Describe conceptos bsicos del procesamiento de datos. 17
Resumen: El Data Mining, o extraccin de informacin til y no evidente de grandes bases de datos, es una tecnologa con un gran potencial para ayudar a las empresas a focalizar sus esfuerzos alrededor de la informacin importante contenida en sus data warehouses. Analiza las ideas bsicas que sustentan el Data Mining y, ms concretamente, la utilizacin de redes neuronales como herramienta estadstica avanzada. Presenta tambin dos ejemplos reales de la aplicacin de estas tcnicas: predicciones burstiles y prediccin de propagacin de fuego en cables elctricos. 18
CAPITULO III: DESARROLLO Y CONTENIDO DE LA MONOGRAFA 2.2 Caractersticas clave de la minera de datos SQL Server proporciona las siguientes caractersticas para las soluciones integradas de minera de datos: Varios orgenes de datos: no es necesario crear un almacenamiento de datos o un cubo OLAP para realizar la minera de datos. Puede usar datos tabulares de proveedores externos, hojas de clculo e incluso archivos de texto. Tambin puede realizar fcilmente la minera de los cubos OLAP creados en Analysis Services. Sin embargo, no puede usar datos de una base de datos en memoria. Limpieza de los datos integrados, administracin de datos y ETL: Data Quality Services proporcionan herramientas avanzadas para la generacin de perfiles y la limpieza de datos. Se puede usar Integration Services para generar procesos ETL de limpieza de datos, y tambin para tareas de creacin, procesamiento, entrenamiento y actualizacin de modelos. Varios algoritmos personalizables: adems de proporcionar algoritmos como la agrupacin en clsteres, las redes neuronales y los rboles de decisin, la plataforma le permite desarrollar sus propios complementos con algoritmos personalizados. Infraestructura de prueba del modelo: pruebe los modelos y los conjuntos de datos usando herramientas estadsticas tan importantes como la validacin cruzada, las matrices de clasificacin, los grficos de mejora respecto al modelo predictivo y los grficos de dispersin. Cree y administre fcilmente conjuntos de prueba y entrenamiento. Consultas y obtencin de detalles: cree consultas de prediccin, recupere patrones y estadsticas de modelos, y obtenga informacin detallada de los datos de los casos. Herramientas de cliente: adems de los estudios de desarrollo y diseo proporcionados por SQL Server, puede usar los Complementos de minera de datos para Excel para crear, consultar y examinar los modelos. O bien crear clientes personalizados, incluidos servicios web. Compatibilidad con el lenguaje de scripting y API administrada: todos los objetos de minera de datos son completamente programables. El scripting es posible mediante MDX, XMLA o las extensiones de PowerShell para Analysis Services. Use el lenguaje DMX (Extensiones de minera de datos) para crear rpidamente consultas y scripts. Seguridad e implementacin: proporciona seguridad basada en roles a travs de Analysis Services, incluyendo permisos distintos para la obtencin de detalles del modelo y los datos de la estructura. Fcil implementacin de modelos en otros servidores, de forma que los usuarios puedan tener acceso a los patrones o realizar predicciones. 2.3 Conceptos de minera de datos La minera de datos es el proceso de detectar la informacin procesable de los conjuntos grandes de datos. Utiliza el anlisis matemtico para deducir los patrones y tendencias que existen en los datos. Normalmente, estos patrones no se pueden detectar mediante la exploracin tradicional de los datos porque las relaciones son demasiado complejas o porque hay demasiado datos. Estos patrones y tendencias se pueden recopilar y definir como un modelo de minera de datos. Los modelos de minera de datos se pueden aplicar en escenarios como los siguientes: 20
Pronstico: clculo de las ventas y prediccin de las cargas del servidor o del tiempo de inactividad del servidor. Riesgo y probabilidad: eleccin de los mejores clientes para la distribucin de correo directo, determinacin del punto de equilibrio probable para los escenarios de riesgo, y asignacin de probabilidades a diagnsticos y otros resultados. Recomendaciones: determinacin de los productos que se pueden vender juntos y generacin de recomendaciones. Bsqueda de secuencias: anlisis de los artculos que los clientes han introducido en el carrito de la compra y prediccin de posibles eventos. Agrupacin: distribucin de clientes o eventos en grupos de elementos relacionados, y anlisis y prediccin de afinidades. La generacin de un modelo de minera de datos forma parte de un proceso mayor que incluye desde la formulacin de preguntas acerca de los datos y la creacin de un modelo para responderlas, hasta la implementacin del modelo en un entorno de trabajo. Este proceso se puede definir mediante los seis pasos bsicos siguientes: 1. Definir el problema 2. Preparar los datos 3. Explorar los datos 4. Generar modelos 5. Explorar y validar los modelos 6. Implementar y actualizar los modelos El siguiente diagrama describe las relaciones existentes entre cada paso del proceso y las tecnologas de Microsoft SQL Server que se pueden usar para completar cada paso.
Ilustracin 1. Relaciones existentes entre cada paso del proceso y las tecnologas de Microsoft SQL Server El proceso que se ilustra en el diagrama es cclico, lo que significa que la creacin de un modelo de minera de datos es un proceso dinmico e iterativo. Una vez que ha explorado los datos, puede que descubra que resultan insuficientes para crear los modelos de minera de datos adecuados y que, por tanto, debe buscar ms datos. O bien, puede generar varios modelos y descubrir entonces que no responden adecuadamente al problema planteado cuando los defini y que, por tanto, debe volver a definir el problema. Es posible que deba actualizar los modelos 21
una vez implementados debido a que haya ms datos disponibles. Puede que haya que repetir cada paso del proceso muchas veces para crear un modelo adecuado. La minera de datos de Microsoft SQL Server ofrece un entorno integrado para crear y trabajar con modelos de minera de datos. Este entorno incluye SQL Server Development Studio, que contiene algoritmos de minera de datos y herramientas de consulta que facilitan la generacin de una solucin completa para una serie de proyectos, y SQL Server Management Studio, que contiene herramientas que permiten examinar modelos y administrar objetos de minera de datos. 2.3.1 Definir el problema El primer paso del proceso de minera de datos, tal como se resalta en el siguiente diagrama, consiste en definir claramente el problema y considerar formas de usar los datos para proporcionar una respuesta para el mismo.
Ilustracin 2. Definir el problema Este paso incluye analizar los requisitos empresariales, definir el mbito del problema, definir las mtricas por las que se evaluar el modelo y definir los objetivos concretos del proyecto de minera de datos. Estas tareas se traducen en preguntas como las siguientes: Qu est buscando? Qu tipos de relaciones intenta buscar? Refleja el problema que est intentando resolver las directivas o procesos de la empresa? Desea realizar predicciones a partir del modelo de minera de datos o solamente buscar asociaciones y patrones interesantes? Qu resultado o atributo desea predecir? Qu tipo de datos tiene y qu tipo de informacin hay en cada columna? En caso de que haya varias tablas, cmo se relacionan? Necesita limpiar, agregar o procesar los datos antes de poder usarlos? Cmo se distribuyen los datos? Los datos son estacionales? Los datos representan con precisin los procesos de la empresa? 22
Para responder a estas preguntas, puede que deba dirigir un estudio de disponibilidad de datos para investigar las necesidades de los usuarios de la empresa con respecto a los datos disponibles. Si los datos no abarcan las necesidades de los usuarios, podra tener que volver a definir el proyecto. Tambin debe considerar las maneras en las que los resultados del modelo se pueden incorporar en los indicadores de rendimiento clave (KPI) que se utilizan para medir el progreso comercial. 2.3.2 Preparar los datos El segundo paso del proceso de minera de datos, como se indica en el siguiente diagrama, consiste en consolidar y limpiar los datos identificados en el paso Definir el problema.
Ilustracin 3. Preparar los datos Los datos pueden estar dispersos en la empresa y almacenados en formatos distintos; tambin pueden contener incoherencias como entradas que faltan o incorrectas. Por ejemplo, los datos pueden mostrar que un cliente adquiri un producto incluso antes que se ofreciera en el mercado o que el cliente compra regularmente en una tienda situada a 2.000 kilmetros de su casa. La limpieza de datos no solamente implica quitar los datos no vlidos o interpolar valores que faltan, sino tambin buscar las correlaciones ocultas en los datos, identificar los orgenes de datos que son ms precisos y determinar qu columnas son las ms adecuadas para el anlisis. Por ejemplo, debera utilizar la fecha de envo o la fecha de pedido? Qu influye ms en las ventas: la cantidad, el precio total o un precio con descuento? Los datos incompletos, los datos incorrectos y las entradas que parecen independientes, pero que de hecho estn estrechamente correlacionadas, pueden influir en los resultados del modelo de maneras que no espera. Por consiguiente, antes de empezar a generar los modelos de minera de datos, debera identificar estos problemas y determinar cmo los corregir. En la minera de datos, por lo general se trabaja con un conjunto de datos de gran tamao y no se puede examinar la calidad de los datos de cada transaccin; por tanto, es posible que necesite usar herramientas de generacin de perfiles de datos, y de limpieza y filtrado automtico de datos, como las que se 23
proporcionan en Integration Services, Microsoft SQL Server 2012 Master Data Services o SQL Server Data Quality Services para explorar los datos y buscar incoherencias. Es importante tener en cuenta que los datos que se usan para la minera de datos no necesitan almacenarse en un cubo de procesamiento analtico en lnea (OLAP), ni siquiera en una base de datos relacional, aunque puede usar ambos como orgenes de datos. Puede realizar minera de datos mediante cualquier origen de datos definido como origen de datos de Analysis Services. Por ejemplo, archivos de texto, libros de Excel o datos de otros proveedores externos. 2.3.3 Explorar los datos El tercer paso del proceso de minera de datos, como se resalta en el siguiente diagrama, consiste en explorar los datos preparados.
Ilustracin 4. Explorar los datos Debe conocer los datos para tomar las decisiones adecuadas al crear los modelos de minera de datos. Entre las tcnicas de exploracin se incluyen calcular los valores mnimos y mximos, calcular la media y las desviaciones estndar, y examinar la distribucin de los datos. Por ejemplo, al revisar el mximo, el mnimo y los valores de la media se podran determinar que los datos no son representativos de los clientes o procesos de negocio, y que por consiguiente debe obtener ms datos equilibrados o revisar las suposiciones que son la base de sus expectativas. Las desviaciones estndar y otros valores de distribucin pueden proporcionar informacin til sobre la estabilidad y exactitud de los resultados. Una desviacin estndar grande puede indicar que agregar ms datos podra ayudarle a mejorar el modelo. Los datos que se desvan mucho de una distribucin estndar se podran sesgar o podran representar una imagen precisa de un problema de la vida real, pero dificultar el ajustar un modelo a los datos. Al explorar los datos para conocer el problema empresarial, puede decidir si el conjunto de datos contiene datos defectuosos y, a continuacin, puede inventar una estrategia para corregir los problemas u obtener una descripcin ms profunda de los comportamientos que son tpicos de su negocio. 24
Puede usar herramientas como Master Data Services para sondear los orgenes de datos disponibles y determinar su disponibilidad para la minera de datos. Puede usar herramientas como SQL Server Data Quality Services, o el generador de perfiles de datos de Integration Services, para analizar la distribucin de los datos y solucionar problemas, como la existencia de datos incorrectos o la falta de datos. Cuando tenga definido los orgenes, combnelos en una vista del origen de datos con el Diseador de vistas del origen de datos de SQL Server Data Tools. Tenga en cuenta que cuando se crea un modelo, Analysis Services crea automticamente resmenes estadsticos de los datos contenidos en l, que puede consultar para su uso en informes o anlisis. 2.3.4 Generar modelos El cuarto paso del proceso de minera de datos, como se resalta en el siguiente diagrama, consiste en generar el modelo o modelos de minera de datos. Usar los conocimientos adquiridos en el paso Explorar los datos para definir y crear los modelos.
Ilustracin 5. Generar modelos Deber definir qu columnas de datos desea que se usen; para ello, crear una estructura de minera de datos. La estructura de minera de datos se vincula al origen de datos, pero en realidad no contiene ningn dato hasta que se procesa. Al procesar la estructura de minera de datos, Analysis Services genera agregados y otra informacin estadstica que se puede usar para el anlisis. Cualquier modelo de minera de datos que est basado en la estructura puede utilizar esta informacin. Para obtener ms informacin acerca de cmo se relacionan las estructuras de minera de datos con los modelos de minera de datos. Antes de procesar la estructura y el modelo, un modelo de minera de datos simplemente es un contenedor que especifica las columnas que se usan para la entrada, el atributo que est prediciendo y parmetros que indican al algoritmo cmo procesar los datos. El procesamiento de un modelo a menudo se denomina entrenamiento. El entrenamiento hace referencia al proceso de aplicar un algoritmo matemtico concreto a los datos de la estructura para extraer patrones. Los patrones que encuentre en el proceso de entrenamiento dependern de la 25
seleccin de los datos de entrenamiento, el algoritmo que elija y cmo se haya configurado el algoritmo. SQL Server 2012 contiene muchos algoritmos diferentes. Cada uno est preparado para un tipo diferente de tarea y crea un tipo distinto de modelo. Para obtener una lista de los algoritmos proporcionados en SQL Server 2012. Tambin puede utilizar los parmetros para ajustar cada algoritmo y puede aplicar filtros a los datos de entrenamiento para utilizar un subconjunto de los datos, creando resultados diferentes. Despus de pasar los datos a travs del modelo, el objeto de modelo de minera de datos contiene los resmenes y modelos que se pueden consultar o utilizar para la prediccin. Puede definir un modelo nuevo mediante el Asistente para minera de datos de SQL Server Data Tools o con el lenguaje DMX (Extensiones de minera de datos). Es importante recordar que siempre que los datos cambian, debe actualizar la estructura y el modelo de minera de datos. Al actualizar una estructura de minera de datos volvindola a procesar, Analysis Services recupera los datos del origen, incluido cualquier dato nuevo si el origen se actualiza dinmicamente, y vuelve a rellenar la estructura de minera de datos. Si tiene modelos que estn basados en la estructura, puede elegir actualizar estos, lo que significa que se vuelven a entrenar con los nuevos datos, o pueden dejar los modelos tal cual. 2.3.5 Explorar y validar los modelos El quinto paso del proceso de minera de datos, como se resalta en el siguiente diagrama, consiste en explorar los modelos de minera de datos que ha generado y comprobar su eficacia.
Ilustracin 6. Explorar y validar los modelos Antes de implementar un modelo en un entorno de produccin, es aconsejable probar si funciona correctamente. Adems, al generar un modelo, normalmente se crean varios con configuraciones diferentes y se prueban todos para ver cul ofrece los resultados mejores para su problema y sus datos. Analysis Services proporciona herramientas que ayudan a separar los datos en conjuntos de datos de entrenamiento y pruebas, para que pueda evaluar con precisin el rendimiento de todos los modelos en los mismos datos. El conjunto de datos de entrenamiento se utiliza para 26
generar el modelo y el conjunto de datos de prueba para comprobar la precisin del modelo mediante la creacin de consultas de prediccin. En SQL Server 2012 Analysis Services (SSAS), estas particiones se pueden hacer automticamente mientras se genera el modelo de minera de datos. Puede explorar las tendencias y patrones que los algoritmos detectan mediante los visores del diseador de minera de datos de SQL Server Data Tools. Tambin puede comprobar si los modelos crean predicciones correctamente mediante herramientas del diseador como el grfico de mejora respecto al modelo predictivo y la matriz de clasificacin. Para comprobar si el modelo es especfico de sus datos o se puede utilizar para realizar inferencias en la poblacin general, puede utilizar la tcnica estadstica denominada validacin cruzada para crear automticamente subconjuntos de los datos y probar el modelo con cada uno. Si ninguno de los modelos que ha creado en el paso Generar modelos funciona correctamente, puede que deba volver a un paso anterior del proceso y volver a definir el problema o volver a investigar los datos del conjunto de datos original. 2.3.6 Implementar y actualizar los modelos El ltimo paso del proceso de minera de datos, como se resalta en el siguiente diagrama, consiste en implementar los modelos que funcionan mejor en un entorno de produccin.
Ilustracin 7. Implementar y actualizar los modelos Una vez que los modelos de minera de datos se encuentran en el entorno de produccin, puede llevar acabo diferentes tareas, dependiendo de sus necesidades. Las siguientes son algunas de las tareas que puede realizar: Use los modelos para crear predicciones que luego podr usar para tomar decisiones comerciales. SQL Server pone a su disposicin el lenguaje DMX, que podr usar para crear consultas de prediccin, y el Generador de consultas de prediccin, que le ayudar a generar las consultas. Crear consultas de contenido para recuperar estadsticas, reglas o frmulas del modelo. Incrustar la funcionalidad de minera de datos directamente en una aplicacin. Puede incluir Objetos de administracin de anlisis (AMO), que contiene un conjunto de 27
objetos que la aplicacin pueda utilizar para crear, cambiar, procesar y eliminar estructuras y modelos de minera de datos. Tambin puede enviar mensajes XML for Analysis (XMLA) directamente a una instancia de Analysis Services. Utilizar Integration Services para crear un paquete en el que se utilice un modelo de minera de datos para dividir de forma inteligente los datos entrantes en varias tablas. Por ejemplo, si una base de datos se actualiza continuamente con clientes potenciales, puede utilizar un modelo de minera de datos junto con Integration Services para dividir los datos entrantes en clientes que probablemente compren un producto y clientes que probablemente no compren un producto. Crear un informe que permita a los usuarios realizar consultas directamente en un modelo de minera de datos existente. Actualizar los modelos despus de la revisin y anlisis. Cualquier actualizacin requiere que vuelve a procesar los modelos. Actualizar dinmicamente los modelos, cuando entren ms datos en la organizacin, y realizar modificaciones constantes para mejorar la efectividad de la solucin debera ser parte de la estrategia de implementacin. 2.4 Algoritmos de minera de datos (Analysis Services: Minera de datos) Un algoritmo de minera de datos es un conjunto de clculos y reglas heursticas que permite crear un modelo de minera de datos a partir de los datos. Para crear un modelo, el algoritmo analiza primero los datos proporcionados, en busca de tipos especficos de patrones o tendencias. El algoritmo usa los resultados de este anlisis para definir los parmetros ptimos para la creacin del modelo de minera de datos. A continuacin, estos parmetros se aplican en todo el conjunto de datos para extraer patrones procesables y estadsticas detalladas. El modelo de minera de datos que crea un algoritmo a partir de los datos puede tomar diversas formas, incluyendo: Un conjunto de clsteres que describe cmo se relacionan los casos de un conjunto de datos. Un rbol de decisin que predice un resultado y que describe cmo afectan a este los distintos criterios. Un modelo matemtico que predice las ventas. Un conjunto de reglas que describen cmo se agrupan los productos en una transaccin, y las probabilidades de que dichos productos se adquieran juntos. Microsoft SQL Server Analysis Services proporciona varios algoritmos que puede usar en las soluciones de minera de datos. Estos algoritmos son implementaciones de algunas de las metodologas ms conocidas usadas en la minera de datos. Todos los algoritmos de minera de datos de Microsoft se pueden personalizar y son totalmente programables, bien mediante las API proporcionadas o bien mediante los componentes de minera de datos de SQL Server Integration Services. Tambin puede usar algoritmos de minera de datos desarrollados por terceros que cumplan la especificacin OLE DB para minera de datos, o desarrollar algoritmos personalizados que se pueden registrar como servicios para usarlos a continuacin en el marco de la minera de datos de SQL Server. 28
2.4.1 Elegir el algoritmo correcto La eleccin del mejor algoritmo para una tarea analtica especfica puede ser un desafo. Aunque puede usar diferentes algoritmos para realizar la misma tarea, cada uno de ellos genera un resultado diferente, y algunos pueden generar ms de un tipo de resultado. Por ejemplo, puede usar el algoritmo rboles de decisin de Microsoft no solo para la prediccin, sino tambin como una forma de reducir el nmero de columnas de un conjunto de datos, ya que el rbol de decisin puede identificar las columnas que no afectan al modelo de minera de datos final. 2.4.1.1 Elegir un algoritmo por tipo Analysis Services incluye los siguientes tipos de algoritmos: Algoritmos de clasificacin, que predicen una o ms variables discretas, basndose en otros atributos del conjunto de datos. Algoritmos de regresin, que predicen una o ms variables continuas, como las prdidas o los beneficios, basndose en otros atributos del conjunto de datos. Algoritmos de segmentacin, que dividen los datos en grupos, o clsteres, de elementos que tienen propiedades similares. Algoritmos de asociacin, que buscan correlaciones entre diferentes atributos de un conjunto de datos. La aplicacin ms comn de esta clase de algoritmo es la creacin de reglas de asociacin, que pueden usarse en un anlisis de la cesta de compra. Algoritmos de anlisis de secuencias, que resumen secuencias o episodios frecuentes en los datos, como un flujo de rutas web. Sin embargo, no hay ninguna razn por la que deba limitarse a un algoritmo en sus soluciones. Los analistas experimentados usarn a veces un algoritmo para determinar las entradas ms eficaces (es decir, variables) y luego aplicarn un algoritmo diferente para predecir un resultado concreto basado en esos datos. La minera de datos de SQL Server le permite generar varios modelos en una nica estructura de minera de datos, por lo que en una solucin de minera de datos puede usar un algoritmo de clsteres, un modelo de rboles de decisin y un modelo de Bayes nave para obtener distintas vistas de los datos. Tambin puede usar varios algoritmos dentro de una nica solucin para realizar tareas independientes: por ejemplo, podra usar la regresin para obtener predicciones financieras, y un algoritmo de red neuronal para realizar un anlisis de los factores que influyen en las ventas. 2.4.1.2 Elegir un algoritmo por tarea Con el fin de ayudarle a seleccionar un algoritmo para su uso con una tarea especfica, la tabla siguiente proporciona sugerencias para los tipos de tareas para las que se usa normalmente cada algoritmo. Ejemplos de tareas Algoritmos de Microsoft que se pueden usar Predecir un atributo discreto Marcar los clientes de una lista de posibles compradores como clientes con buenas o malas perspectivas. Algoritmo de rboles de decisin de Microsoft Algoritmo Bayes naive de Microsoft 29
Calcular la probabilidad de que un servidor genere un error en los prximos 6 meses. Clasificar la evolucin de los pacientes y explorar los factores relacionados. Algoritmo de clsteres de Microsoft Algoritmo de red neuronal de Microsoft Predecir un atributo continuo Pronosticar las ventas del ao prximo. Predecir los visitantes del sitio a partir de tendencias histricas y estacionales proporcionadas. Generar una puntuacin de riesgo a partir de datos demogrficos. Algoritmo de rboles de decisin de Microsoft Algoritmo de serie temporal de Microsoft Algoritmo de regresin lineal de Microsoft Predecir una secuencia Realizar un anlisis clickstream del sitio web de una empresa. Analizar los factores que dan como resultado errores en el servidor. Capturar y analizar secuencias de actividades durante las visitas de pacientes externos, para formular las prcticas recomendadas en las actividades comunes. Algoritmo de clsteres de secuencia de Microsoft Buscar grupos de elementos comunes en las transacciones Usar el anlisis de la cesta de la compra para determinar la posicin del producto. Sugerir a un cliente la compra de productos adicionales. Analizar los datos de una encuesta a los visitantes a un evento, para descubrir qu actividades o stands estaban correlacionados con el fin de programar actividades futuras. Algoritmo de asociacin de Microsoft Algoritmo de rboles de decisin de Microsoft Buscar grupos de elementos similares Crear grupos de pacientes con perfiles de riesgo en funcin de atributos como datos demogrficos y comportamientos. Analizar usuarios mediante patrones de bsqueda y compra de productos. Identificar servidores con caractersticas de uso similares. Algoritmo de clsteres de Microsoft Algoritmo de clsteres de secuencia de Microsoft 2.4.2 Algoritmo de asociacin de Microsoft Este algoritmo de Microsoft es un algoritmo de asociacin suministrado por Analysis Services, til para los motores de recomendacin. Un motor de recomendacin recomienda productos a los clientes basndose en los elementos que ya han adquirido o en los que tienen inters. El algoritmo de asociacin de Microsoft tambin resulta til para el anlisis de la cesta de compra. Los modelos de asociacin se generan basndose en conjuntos de datos que contienen identificadores para casos individuales y para los elementos que contienen los casos. Un grupo 30
de elementos de un caso se denomina un conjunto de elementos. Un modelo de asociacin se compone de una serie de conjuntos de elementos y de las reglas que describen cmo estos elementos se agrupan dentro de los casos. Las reglas que el algoritmo identifica pueden utilizarse para predecir las probables compras de un cliente en el futuro, basndose en los elementos existentes en la cesta de compra actual del cliente. El siguiente diagrama muestra una serie de reglas en un conjunto de elementos.
Ilustracin 8. Ejemplo de una serie de reglas en un conjunto de datos Como muestra el diagrama, el algoritmo de asociacin de Microsoft puede encontrar potencialmente muchas reglas dentro de un conjunto de datos. El algoritmo usa dos parmetros, soporte y probabilidad, para describir los conjuntos de elementos y las reglas que genera. Por ejemplo, si X e Y representan dos elementos que podran estar en un carro de la compra, el parmetro de soporte es el nmero de casos en el conjunto de datos que contienen la combinacin de elementos, X e Y. Utilizando el parmetro de soporte en combinacin con los parmetros definidos por el usuario, MINIMUM_SUPPORT y MAXIMUM_SUPPORT, el algoritmo controla el nmero de conjuntos de elementos que se generan. El parmetro de probabilidad, tambin denominado confianza, representa la fraccin de casos en el conjunto de datos que contienen X y que tambin contienen Y. Utilizando el parmetro de probabilidad en combinacin con el parmetro MINIMUM_PROBABILITY, el algoritmo controla el nmero de reglas que se generan. 2.4.2.1 Cmo funciona el algoritmo El algoritmo de asociacin de Microsoft recorre un conjunto de datos para hallar elementos que aparezcan juntos en un caso. A continuacin, agrupa en conjuntos de elementos todos los elementos asociados que aparecen, como mnimo, en el nmero de casos especificado en el parmetro MINIMUM_SUPPORT. Por ejemplo, un conjunto de elementos puede ser "Mountain 200=Existing, Sport 100=Existing" y tener un soporte de 710. El algoritmo generar reglas a partir de los conjuntos de elementos. Estas reglas se usan para predecir la presencia de un elemento en la base de datos, basndose en la presencia de otros elementos especficos que el algoritmo ha identificado como importantes. Por ejemplo, una regla puede ser "if Touring 1000=existing and Road bottle cage=existing, then Water bottle=existing", y puede tener una probabilidad de 0.812. En este ejemplo, el algoritmo identifica que la presencia en la cesta del neumtico Touring 1000 y del soporte de la botella de agua predice que probablemente la cesta de compra incluir tambin una botella de agua. 2.4.2.1.1 Datos requeridos para los modelos de asociacin Al preparar los datos para su uso en un modelo de reglas de asociacin, conviene comprender qu requisitos son imprescindibles para el algoritmo concreto, incluidos el volumen de datos necesario y la forma en que estos datos se utilizan. 31
Los requisitos para un modelo de reglas de asociacin son los siguientes: Una columna key : cada modelo debe contener una columna numrica o de texto que identifique cada registro de manera nica. no se permiten las claves compuestas. Una nica columna de prediccin Un modelo de asociacin solo puede tener una columna de prediccin. Normalmente, se trata de la columna de clave de la tabla anidada, como el campo que contiene los productos que se han comprado. Los valores deben ser discretos o discretizados. Columnas de entrada Las columnas de entrada deben ser discretas. Los datos de entrada de un modelo de asociacin suelen encontrarse en dos tablas. Por ejemplo, una tabla puede contener la informacin del cliente y la otra las compras de ese cliente. Es posible incluir estos datos en el modelo mediante el uso de una tabla anidada. 2.4.2.1.2 Ver un modelo de asociacin Para explorar el modelo, puede utilizar el Visor de asociacin de Microsoft. Cuando se observa un modelo de asociacin, Analysis Services presenta las correlaciones desde distintos ngulos para que se puedan comprender mejor las relaciones y las reglas halladas en los datos. El panel Conjunto de elementos del visor proporciona un anlisis detallado de las combinaciones o los conjuntos de elementos ms comunes. El panel Reglas presenta una lista de reglas generalizadas a partir de los datos, agrega clculos de probabilidad y clasifica las reglas segn su importancia relativa. el visor de red de dependencia permite explorar visualmente cmo se conectan los diferentes elementos individuales. 2.4.2.1.3 Crear predicciones Una vez procesado el modelo, puede utilizar las reglas y los conjuntos de elementos para realizar predicciones. En un modelo de asociacin, una prediccin indica qu elemento es probable que se produzca dada la presencia del elemento especificado, y la prediccin puede incluir informacin como la probabilidad, el soporte o la importancia. 2.4.2.1.4 Rendimiento El proceso de crear conjuntos de elementos y contar las correlaciones puede llevar mucho tiempo. Aunque el algoritmo Reglas de asociacin de Microsoft utiliza tcnicas de optimizacin para ahorrar espacio y agilizar el procesamiento, es conveniente saber que se pueden presentar problemas de rendimiento en determinadas circunstancias como las que se mencionan a continuacin: El conjunto de datos es grande y tiene muchos elementos individuales. El tamao mnimo establecido para el conjunto de elementos es demasiado pequeo. Para minimizar el tiempo de procesamiento y reducir la complejidad de los conjuntos de elementos, se puede intentar agrupar en categoras los elementos relacionados antes de analizar los datos. Notas 32
No admite el uso del lenguaje de marcado de modelos de prediccin (PMML) para crear modelos de minera de datos. Admite la obtencin de detalles. Admite el uso de modelos de minera de datos OLAP. Admite la creacin de dimensiones de minera de datos. 2.4.2.2 Referencia tcnica del algoritmo de asociacin de Microsoft El algoritmo Reglas de asociacin de Microsoft es una implementacin sencilla del conocido algoritmo Apriori. Tanto el algoritmo rboles de decisin de Microsoft como el algoritmo Reglas de asociacin de Microsoft se pueden usar para analizar asociaciones, pero las reglas encontradas por cada uno de ellos pueden diferir. En un modelo de rboles de decisin, las divisiones que conducen a reglas especficas estn basadas en la obtencin de informacin, mientras que en un modelo de asociacin, las reglas estn basadas totalmente en la confianza. Por tanto, en un modelo de asociacin, una regla segura, o una que tenga una confianza alta, puede que no tenga ningn inters, dado que no proporciona nueva informacin. 2.4.2.2.1 Implementacin del algoritmo de asociacin de Microsoft El algoritmo Apriori no analiza patrones, sino que genera y despus cuenta conjuntos de elementos candidatos. Un elemento puede representar un evento, un producto o el valor de un atributo, dependiendo del tipo de datos que se analice. En el tipo ms comn de modelo de asociacin, las variables booleanas, que representan un valor S/No o Falta/Existe, se asignan a cada atributo, como un nombre de producto o evento. Un anlisis de cesta de la compra es un ejemplo de un modelo de reglas de asociacin que utiliza variables booleanas para representar la presencia o ausencia de determinados productos en la cesta de la compra de un cliente. Para cada conjunto de elementos, el algoritmo crea puntuaciones que representan el soporte y la confianza. Estas puntuaciones se pueden usar para clasificar y derivar reglas interesantes de los conjuntos de elementos. Los modelos de asociacin se pueden crear tambin para atributos numricos. Si los atributos son continuos, los nmeros se pueden discretizar o agruparse en depsitos. A continuacin, los valores de datos discretos se pueden tratar como booleanos o como pares atributo-valor.
33
2.4.2.2.2 Soporte, probabilidad e importancia El soporte, tambin denominado frecuencia, significa el nmero de casos que contienen el elemento o la combinacin de elementos de destino. Solo se pueden incluir en el modelo los elementos que tienen al menos el soporte especificado. Se denomina conjunto de elementos frecuentes a una coleccin de elementos cuya combinacin de elementos tambin tiene soporte por encima del umbral definido por el parmetro MINIMUM_SUPPORT. Por ejemplo, si el conjunto de elementos es {A,B,C} y el valor de MINIMUM_SUPPORT es 10, cada uno de los elementos individuales A, B y C debe hallarse en al menos 10 casos para ser incluido en el modelo, y la combinacin de elementos {A,B,C} debe hallarse tambin en al menos 10 casos. Nota: tambin puede controlar el nmero de conjuntos de elementos de un modelo de minera de datos especificando la longitud mxima, es decir, el nmero de elementos, que puede tener un conjunto de elementos. De forma predeterminada, el soporte para cualquier elemento o conjunto de elementos determinado representa un recuento de los casos que contienen dichos elementos. Sin embargo, tambin se puede expresar MINIMUM_SUPPORT como un porcentaje de los casos totales en el conjunto de datos, escribiendo el nmero como un valor decimal inferior a 1. Por ejemplo, si especifica un valor MINIMUM_SUPPORT de 0,03, significa que al menos el 3% del total de casos del conjunto de datos debe contener este elemento o conjunto de elementos para su inclusin en el modelo. Experimente con el modelo para determinar si resulta ms apropiado usar un recuento o un porcentaje. Por el contrario, el umbral para las reglas no se expresa como un recuento o un porcentaje, sino como una probabilidad, tambin denominada a veces confianza. Por ejemplo, si el conjunto de elementos {A,B,C} aparece en 50 casos, pero los conjuntos de elementos {A,B,D} y {A,B} aparecen tambin en 50 casos, resulta obvio que {A,B} no es un elemento de prediccin confiable de {C}. Por consiguiente, para ponderar un resultado determinado con respecto a todos los resultados conocidos, Analysis Services calcula la probabilidad de la regla individual (como If {A,B} Then {C}) dividiendo el soporte para el conjunto de elementos {A,B,C} por el soporte para todos los conjuntos de elementos relacionados. Puede restringir el nmero de reglas que produce un modelo estableciendo un valor para MINIMUM_PROBABILITY. Para cada regla creada, Analysis Services genera una puntuacin que indica su importancia, tambin denominada elevacin. La importancia de la elevacin se calcula de forma diferente para los conjuntos de elementos y para las reglas. La importancia de un conjunto de elementos se calcula como la probabilidad de dicho conjunto dividida entre la probabilidad compuesta de los elementos individuales del conjunto. Por ejemplo, si un conjunto de elementos contiene {A, B}, Analysis Services cuenta primero todos los casos que contienen esta combinacin A y B, divide dicho nmero entre el nmero total de casos y, a continuacin, normaliza la probabilidad. 34
La importancia de una regla se calcula mediante la probabilidad de registro del lado derecho de la regla, dado el lado izquierdo de la regla. Por ejemplo, en la regla If {A} Then {B}, Analysis Services calcula la proporcin entre los casos con A y B y los casos con B pero sin A y, a continuacin, normaliza dicha proporcin mediante una escala logartmica. 2.4.2.2.3 Seleccin de caractersticas El algoritmo Reglas de asociacin de Microsoft no realiza ningn tipo de seleccin automtica de caractersticas. En su lugar, proporciona parmetros que controlan los datos utilizados por el algoritmo. Esto puede incluir lmites en cuanto al tamao de cada conjunto de elementos, o el establecimiento del soporte mximo y mnimo necesarios para agregar un conjunto de elementos al modelo. Para filtrar elementos y eventos muy comunes y, por lo tanto, poco interesantes, reduzca el valor de MAXIMUM_SUPPORT para quitar los conjuntos de elementos muy frecuentes del modelo. Para filtrar elementos y conjuntos de elementos poco frecuentes, aumente el valor de MINIMUM_SUPPORT. Para filtrar reglas, aumente el valor de MINIMUM_PROBABILITY. El algoritmo Reglas de asociacin de Microsoft admite varios parmetros que influyen en el comportamiento, el rendimiento y la precisin del modelo de minera de datos resultante. 2.4.2.2.4 Establecer los parmetros del algoritmo Puede cambiar los parmetros para un modelo de minera de datos en cualquier momento mediante el Diseador de minera de datos en SQL Server Data Tools (SSDT). Tambin puede cambiarlos mediante programacin usando la coleccin AlgorithmParameters en AMO, o Elemento MiningModels (ASSL) en XMLA. Estos parmetros se describen en la tabla siguiente. 2.4.2.3 Contenido del modelo de minera de datos para los modelos de asociacin Un modelo de asociacin tiene una estructura simple. Cada modelo tiene un nico nodo primario que representa el modelo y sus metadatos, y cada nodo primario tiene una lista plana de conjuntos de elementos y reglas. Estos conjuntos de elementos y reglas no se organizan como rboles, sino que se ordenan con los conjuntos de elementos en primer lugar y las reglas en segundo, como se muestra en el siguiente diagrama. 35
Ilustracin 9. Modelo de asociacin para minera de datos Cada conjunto de elementos est incluido en su propio nodo. El nodo incluye la definicin del conjunto de elementos, el nmero de casos que contienen dicho conjunto y otro tipo de informacin. Cada regla tambin est incluida en su propio nodo (NODE_TYPE = 8). Una regla describe un patrn general para la asociacin de los elementos. Una regla es similar a una instruccin IF-THEN. El lado izquierdo de la regla muestra una condicin o conjunto de condiciones existentes. El lado derecho de la regla muestra el elemento del conjunto de datos que est normalmente asociado a las condiciones del lado izquierdo. 2.4.2.4 Ejemplos de consultas del modelo de asociacin Cuando se crea una consulta en un modelo de minera de datos, puede tratarse de una consulta de contenido, que proporciona detalles sobre las reglas y los conjuntos de elementos detectados durante el anlisis, o una consulta de prediccin, que utiliza las asociaciones detectadas en los datos para realizar predicciones. En un modelo de asociacin, las predicciones se basan normalmente en reglas y se pueden utilizar para realizar recomendaciones, mientras que las consultas de contenido normalmente exploran la relacin entre los conjuntos de elementos. Tambin se puede recuperar metadatos sobre el modelo. En esta seccin se explica cmo crear estos tipos de consultas en modelos basados en el algoritmo de reglas de asociacin de Microsoft. Todos los modelos de minera de datos exponen el contenido aprendido por el algoritmo de acuerdo con un esquema normalizado, denominado conjunto de filas de esquema del modelo de minera de datos. Puede crear consultas en el conjunto de filas de esquema del modelo de minera de datos utilizando instrucciones de Extensiones de minera de datos (DMX) o los procedimientos almacenados de Analysis Services. En SQL Server 2012, tambin se pueden consultar directamente los conjuntos de filas de esquema como tablas del sistema, utilizando una sintaxis parecida a SQL. 2.4.2.4.1 Consulta de ejemplo 1: obtener metadatos del modelo utilizando DMX La consulta siguiente devuelve metadatos bsicos sobre el modelo de asociacin, Association, como el nombre del modelo, la base de datos en la que se encuentra almacenado y el nmero de nodos secundarios existentes en l. Esta consulta usa una consulta de contenido DMX para recuperar los metadatos del nodo primario del modelo: SELECT MODEL_CATALOG, MODEL_NAME, NODE_CAPTION, 36
NODE_SUPPORT, [CHILDREN_CARDINALITY], NODE_DESCRIPTION FROM Association.CONTENT WHERE NODE_TYPE = 1 Resultados del ejemplo: MODEL_CATALOG Association Test MODEL_NAME Association NODE_CAPTION Association Rules Model NODE_SUPPORT 14879 CHILDREN_CARDINALITY 942 NODE_DESCRIPTION Association Rules Model; ITEMSET_COUNT=679; RULE_COUNT=263; MIN_SUPPORT=14; MAX_SUPPORT=4334; MIN_ITEMSET_SIZE=0; MAX_ITEMSET_SIZE=3; MIN_PROBABILITY=0.400390625; MAX_PROBABILITY=1; MIN_LIFT=0.14309369632511; MAX_LIFT=1.95758227647523 2.4.2.4.2 Consulta de ejemplo 2: obtener metadatos adicionales del conjunto de filas de esquema Mediante una consulta al conjunto de filas de esquema de minera de datos, se puede obtener la misma informacin que a travs de una consulta de contenido DMX. Sin embargo, el conjunto de filas de esquema proporciona algunas columnas adicionales, como la fecha en que se proces el modelo por ltima vez, la estructura de minera de datos y el nombre de la columna usada como atributo de prediccin. SELECT MODEL_CATALOG, MODEL_NAME, SERVICE_NAME, PREDICTION_ENTITY, MINING_STRUCTURE, LAST_PROCESSED FROM $system.DMSCHEMA_MINING_MODELS WHERE MODEL_NAME = 'Association' Resultados del ejemplo: MODEL_CATALOG Adventure Works DW Multidimensional 2012 MODEL_NAME Asociacin SERVICE_NAME Association Rules Model PREDICTION_ENTITY v Assoc Seq Line Items MINING_STRUCTURE Association LAST_PROCESSED 29/9/2007 10:21:24 PM 37
2.4.3 Algoritmo de clsteres de Microsoft El algoritmo de clsteres de Microsoft es un algoritmo de segmentacin suministrado por Analysis Services. El algoritmo utiliza tcnicas iterativas para agrupar los casos de un conjunto de datos dentro de clsteres que contienen caractersticas similares. Estas agrupaciones son tiles para la exploracin de datos, la identificacin de anomalas en los datos y la creacin de predicciones. Los modelos de agrupacin en clsteres identifican las relaciones en un conjunto de datos que no se podran derivar lgicamente a travs de la observacin casual. Por ejemplo, puede discernir lgicamente que las personas que se desplazan a sus trabajos en bicicleta no viven, por lo general, a gran distancia de sus centros de trabajo. Sin embargo, el algoritmo puede encontrar otras caractersticas que no son evidentes acerca de los trabajadores que se desplazan en bicicleta. En el siguiente diagrama, el clster A representa los datos sobre las personas que suelen conducir hasta el trabajo, en tanto que el clster B representa los datos sobre las personas que van hasta all en bicicleta.
Ilustracin 10. Representacin grfica de Clster A y B El algoritmo de clsteres se diferencia de otros algoritmos de minera de datos, como el algoritmo de rboles de decisin de Microsoft, en que no se tiene que designar una columna de prediccin para generar un modelo de agrupacin en clsteres. El algoritmo de clsteres entrena el modelo de forma estricta a partir de las relaciones que existen en los datos y de los clsteres que identifica el algoritmo. Ejemplo Considere un grupo de personas que comparten informacin demogrfica similar y que adquieren productos similares de la empresa Adventure Works. Este grupo de personas representa un clster de datos. En una base de datos pueden existir varios clsteres como stos. Mediante la observacin de las columnas que forman un clster, puede ver con mayor claridad la forma en que los registros de un conjunto de datos se relacionan entre s. El algoritmo de clsteres de Microsoft identifica primero las relaciones de un conjunto de datos y genera una serie de clsteres basndose en ellas. Un grfico de dispersin es una forma til de representar visualmente el modo en que el algoritmo agrupa los datos, tal como se muestra en el siguiente diagrama. El grfico de dispersin representa todos los casos del conjunto de datos; cada caso es un punto del grfico. Los clsteres agrupan los puntos del grfico e ilustran las relaciones que identifica el algoritmo. 38
Ilustracin 11. Representacin de los conjuntos de datos Despus de definir los clsteres, el algoritmo calcula el grado de perfeccin con que los clsteres representan las agrupaciones de puntos y, a continuacin, intenta volver a definir las agrupaciones para crear clsteres que representen mejor los datos. El algoritmo establece una iteracin en este proceso hasta que ya no es posible mejorar los resultados mediante la redefinicin de los clsteres. Puede personalizar el funcionamiento del algoritmo seleccionando una tcnica de agrupacin en clsteres, limitando el nmero mximo de clsteres o cambiando la cantidad de soporte que se requiere para crear un clster. Al preparar los datos para su uso en el entrenamiento de un modelo de agrupacin en clsteres, conviene comprender qu requisitos son imprescindibles para el algoritmo concreto, incluidos el volumen de datos necesario y la forma en que estos datos se utilizan. Los requisitos para un modelo de agrupacin en clsteres son los siguientes: Una columna key : cada modelo debe contener una columna numrica o de texto que identifique cada registro de manera nica. No estn permitidas las claves compuestas. Columnas de entrada Cada modelo debe tener al menos una columna de entrada que contenga los valores que se utilizan para generar los clsteres. Puede tener tantas columnas de entrada como desee, pero dependiendo del nmero de valores existentes en cada columna, la adicin de columnas adicionales podra aumentar el tiempo necesario para entrenar el modelo. Una columna de prediccin opcional El algoritmo no necesita una columna de prediccin para generar el modelo, pero puede agregar una columna de prediccin de casi cualquier tipo de datos. Los valores de la columna de prediccin se pueden tratar como entradas del modelo de agrupacin en clsteres, o se puede especificar que solo se utilicen para las predicciones. Por ejemplo, si desea predecir los ingresos del cliente agrupando en clsteres de acuerdo con datos demogrficos como la regin o la edad, se deben especificar los ingresos como PredictOnly y agregar todas las dems columnas, como la regin o la edad, como entradas. Una vez entrenado el modelo, los resultados se almacenan como un conjunto de patrones que se puede explorar o utilizar para realizar predicciones. Puede crear consultas para devolver predicciones sobre si los nuevos datos se ajustan a los clsteres que se han detectado, o para obtener estadsticas descriptivas sobre los clsteres. 2.4.3.1 Referencia tcnica del algoritmo de clsteres de Microsoft En esta seccin se explica la implementacin del algoritmo de clsteres de Microsoft, incluidos los parmetros que se pueden usar para controlar el comportamiento de los 39
modelos de agrupacin en clsteres. Adems, incluye instrucciones sobre cmo mejorar el rendimiento durante la creacin y el procesamiento de modelos de agrupacin en clsteres. 2.4.3.1.1 Implementar el algoritmo de clsteres de Microsoft El algoritmo de clsteres de Microsoft proporciona dos mtodos para crear clsteres y asignar puntos de datos a dichos clsteres. El primero, el algoritmo mediana-k, es un mtodo de agrupacin en clsteres duro. Esto significa que un punto de datos puede pertenecer a un solo clster, y que nicamente se calcula una probabilidad de pertenencia de cada punto de datos de ese clster. El segundo, el mtodo Expectation Maximization (EM), es un mtodo de agrupacin en clsteres blando. Esto significa que un punto de datos siempre pertenece a varios clsteres, y que se calcula una probabilidad para cada combinacin de punto de datos y clster. 2.4.3.1.1.1 Agrupacin en clsteres EM En el mtodo de agrupacin en clsteres EM, el algoritmo refina de forma iterativa un modelo de clsteres inicial para ajustar los datos y determina la probabilidad de que un punto de datos exista en un clster. El algoritmo finaliza el proceso cuando el modelo probabilstico ajusta los datos. La funcin usada para determinar el ajuste es el logaritmo de la probabilidad de los datos dado el modelo. Si durante el proceso se generan clsteres vacos, o si la pertenencia de uno o varios de los clsteres cae por debajo del umbral especificado, los clsteres con poblaciones bajas se reinicializan en los nuevos puntos y vuelve a ejecutarse el algoritmo EM. Los resultados del mtodo de agrupacin en clsteres EM son probabilsticos. Esto significa que cada punto de datos pertenece a todos los clsteres, pero cada asignacin de un punto de datos a un clster tiene una probabilidad diferente. Dado que el mtodo permite que los clsteres se superpongan, la suma de los elementos de todos los clsteres puede superar la totalidad de los elementos existentes en el conjunto de entrenamiento. En los resultados del modelo de minera de datos, las puntuaciones que indican soporte se ajustan para tener en cuenta este hecho. El algoritmo EM es el algoritmo predeterminado usado en los modelos de agrupacin en clsteres de Microsoft. Este algoritmo se usa como algoritmo predeterminado porque proporciona numerosas ventajas comparado con la agrupacin en clsteres mediana-K: La implementacin de Microsoft proporciona dos opciones: EM escalable y no escalable. De forma predeterminada, en EM escalable, los primeros 50.000 registros se usan para inicializar el examen inicial. Si esta operacin se realiza correctamente, el modelo solo usa estos datos. Si el modelo no se puede ajustar con 50.000 registros, se leen otros 50.000. En EM no escalable, se lee el conjunto de datos completo independientemente de su tamao. Este mtodo puede crear clsteres ms precisos, pero los requisitos de memoria pueden ser significativos. Dado que EM escalable funciona en un bfer local, recorrer los datos en iteracin es mucho ms rpido, y el algoritmo hace un mejor uso de la cach de memoria de la CPU que EM no escalable. Es ms, EM escalable es tres veces ms rpido que EM no escalable, incluso si todos los datos caben en la memoria principal. En la mayora de casos, la mejora en el rendimiento no significa una reduccin de la calidad del modelo completo. 40
2.4.3.1.1.2 Agrupacin en clsteres mediana-K La agrupacin en clsteres mediana-K es un mtodo muy conocido para asignar la pertenencia al clster que consiste en minimizar las diferencias entre los elementos de un clster al tiempo que se maximiza la distancia entre los clsteres. El trmino "mediana" hace referencia al centroide del clster, que es un punto de datos que se elige arbitrariamente y que se refina de forma iterativa hasta que representa la verdadera media de todos los puntos de datos del clster. La "K" hace referencia a un nmero arbitrario de puntos que se usan para inicializar el proceso de agrupacin en clsteres. El algoritmo mediana-K calcula las distancias euclidianas cuadradas entre los registros de datos de un clster y el vector que representa la media de clsteres, y converge en un conjunto final de K clsteres cuando la suma alcanza su valor mnimo. El algoritmo mediana-K asigna cada punto de datos a un solo clster y no permite la incertidumbre en la pertenencia. En un clster, la pertenencia se expresa como una distancia desde el centroide. Normalmente, el algoritmo mediana-K se usa para crear clsteres de atributos continuos, donde el clculo de la distancia a una media se realiza de manera sencilla. Sin embargo, la implementacin de Microsoft adapta el mtodo mediana-K a atributos discretos de clster mediante el uso de probabilidades. Para los atributos discretos, la distancia de un punto de datos desde un clster determinado se calcula de la manera siguiente: 1 - P(data point, cluster) El algoritmo mediana-K proporciona dos mtodos para realizar un muestreo en el conjunto de datos: mediana-K no escalable, que carga el conjunto de datos completo y realiza una pasada de agrupacin en clsteres, y mediana-K escalable, donde el algoritmo usa los primeros 50.000 casos y lee ms casos nicamente si necesita ms datos para lograr un buen ajuste del modelo a los datos.
2.4.3.2 Contenido del modelo de minera de datos para los modelos de agrupacin en clsteres Un modelo de agrupacin en clsteres tiene una estructura simple. Cada modelo tiene un nico nodo primario que representa el modelo y sus metadatos, y cada nodo primario tiene una lista plana de clsteres. Esta organizacin se muestra en la imagen siguiente.
Ilustracin 12. Modelo de agrupacin en clsteres 41
El nodo primario contiene estadsticas tiles que describen la distribucin real de todos los casos de entrenamiento. En estos resultados se puede observar que se utilizaron 12.939 casos para generar el modelo, que la proporcin entre hombres y mujeres fue de 50-50, aproximadamente, y que la edad media fue de 44 aos. Las estadsticas descriptivas varan dependiendo de si el atributo sobre el que se est informando es un tipo de datos numrico continuo, como la edad, o un tipo de valor discreto, como el gnero. Las medidas estadsticas media y varianza se calculan para los tipos de datos continuos, mientras que la probabilidad y el soporte se calculan para los tipos de datos discretos. La varianza representa la varianza total para el clster. Cuando el valor para la varianza es pequeo, indica que la mayora de los valores de la columna se hallaban bastante cerca de la media. Para obtener la desviacin estndar, calcule la raz cuadrada de la varianza. Observe que para cada atributo hay un tipo de valor Missing que indica cuntos casos carecan de datos para ese atributo. Los datos ausentes pueden ser relevantes y afectar a los clculos de varias maneras, dependiendo del tipo de datos. Analysis Services proporciona varios mtodos para crear un modelo de agrupacin en clsteres. Si desconoce el mtodo utilizado para crear el modelo con el que est trabajando, puede recuperar los metadatos del modelo mediante programacin, utilizando un cliente ADOMD o AMO, o consultando el conjunto de filas de esquema de minera de datos. La estructura y el contenido del modelo permanecen invariables, independientemente del mtodo de agrupacin en clsteres o de los parmetros utilizados.
2.4.3.3 Ejemplos de consultas de modelos de agrupacin en clsteres Al crear una consulta en un modelo de minera de datos, puede recuperar metadatos sobre el modelo o crear una consulta de contenido que proporcione detalles sobre los patrones detectados en el anlisis. Tambin puede crear una consulta de prediccin, que usa los patrones del modelo para realizar predicciones para los nuevos datos. Cada tipo de consulta proporcionar informacin diferente. Por ejemplo, una consulta de contenido puede proporcionar detalles adicionales sobre los clsteres encontrados, mientras que una consulta de prediccin puede indicar a qu clster pertenece con mayor probabilidad un nuevo punto de datos. En esta seccin se explica cmo crear consultas en modelos basados en el algoritmo de clsteres de Microsoft. Todos los modelos de minera de datos exponen el contenido aprendido por el algoritmo de acuerdo con un esquema normalizado, el conjunto de filas de esquema del modelo de minera de datos. Puede crear consultas en el conjunto de filas de esquema del modelo de minera de datos usando instrucciones de Extensiones de minera de datos (DMX). En SQL Server 2012, tambin puede consultar directamente los conjuntos de filas de esquema como tablas del sistema. 42
2.4.3.3.1 Consulta de ejemplo 1: obtener metadatos del modelo utilizando DMX Los metadatos disponibles en el nodo primario de un modelo de agrupacin en clsteres incluyen el nombre del modelo, la base de datos en la que se encuentra almacenado el modelo y el nmero de nodos secundarios existentes en el modelo. Esta consulta usa una consulta de contenido DMX para recuperar los metadatos del nodo primario del modelo: SELECT MODEL_CATALOG, MODEL_NAME, NODE_CAPTION, NODE_SUPPORT, [CHILDREN_CARDINALITY], NODE_DESCRIPTION FROM TM_Clustering.CONTENT WHERE NODE_TYPE = 1 Resultados del ejemplo: MODEL_CATALOG TM_Clustering MODEL_NAME Adventure Works DW NODE_CAPTION Cluster Model NODE_SUPPORT 12939 CHILDREN_CARDINALITY 10 NODE_DESCRIPTION Todos 2.4.3.3.2 Consulta de ejemplo 2: recuperar metadatos del modelo a partir del conjunto de filas de esquema Mediante una consulta al conjunto de filas de esquema de minera de datos, puede obtener la misma informacin que a travs de una consulta de contenido DMX. Sin embargo, el conjunto de filas de esquema proporciona algunas columnas adicionales. Esto incluye los parmetros que se usaron cuando se cre el modelo, la fecha y la hora en que se proces el modelo por ltima vez, y el propietario del modelo. En el ejemplo siguiente se devuelve la fecha en la que se cre, modific y proces el modelo por ltima vez, junto con los parmetros de agrupacin en clsteres que se usaron para generar el modelo y el tamao del conjunto de entrenamiento. Esta informacin puede ser til para documentar el modelo o para determinar qu opciones de agrupacin en clsteres se utilizaron para crear un modelo existente. SELECT MODEL_NAME, DATE_CREATED, LAST_PROCESSED, PREDICTION_ENTITY, MINING_PARAMETERS from $system.DMSCHEMA_MINING_MODELS WHERE MODEL_NAME = 'TM_Clustering' Resultados del ejemplo: MODEL_NAME TM_Clustering 43
DATE_CREATED 10/12/2007 7:42:51 PM LAST_PROCESSED 10/12/2007 8:09:54 PM PREDICTION_ENTITY Bike Buyer MINING_PARAMETERS CLUSTER_COUNT=10, CLUSTER_SEED=0, CLUSTERING_METHOD=1, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_STATES=100, MINIMUM_SUPPORT=1, MODELLING_CARDINALITY=10, SAMPLE_SIZE=50000, STOPPING_TOLERANCE=10 Las consultas de contenido ms tiles que se realizan en los modelos de agrupacin en clsteres generalmente devuelven el mismo tipo de informacin que se puede examinar usando el Visor de clsteres. Esto incluye perfiles del clster, caractersticas del clster y distincin del clster. En esta seccin se proporcionan ejemplos de consultas que recuperan esta informacin. 2.4.4 Algoritmo de rboles de decisin de Microsoft El algoritmo de rboles de decisin de Microsoft es un algoritmo de clasificacin y regresin proporciona por Microsoft SQL Server Analysis Services para el modelado de prediccin de atributos discretos y continuos. Para los atributos discretos, el algoritmo hace predicciones basndose en las relaciones entre las columnas de entrada de un conjunto de datos. Utiliza los valores, conocidos como estados, de estas columnas para predecir los estados de una columna que se designa como elemento de prediccin. Especficamente, el algoritmo identifica las columnas de entrada que se correlacionan con la columna de prediccin. Por ejemplo, en un escenario para predecir qu clientes van a adquirir probablemente una bicicleta, si nueve de diez clientes jvenes compran una bicicleta, pero solo lo hacen dos de diez clientes de edad mayor, el algoritmo infiere que la edad es un buen elemento de prediccin en la compra de bicicletas. El rbol de decisin realiza predicciones basndose en la tendencia hacia un resultado concreto. Para los atributos continuos, el algoritmo usa la regresin lineal para determinar dnde se divide un rbol de decisin. Si se define ms de una columna como elemento de prediccin, o si los datos de entrada contienen una tabla anidada que se haya establecido como elemento de prediccin, el algoritmo genera un rbol de decisin independiente para cada columna de prediccin. 44
Ejemplo El departamento de marketing de la empresa Adventure Works Cycles desea identificar las caractersticas de los clientes antiguos que podran indicar si es probable que realicen alguna compra en el futuro. La base de datos AdventureWorks2012 almacena informacin demogrfica que describe a los clientes antiguos. Mediante el algoritmo de rboles de decisin de Microsoft que analiza esta informacin, el departamento puede generar un modelo que predice si un determinado cliente va a comprar productos, basndose en el estado de las columnas conocidas sobre ese cliente, como la demografa o los patrones de compra anteriores. 2.4.4.1 Cmo funciona el algoritmo El algoritmo de rboles de decisin de Microsoft genera un modelo de minera de datos mediante la creacin de una serie de divisiones en el rbol. Estas divisiones se representan como nodos. El algoritmo agrega un nodo al modelo cada vez que una columna de entrada tiene una correlacin significativa con la columna de prediccin. La forma en que el algoritmo determina una divisin vara en funcin de si predice una columna continua o una columna discreta. El algoritmo de rboles de decisin de Microsoft utiliza la seleccin de caractersticas para guiar la seleccin de los atributos ms tiles. Todos los algoritmos de minera de datos de Analysis Services utilizan la seleccin de caractersticas para mejorar el rendimiento y la calidad del anlisis. La seleccin de caractersticas es importante para evitar que los atributos irrelevantes utilicen tiempo de procesador. Si utiliza demasiados atributos de prediccin o de entrada al disear un modelo de minera de datos, el modelo puede tardar mucho tiempo en procesarse o incluso quedarse sin memoria. Entre los mtodos que se usan para determinar si hay que dividir el rbol figuran mtricas estndar del sector para la entropa y las redes Bayesianas. Un problema comn de los modelos de minera de datos es que el modelo se vuelve demasiado sensible a las diferencias pequeas en los datos de entrenamiento, en cuyo caso se dice que est sobreajustado o sobreentrenado. Un modelo sobreajustado no se puede generalizar a otros conjuntos de datos. Para evitar sobreajustar un conjunto de datos determinado, el algoritmo de rboles de decisin de Microsoft utiliza tcnicas para controlar el crecimiento del rbol.
45
2.4.4.1.1 Predecir columnas discretas La forma en que el algoritmo de rboles de decisin de Microsoft genera un rbol para una columna de prediccin discreta puede mostrarse mediante un histograma. El siguiente diagrama muestra un histograma que seguimiento una columna de prediccin, Bike Buyers, con una columna de entrada, Age. El histograma muestra que la edad de una persona ayuda a distinguir si esa persona comprar una bicicleta.
Ilustracin 13. Grfico Edad - Nmero de Clientes La correlacin que aparece en el diagrama har que el algoritmo de rboles de decisin de Microsoft cree un nuevo nodo en el modelo.
Ilustracin 14. Relacin poblacin - edad A medida que el algoritmo agrega nuevos nodos a un modelo, se forma una estructura en rbol. El nodo superior del rbol describe el desglose de la columna de prediccin para la poblacin global de clientes. A medida que el modelo crece, el algoritmo considera todas las columnas. 2.4.4.1.2 Predecir columnas continuas Cuando el algoritmo de rboles de decisin de Microsoft genera un rbol basndose en una columna de prediccin continua, cada nodo contiene una frmula de regresin. Se 46
produce una divisin en un punto de no linealidad de la frmula de regresin. Por ejemplo, considere el siguiente diagrama.
Ilustracin 15. Diagrama de datos continuos El diagrama contiene los datos que pueden modelarse utilizando una sola lnea o dos lneas conectadas. Sin embargo, una sola lnea realizar un pobre trabajo en la representacin de los datos. En su lugar, si se usan dos lneas, el modelo har un mejor trabajo en la aproximacin a los datos. El punto donde las dos lneas se unen es el punto de no linealidad y donde se dividira un nodo de un modelo de rbol de decisin. Por ejemplo, el nodo que corresponde al punto de no linealidad del grfico anterior podra representarse mediante el siguiente diagrama. Las dos ecuaciones representan las ecuaciones de regresin de las dos lneas.
Ilustracin 16. Punto de no linealidad en modelo de rbol de decisin 2.4.4.2 Datos requeridos para los modelos de rboles de decisin Cuando prepare los datos para su uso en un modelo de rboles de decisin, conviene que comprenda qu requisitos son imprescindibles para el algoritmo concreto, incluidos el volumen de datos necesario y la forma en que estos se utilizan. Los requisitos para un modelo de rboles de decisin son los siguientes: Una columna key : cada modelo debe contener una columna numrica o de texto que identifique cada registro de manera nica. No estn permitidas las claves compuestas. Una columna de prediccin. Se requiere al menos una columna de prediccin. Puede incluir varios atributos de prediccin en un modelo y pueden ser de tipos diferentes, numrico o discreto. Sin embargo, el incremento del nmero de atributos de prediccin puede aumentar el tiempo de procesamiento. Columnas de entrada. Se requieren columnas de entrada, que pueden ser discretas o continuas. Aumentar el nmero de atributos de entrada afecta al tiempo de procesamiento. 47
2.4.4.3 Ver un modelo de rboles de decisin Para examinar el modelo, puede utilizar el Visor de rboles de Microsoft. Si un modelo genera varios rboles, puede seleccionar uno y el visor muestra un esquema de cmo se clasifican los casos para cada atributo de prediccin. Tambin puede ver la interaccin de los rboles utilizando el visor de redes de dependencias. El contenido almacenado para el modelo incluye la distribucin para todos los valores de cada nodo, las probabilidades en cada nivel del rbol y las frmulas de regresin para los atributos continuos. Una vez procesado el modelo, los resultados se almacenan como un conjunto de patrones y estadsticas que se pueden usar para explorar las relaciones o para realizar predicciones. 2.4.4.4 Referencia tcnica del algoritmo de rboles de decisin de Microsoft El algoritmo de rboles de decisin de Microsoft es un algoritmo hbrido que incorpora distintos mtodos para crear un rbol, y admite varias tareas de anlisis, incluyendo la regresin, la clasificacin y la asociacin. El algoritmo de rboles de decisin de Microsoft admite el modelado de los atributos discretos y continuos. En este tema se explica la implementacin del algoritmo, se describe cmo personalizar su comportamiento para distintas tareas y se proporcionan vnculos a informacin adicional sobre cmo consultar los modelos de rboles de decisin. 2.4.4.4.1 Implementacin del algoritmo de rboles de decisin El algoritmo de rboles de decisin de Microsoft aplica el enfoque bayesiano en el aprendizaje de los modelos de interaccin causales al obtener las distribuciones posteriores aproximadas de los modelos. La metodologa para evaluar el valor de la informacin de las prioridades necesarias para el aprendizaje se basa en el supuesto de equivalencia de probabilidad. Este supuesto establece que los datos no deberan ayudar a discriminar estructuras de red que, de otro modo, representaran las mismas aserciones de independencia condicional. Se supone que cada caso tiene una nica red bayesiana anterior y una nica medida de confianza para dicha red. Mediante estas redes anteriores, el algoritmo calcula las probabilidades posteriores relativas de las estructuras de red dados los datos de entrenamiento actuales, e identifica las estructuras de red con las probabilidades posteriores ms altas. El algoritmo de rboles de decisin de Microsoft usa distintos mtodos para calcular el mejor rbol. El mtodo usado depender de la tarea, que puede ser la regresin lineal, la clasificacin o el anlisis de la asociacin. Un solo modelo puede contener varios rboles para distintos atributos de prediccin. Es ms, cada rbol puede contener varias bifurcaciones, dependiendo del nmero de atributos y de valores que contienen los datos. La forma y profundidad del rbol integrado en un modelo determinado depende del mtodo de puntuacin y del resto de parmetros usados. Los cambios en los parmetros tambin pueden afectar al lugar donde se dividen los nodos. 48
2.4.4.4.2 Generar el rbol Cuando el algoritmo de rboles de decisin de Microsoft crea el conjunto de posibles valores de entrada, realiza una feature selection para identificar los atributos y los valores que ofrecen la mayor cantidad de informacin, y no tiene en cuenta los valores que son muy raros. El algoritmo tambin agrupa los valores en bandejas para crear agrupaciones de valores que se pueden procesar como una unidad para optimizar el rendimiento. Un rbol se genera mediante la determinacin de las correlaciones entre una entrada y el resultado deseado. Una vez correlacionados todos los atributos, el algoritmo identifica el atributo nico que separa ms claramente los resultados. Este punto de la mejor separacin se mide usando una ecuacin que calcula la obtencin de informacin. El atributo que tiene la mejor puntuacin para la obtencin de informacin se usa para dividir los casos en subconjuntos, que posteriormente son analizados de forma recursiva por el mismo proceso hasta que no sea posible dividir ms el rbol. La ecuacin exacta empleada para evaluar la obtencin de informacin depende de los parmetros establecidos al crear el algoritmo, del tipo de datos de la columna de prediccin y del tipo de datos de la entrada. 2.4.4.4.3 Entradas discretas y continuas Cuando tanto el atributo de prediccin como las entradas son discretas, el recuento de los resultados por entrada se realizar creando una matriz y generando puntuaciones para cada celda de la matriz. Sin embargo, cuando el atributo de prediccin es discreto y las entradas son continuas, la entrada de las columnas continuas se discretiza automticamente. Puede aceptar el valor predeterminado y dejar que Analysis Services busque el nmero ptimo de bandejas, o puede controlar la forma en la que se discretizan las entradas continuas estableciendo las propiedades DiscretizationMethod y DiscretizationBucketCount. Para los atributos continuos, el algoritmo usa la regresin lineal para determinar dnde se divide un rbol de decisin. Cuando el atributo de prediccin es un tipo de datos numricos continuo, la seleccin de caractersticas tambin se aplica a las salidas para reducir el nmero de resultados posibles y generar ms rpidamente el modelo. 2.4.4.4.4 Mtodos de puntuacin y seleccin de caractersticas El algoritmo de rboles de decisin de Microsoft proporciona tres frmulas para puntuar la obtencin de informacin: la entropa de Shannon, la red bayesiana con prioridad K2 y la red bayesiana con una distribucin Dirichlet uniforme de prioridades. Los tres mtodos estn bien consolidados en el campo de la minera de datos. Se recomienda que experimente con parmetros y mtodos de puntuacin diferentes para determinar cules son los que proporcionan mejores resultados. Todos los algoritmos de minera de datos de Analysis Services utilizan automticamente la seleccin de caractersticas para mejorar el anlisis y reducir la carga de procesamiento. 49
El mtodo usado para la seleccin de caractersticas depende del algoritmo empleado para generar el modelo. Los parmetros del algoritmo que controlan la seleccin de caractersticas para el modelo de rboles de decisin son MAXIMUM_INPUT_ATTRIBUTES y MAXIMUM_OUTPUT. Algoritmo Mtodo de anlisis Comentarios rboles de decisin Puntuacin de grado de inters Entropa de Shannon Bayesiano con prioridad K2 Dirichlet bayesiano con prioridad uniforme (predeterminado) Si alguna columna contiene valores continuos no binarios, se utiliza la puntuacin interestingness (grado de inters) en todas las columnas para asegurar la coherencia. En caso contrario, se utiliza el mtodo predeterminado o el especificado. Regresin lineal Puntuacin de grado de inters La regresin lineal solo utiliza la puntuacin interestingness porque solo admite columnas continuas. 2.4.4.4.5 Escalabilidad y rendimiento La clasificacin es una estrategia de minera de datos importante. Generalmente, la cantidad de informacin necesaria para clasificar los casos crece en proporcin directa al nmero de registros de entrada. Esto limita el tamao de los datos que se pueden clasificar. El algoritmo de rboles de decisin de Microsoft usa los mtodos siguientes para resolver estos problemas, mejorar el rendimiento y eliminar las restricciones de memoria: Seleccin de caractersticas para optimizar la seleccin de atributos. Puntuacin bayesiana para controlar el crecimiento del rbol. Optimizacin de bandejas para los atributos continuos. Agrupacin dinmica de valores de entrada para determinar los valores ms importantes. El algoritmo de rboles de decisin de Microsoft es rpido y escalable, y se ha diseado para ser usado en paralelo, es decir, con todos los procesadores funcionando juntos para generar un modelo nico y coherente. La combinacin de estas caractersticas convierte al clasificador de rboles de decisin en una herramienta ideal para la minera de datos. Si las restricciones de rendimiento son graves, podra mejorar el tiempo de procesamiento durante el entrenamiento de un modelo de rbol de decisin usando los mtodos siguientes. Sin embargo, si lo hace, tenga en cuenta que la eliminacin de atributos para mejorar el rendimiento del procesamiento cambiar los resultados del modelo, y es posible que ste sea menos representativo de la poblacin total. Aumente el valor del parmetro COMPLEXITY_PENALTY para limitar el crecimiento del rbol. Limite el nmero de elementos de los modelos de asociacin para limitar el nmero de rboles que se generan. 50
Aumente el valor del parmetro MINIMUM_SUPPORT para evitar el sobreajuste. Restrinja a 10 o menos el nmero de valores discretos para todos los atributos. Puede intentar agrupar valores de distintas maneras en modelos diferentes. 2.4.4.4.6 Personalizar el algoritmo de rboles de decisin El algoritmo de rboles de decisin de Microsoft admite parmetros que afectan al rendimiento y la precisin del modelo de minera de datos resultante. Tambin puede establecer marcas de modelado en las columnas del modelo de minera de datos o de la estructura de minera de datos para controlar la manera en que se procesan los datos. 2.4.4.4.7 Regresores en modelos de rbol de decisin Aun cuando no use el algoritmo de regresin lineal de Microsoft, cualquier modelo de rbol de decisin que tenga entradas y salidas numricas continuas puede incluir nodos que representan una regresin en un atributo continuo. No es necesario especificar que una columna de datos numricos continuos representa un regresor. El algoritmo de rboles de decisin de Microsoft usar automticamente la columna como un regresor potencial y dividir el conjunto de datos en regiones con patrones significativos aunque no se establezca la marca REGRESSOR en la columna. Sin embargo, puede usar el parmetro FORCE_REGRESSOR para garantizar que el algoritmo emplear un regresor determinado. Este parmetro solo se puede usar con los algoritmos de rboles de decisin de Microsoft y de regresin lineal de Microsoft. Al establecer la marca de modelado, el algoritmo intentar buscar ecuaciones de regresin con el formato a*C1 + b*C2 + ... que se ajusten a los patrones de los nodos del rbol. Se calcula la suma de los valores residuales y, si la desviacin es demasiado grande, se fuerza una divisin en el rbol. Por ejemplo, si est prediciendo los hbitos de compra de los clientes usando Income como atributo y ha establecido la marca de modelado REGRESSOR en la columna, el algoritmo intentar en primer lugar ajustar los valores de Income mediante una frmula de regresin estndar. Si la desviacin es demasiado grande, se abandona la frmula de regresin y el rbol se dividir de acuerdo con otro atributo. A continuacin, el algoritmo de rboles de decisin intentar ajustar un regresor para los ingresos en cada una de las ramas despus de la divisin. Un modelo de rbol de decisin debe contener una columna de clave, columnas de entrada y al menos una columna de prediccin. 2.4.4.4.8 Columnas de entrada y de prediccin El algoritmo de rboles de decisin de Microsoft admite las columnas de entrada y de prediccin especficas que se incluyen en la tabla siguiente.
Columna Tipos de contenido 51
Atributo de entrada Continuous, Cyclical, Discrete, Discretized, Key, Ordered, Table Atributo de prediccin Continuous, Cyclical, Discrete, Discretized, Ordered, Table Nota Se admiten los tipos de contenido cclicos y ordenados, pero el algoritmo los trata como valores discretos y no realiza un procesamiento especial.
2.4.4.5 Contenido del modelo de minera de datos para los modelos de rboles de decisin Un modelo de rboles de decisin tiene un nodo primario nico que representa el modelo y sus metadatos. Debajo del nodo primario aparecen rboles independientes que representan los atributos de prediccin que se seleccionan. Por ejemplo, si configura su modelo de rboles de decisin para predecir si los clientes comprarn algo y, a continuacin, proporciona entradas para el gnero y los ingresos, el modelo crear un rbol nico para el atributo de compra, con muchas bifurcaciones que se dividen en funcin de condiciones relacionadas con el gnero y los ingresos. Sin embargo, si despus agrega un atributo de prediccin independiente para la participacin en un programa de premios para los clientes, el algoritmo crear dos rboles independientes bajo el nodo primario. Un rbol contendr el anlisis para las compras, y el otro el anlisis correspondiente al programa de premios para los clientes. Si usa el algoritmo de rboles de decisin para crear un modelo de asociacin, el algoritmo crea un rbol independiente para cada producto que se predice, y dicho rbol contiene las dems combinaciones de productos que contribuyen a la seleccin del atributo de destino.
Ilustracin 17. Modelo de rbol de decisin El rbol para cada atributo de prediccin contiene informacin que describe cmo afectan las columnas de entrada elegidas al resultado de ese atributo de prediccin concreto. Cada rbol est encabezado por un nodo (NODE_TYPE = 9) que contiene el atributo de prediccin, seguido de una serie de nodos (NODE_TYPE = 10) que representan los atributos de entrada. Un atributo corresponde a una columna de nivel de caso o a valores de columnas de tabla anidada, que generalmente son los valores que aparecen en la columna Key de la tabla anidada. Los nodos interiores y los nodos hoja representan las condiciones de divisin. Un rbol se puede dividir varias veces por el mismo atributo. Por ejemplo, el modelo TM_DecisionTree se puede dividir por [Yearly Income] y [Number of Children] y, a continuacin, dividirse de nuevo por [Yearly Income] ms abajo en el rbol. 52
El algoritmo de rboles de decisin de Microsoft tambin puede contener regresiones lineales en todo el rbol o en parte de ste. Si el atributo que est modelando es un tipo de datos numricos continuo, el modelo puede crear un nodo de rbol de regresin (NODE_TYPE = 25) en el que la relacin entre los atributos se puede modelar linealmente. En este caso, el nodo contiene una frmula de regresin. Sin embargo, si el atributo de prediccin tiene valores discretos, o si se ha realizado el depsito de los valores numricos o se han discretizado, el modelo siempre crea un rbol de clasificacin (NODE_TYPE = 2). Un rbol de clasificacin puede tener varias bifurcaciones o nodos de rbol interiores (NODE_TYPE = 3) para cada valor del atributo. Sin embargo, la divisin no se realiza necesariamente en cada valor del atributo. El algoritmo de rboles de decisin de Microsoft no admite tipos de datos continuos como entradas; por lo tanto, si alguna columna tiene un tipo de datos numrico continuo, los valores se discretizan. El algoritmo realiza su propia discretizacin en el punto de una divisin para todos los atributos continuos. Un modelo de rboles de decisin no dispone de un nodo independiente que almacena estadsticas para todo el modelo, a diferencia del nodo de estadsticas marginales que se puede encontrar en un modelo Bayes naive o en un modelo de red neuronal. En su lugar, el modelo crea un rbol independiente para cada atributo de prediccin, con un nodo (Todos) en la parte superior de dicho rbol. Cada uno de los rboles es independiente de los dems. Si su modelo solo contiene un atributo de prediccin, solo hay un rbol y, por lo tanto, solo un nodo (Todos). Cada rbol que representa un atributo de salida se subdivide adems en bifurcaciones interiores (NODE_TYPE = 3) que representan divisiones. Cada uno de estos rboles contiene estadsticas sobre la distribucin del atributo de destino. Adems, cada nodo hoja (NODE_TYPE = 4) contiene estadsticas que describen los atributos de entrada y sus valores, junto con el nmero de casos de soporte de cada par atributo-valor. Por lo tanto, puede ver fcilmente las probabilidades o la distribucin de los datos en cualquier bifurcacin de un rbol de decisin sin necesidad de consultar los datos de origen. Cada nivel del rbol representa necesariamente la suma de sus nodos secundarios inmediatos. 2.4.4.6 Ejemplos de consultas de modelos de rboles de decisin 2.4.4.6.1 Consulta de ejemplo 1: Recuperar parmetros del modelo a partir del conjunto de filas de esquema de minera de datos Al consultar el conjunto de filas de esquema de minera de datos, se pueden encontrar metadatos sobre el modelo, como cundo se cre, cundo se proces por ltima vez, el nombre de la estructura de minera de datos en que se basa el modelo, y el nombre de la columna que se usa como atributo de prediccin. Tambin se pueden devolver los parmetros que se utilizaron cuando se cre el modelo por primera vez. select MINING_PARAMETERS from $system.DMSCHEMA_MINING_MODELS WHERE MODEL_NAME = 'TM_Decision Tree' 53
Resultados del ejemplo: MINING_PARAMETERS COMPLEXITY_PENALTY=0.5, MAXIMUM_INPUT_ATTRIBUTES=255,MAXIMUM_OUTPUT_ATTRIBUTES=25 5,MINIMUM_SUPPORT=10,SCORE_METHOD=4,SPLIT_METHOD=3,FORCE_RE GRESSOR= 2.4.4.6.2 Consulta de ejemplo 2: Devolver detalles sobre el contenido del modelo utilizando DMX Esta consulta devuelve todos los nodos de tipo 2, que son los nodos de nivel superior de un rbol que representa un atributo de prediccin determinado. SELECT MODEL_NAME, NODE_NAME, NODE_CAPTION, NODE_SUPPORT, [CHILDREN_CARDINALITY] FROM TM_DecisionTrees.CONTENT WHERE NODE_TYPE = 2 Resultados del ejemplo: MODEL_NAME NODE_NAME NODE_CAPTION NODE_SUPPORT CHILDREN_CARDINALITY TM_DecisionTree 000000001 Todos 12939 5 Qu indican estos resultados? En un modelo de rboles de decisin, la cardinalidad de un nodo determinado indica cuntos elementos secundarios inmediatos tiene el nodo. La cardinalidad de este nodo es 5. Es decir, el modelo dividi la poblacin de destino de posibles compradores de bicicletas en 5 subgrupos. La consulta relacionada siguiente devuelve los elementos secundarios para estos cinco subgrupos, junto con la distribucin de atributos y valores de los nodos secundarios. Dado que elementos estadsticos como compatibilidad, probabilidad y varianza se almacenan en la tabla anidada, NODE_DISTRIBUTION, este ejemplo utiliza la palabra clave FLATTENED para generar las columnas de la tabla anidada. SELECT FLATTENED NODE_NAME, NODE_CAPTION, (SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [SUPPORT] FROM NODE_DISTRIBUTION) AS t FROM TM_DecisionTree.CONTENT WHERE [PARENT_UNIQUE_NAME] = '000000001' Resultados del ejemplo: 54
NODE_NAME NODE_CAPTION T.ATTRIBUTE_NAME T.ATTRIBUTE_VALUE SUPPORT 00000000100 Number Cars Owned = 0 Bike Buyer Missing 0 00000000100 Number Cars Owned = 0 Bike Buyer 0 1067 00000000100 Number Cars Owned = 0 Bike Buyer 1 1875 00000000101 Number Cars Owned = 3 Bike Buyer Missing 0 00000000101 Number Cars Owned = 3 Bike Buyer 0 678 00000000101 Number Cars Owned = 3 Bike Buyer 1 473 A partir de estos resultados, se puede decir que, de los clientes que compraron una bicicleta ([Bike Buyer] = 1), 1067 clientes tenan 0 automviles y 473 clientes tenan 3 automviles.
2.4.5 Algoritmo de regresin lineal de Microsoft El algoritmo de regresin lineal de Microsoft es una variacin del algoritmo de rboles de decisin de Microsoft que ayuda a calcular una relacin lineal entre una variable independiente y otra dependiente y, a continuacin, utilizar esa relacin para la prediccin. La relacin toma la forma de una ecuacin para la lnea que mejor represente una serie de datos. Por ejemplo, la lnea del siguiente diagrama muestra la mejor representacin lineal de los datos.
Ilustracin 18. Representacin de los datos en un modelo de regresin lineal Cada punto de datos del diagrama tiene un error asociado con su distancia con respecto a la lnea de regresin. Los coeficientes a y b de la ecuacin de regresin ajustan el ngulo y la ubicacin de la recta de regresin. Puede obtener la ecuacin de regresin ajustando a y b hasta que la suma de los errores asociados a todos los puntos alcance su valor mnimo. Hay otros tipos de regresin que utilizan varias variables y tambin hay mtodos no lineales de regresin. Sin embargo, la regresin lineal es un mtodo til y conocido para modelar una respuesta a un cambio de algn factor subyacente. Puede utilizar la regresin lineal para determinar una relacin entre dos columnas continuas. Por ejemplo, puede utilizar la regresin lineal para calcular una lnea de tendencias en los datos de fabricacin o ventas. Tambin podra utilizar la regresin lineal como precursor 55
para el desarrollo de modelos de minera de datos ms complejos, con el fin de evaluar las relaciones entre las columnas de datos. Aunque hay muchas maneras de calcular la regresin lineal que no requieren herramientas de minera de datos, la ventaja de utilizar el algoritmo de regresin lineal de Microsoft para esta tarea es que se calculan y se prueban automticamente todas las posibles relaciones entre las variables. No tiene que seleccionar un mtodo de clculo, como por ejemplo para resolver los mnimos cuadrados. Sin embargo, la regresin lineal podra simplificar en exceso las relaciones en escenarios en los que varios factores afectan al resultado. El algoritmo de regresin lineal de Microsoft es una variacin del algoritmo de rboles de decisin de Microsoft. Al seleccionar el algoritmo de regresin lineal de Microsoft, se invoca un caso especial del algoritmo de rboles de decisin de Microsoft, con parmetros que restringen el comportamiento del algoritmo y requieren ciertos tipos de datos de entrada. Adems, en un modelo de regresin lineal, el conjunto de datos completo se utiliza para calcular las relaciones en el paso inicial, mientras que en un modelo de rboles de decisin estndar los datos se dividen repetidamente en rboles o subconjuntos ms pequeos. 2.4.5.1 Datos requeridos para los modelos de regresin lineal Cuando se preparan datos para utilizarse en un modelo de regresin lineal, se deben entender los requisitos del algoritmo determinado. Esto incluye saber cuntos datos se necesitan y cmo se utilizan. Los requisitos para este tipo de modelo son los siguientes: Una columna key : cada modelo debe contener una columna numrica o de texto que identifique cada registro de manera nica. No estn permitidas las claves compuestas. Una columna de prediccin. Se requiere al menos una columna de prediccin. Se pueden incluir varios atributos de prediccin en un modelo, pero deben ser tipos de datos numricos continuos. No se puede utilizar un tipo de datos de fecha y hora como atributo de prediccin aunque el almacenamiento nativo para los datos sea numrico. Columnas de entrada Deben contener datos numricos continuos y se les debe asignarse el tipo de datos adecuado. En un modelo de regresin lineal, el contenido incluye metadatos, la frmula de regresin y estadsticas sobre la distribucin de los valores de entrada. 2.4.5.2 Crear predicciones Una vez procesado el modelo, los resultados se almacenan como un conjunto de estadsticas junto con la frmula de regresin lineal, que se puede utilizar para calcular tendencias futuras. Adems de crear un modelo de regresin lineal seleccionando el algoritmo de regresin lineal de Microsoft, si el atributo de prediccin es un tipo de datos numricos continuo, puede crear un modelo de rbol de decisin que contenga regresiones. En este caso, el algoritmo dividir los datos cuando encuentre puntos de separacin adecuados, pero en cambio crear una frmula de regresin para algunas regiones de datos. 56
2.4.5.3 Referencia tcnica del algoritmo de regresin lineal de Microsoft El algoritmo de regresin lineal de Microsoft es una versin especial del algoritmo de rboles de decisin de Microsoft que est optimizado para modelar pares de atributos continuos. Este tema explica la implementacin del algoritmo, describe cmo personalizar su comportamiento y proporciona vnculos a informacin adicional sobre cmo consultar los modelos. El algoritmo de rboles de decisin de Microsoft se puede utilizar para muchas tareas: regresin lineal, clasificacin o anlisis de la asociacin. Para implementar este algoritmo con el propsito de la regresin lineal, los parmetros del algoritmo se controlan para restringir el crecimiento del rbol y mantener todos los datos en el modelo en un nodo nico. En otras palabras, aunque la regresin lineal est basada en un rbol de decisin, el rbol nicamente contiene una raz y ninguna bifurcacin: todos los datos residen en el nodo raz. Para lograr esto, el parmetro MINIMUM_LEAF_CASES del algoritmo se establece para ser mayor o igual que el nmero total de casos que el algoritmo utiliza para entrenar el modelo de minera de datos. Con el parmetro as establecido, el algoritmo no crea nunca una divisin y, por tanto, lleva a cabo una regresin lineal. La ecuacin que representa la recta de regresin toma la forma general de y = ax + b y se conoce como ecuacin de regresin. La variable Y representa la variable de salida, X representa la variable de entrada y a y b son coeficientes ajustables. Puede recuperar los coeficientes, intersecciones y otra informacin sobre la frmula de regresin consultando el modelo de minera de datos completado. 2.4.5.3.1 Mtodos de puntuacin y seleccin de caractersticas Todos los algoritmos de minera de datos de Analysis Services utilizan automticamente la seleccin de caractersticas para mejorar el anlisis y reducir la carga de procesamiento. El mtodo utilizado para la seleccin de caractersticas en la regresin lineal es la puntuacin de grado de inters, porque el modelo nicamente admite las columnas continuas. Como referencia, la tabla siguiente muestra la diferencia en la seleccin de caractersticas para el algoritmo de regresin lineal y el algoritmo de rboles de decisin.
Algoritmo Mtodo de anlisis Comentarios Regresin lineal Puntuacin de grado de inters Otros mtodos de seleccin de caractersticas que estn disponibles con el algoritmo de rboles de decisin se aplican nicamente a las variables discretas y, por consiguiente, no son aplicables a los modelos de regresin lineal. 57
rboles de decisin Puntuacin de grado de inters Entropa de Shannon Bayesiano con prioridad K2 Dirichlet bayesiano con prioridad uniforme (predeterminado) Si alguna columna contiene valores continuos no binarios, se utiliza la puntuacin de grado de inters en todas las columnas para asegurar la coherencia. En caso contrario, se utiliza el mtodo predeterminado o el especificado. Los parmetros del algoritmo que controlan la seleccin de caractersticas para el modelo de rboles de decisin son MAXIMUM_INPUT_ATTRIBUTES y MAXIMUM_OUTPUT. El algoritmo de regresin lineal de Microsoft admite los parmetros que afectan al comportamiento, el rendimiento y la precisin del modelo de minera de datos resultante. Tambin puede establecer marcas de modelado en las columnas del modelo de minera de datos o de la estructura de minera de datos para controlar la manera en que se procesan los datos. 2.4.5.3.2 Establecer los parmetros del algoritmo En la tabla siguiente se enumeran los parmetros que se proporcionan para el algoritmo de regresin lineal de Microsoft. Parmetros Descripcin MAXIMUM_INPUT_ATTRIBUTES Define el nmero de atributos de entrada que puede administrar el algoritmo antes de invocar la seleccin de caractersticas. Establezca este valor en 0 para desactivar la seleccin de caractersticas. El valor predeterminado es 255. MAXIMUM_OUTPUT_ATTRIBUTES Define el nmero de atributos de salida que puede administrar el algoritmo antes de invocar la seleccin de caractersticas. Establezca este valor en 0 para desactivar la seleccin de caractersticas. El valor predeterminado es 255. FORCE_REGRESSOR Fuerza que el algoritmo use las columnas indicadas como regresores, independientemente de su importancia segn los clculos del algoritmo.
2.4.5.4 Contenido del modelo de minera de datos para los modelos de regresin lineal Un modelo de regresin lineal tiene una estructura sumamente simple. Cada modelo tiene un nico nodo primario que representa el modelo y sus metadatos, y un nodo de rbol de regresin (NODE_TYPE = 25) que contiene la frmula de regresin para cada atributo de prediccin. 58
Ilustracin 19. Modelo de minera de datos para regresin lineal Los modelos de regresin lineal usan el mismo algoritmo que los rboles de decisin de Microsoft, pero se utilizan parmetros diferentes para restringir el rbol y solo se aceptan como entradas los atributos continuos. Sin embargo, dado que los modelos de regresin lineal se basan en el algoritmo de rboles de decisin de Microsoft, los modelos de regresin lineal se muestran utilizando el Visor de rboles de decisin de Microsoft. Al crear un modelo utilizando el algoritmo de regresin lineal de Microsoft, el motor de minera de datos crea una instancia especial de un modelo de rboles de decisin y proporciona los parmetros que restringen el rbol para contener todos los datos de entrenamiento en un nico nodo. Todas las entradas continuas se marcan y evalan como regresores potenciales, pero nicamente los que se ajusten a los datos se conservan como regresores en el modelo final. El anlisis genera una nica frmula de regresin o ninguna frmula para cada regresor. Adems, al crear un modelo de rboles de decisin que incluye un atributo de prediccin continuo, a veces el rbol tiene nodos de regresin que comparten las propiedades de los nodos del rbol de regresin. La mayora de la informacin importante en un nodo de regresin est incluida en la tabla NODE_DISTRIBUTION. En el ejemplo siguiente se muestra el diseo de la tabla NODE_DISTRIBUTION. En este ejemplo, la estructura de minera de datos de Targeted Mailing se ha utilizado para crear un modelo de regresin lineal que predice los ingresos de los clientes segn su edad. La finalidad del modelo es nicamente ilustrativo, porque puede generarse con facilidad utilizando los datos y la estructura de minera de datos de ejemplo existentes de AdventureWorks2012. ATTRIBUTE_NAME ATTRIBUTE_VALUE SUPPORT PROBABILITY VARIANCE VALUETYPE Yearly Income Missing 0 0.000457142857142857 0 1 Yearly Income 57220.8876687257 17484 0.999542857142857 1041275619.52776 3 Age 471.687717702463 0 0 126.969442359327 7 Age 234.680904692439 0 0 0 8 Age 45.4269617936399 0 0 126.969442359327 9 35793.5477381267 0 0 1012968919.28372 11 La tabla NODE_DISTRIBUTION contiene varias filas, cada una agrupada por una variable. Las primeras dos filas siempre son de los tipos de valores 1 y 3, y describen el atributo de destino. Las filas siguientes proporcionan los detalles sobre la frmula para un regresor determinado. Un regresor es una variable de entrada que tiene una relacin lineal con la variable de salida. Puede haber varios regresores y cada uno tendr una fila independiente para el coeficiente (VALUETYPE = 7), la ganancia de puntuacin (VALUETYPE = 8) y las estadsticas (VALUETYPE = 9). Finalmente, la tabla incluye una fila que contiene la interseccin de la ecuacin (VALUETYPE = 11).
59
2.4.5.5 Ejemplos de consultas de modelos de regresin lineal 2.4.5.5.1 Consulta de ejemplo 1: usar el conjunto de filas de esquema de minera de datos para determinar los parmetros que se usan para un modelo Al consultar el conjunto de filas de esquema de minera de datos, puede buscar los metadatos acerca del modelo. Podra incluirse cundo se cre el modelo, cundo se proces en ltimo lugar, el nombre de la estructura de minera de datos en la que se basa y el nombre de la columna que se usa como atributo de prediccin. Tambin se pueden devolver los parmetros que se utilizaron cuando se cre el modelo por primera vez. SELECT MINING_PARAMETERS FROM $system.DMSCHEMA_MINING_MODELS WHERE MODEL_NAME = 'TM_PredictIncome' Resultados del ejemplo: MINING_PARAMETERS COMPLEXITY_PENALTY=0.9, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, MINIMUM_SUPPORT=10, SCORE_METHOD=4, SPLIT_METHOD=3, FORCE_REGRESSOR= 2.4.5.5.2 Consulta de ejemplo 2: recuperar la frmula de regresin del modelo La consulta devuelve el contenido del nodo que contiene la frmula de regresin. Cada variable y coeficiente estn almacenados en una fila independiente de la tabla NODE_DISTRIBUTION anidada. SELECT FLATTENED NODE_DISTRIBUTION as t FROM LR_PredictIncome.CONTENT Resultados esperados:
t.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.SUPPORT t.PROBABILITY t.VARIANCE t.VALUETYPE Yearly Income Missing 0 0.000457142857142857 0 1 Yearly Income 57220.8876687257 17484 0.999542857142857 1041275619.52776 3 Age 471.687717702463 0 0 126.969442359327 7 Age 234.680904692439 0 0 0 8 Age 45.4269617936399 0 0 126.969442359327 9 35793.5477381267 0 0 1012968919.28372 11 En la comparacin, en la Leyenda de minera de datos, la frmula de regresin aparece como sigue: 60
Yearly Income = 57,220.919 + 471.688 * (Age - 45.427) Puede ver que en la Leyenda de minera de datos, algunos nmeros se redondean; sin embargo, la tabla NODE_DISTRIBUTION y la Leyenda de minera de datos contienen esencialmente los mismos valores. Los valores de la columna VALUETYPE indican qu tipo de informacin contiene cada fila, lo que resulta til si los resultados se procesan mediante programacin. En la tabla siguiente se muestran los tipos de valores que se generan para una frmula de regresin lineal. VALUETYPE 1 (ausente) 3 (continuo) 7 (coeficiente) 8 (ganancia de puntuacin) 9 (estadsticas) 7 (coeficiente) 8 (ganancia de puntuacin) 9 (estadsticas) 11 (interseccin)
2.4.6 Algoritmo de regresin logstica de Microsoft La regresin logstica es una tcnica estadstica conocida que se usa para modelar los resultados binarios. Existen varias implementaciones de regresin logstica en la investigacin estadstica, que utilizan diferentes tcnicas de aprendizaje. El algoritmo de Regresin logstica de Microsoft se ha implementado utilizando una variacin del algoritmo de Red neuronal de Microsoft. Este algoritmo comparte muchas de las cualidades de las redes neurales pero es ms fcil de entrenar. Una de las ventajas de la regresin logstica es que el algoritmo es muy flexible, puede tomar cualquier tipo de entrada y admite varias tareas analticas diferentes: Usar datos demogrficos para realizar predicciones sobre los resultados, como el riesgo de contraer una determinada enfermedad. Explorar y ponderar los factores que contribuyen a un resultado. Por ejemplo, buscar los factores que influyen en los clientes para volver a visitar un establecimiento. Clasificar los documentos, el correo electrnico u otros objetos que tengan muchos atributos. Imagine un grupo de personas que comparten informacin demogrfica parecida y que adquieren productos de la empresa Adventure Works. Al modelar los datos para relacionarlos con un resultado concreto, como la compra de un producto de destino, podr ver cmo 61
contribuye la informacin demogrfica a la probabilidad de que alguien adquiera dicho producto de destino. La regresin logstica es un mtodo estadstico conocido que se usa para determinar la contribucin de varios factores a un par de resultados. La implementacin de Microsoft usa una red neuronal modificada para modelar las relaciones entre las entradas y los resultados. Se mide el efecto de cada entrada en el resultado y se ponderan las diversas entradas en el modelo acabado. El nombre regresin logstica procede del hecho de que la curva de los datos se comprime mediante una transformacin logstica para minimizar el efecto de los valores extremos. Al preparar los datos para su uso en el entrenamiento de un modelo de regresin logstica, conviene comprender qu requisitos son imprescindibles para el algoritmo concreto, incluidos el volumen de datos necesario y la forma en que estos datos se utilizan. Los requisitos para un modelo de regresin logstica son los siguientes: Una columna de una sola clave: cada modelo debe contener una columna numrica o de texto que identifique cada registro de manera nica. No estn permitidas las claves compuestas. Columnas de entrada: cada modelo debe tener al menos una columna de entrada que contenga los valores que se utilizan como factores en el anlisis. Puede tener tantas columnas de entrada como desee, pero dependiendo del nmero de valores existentes en cada columna, la adicin de columnas adicionales podra aumentar el tiempo necesario para entrenar el modelo. Al menos una columna de prediccin: el modelo debe contener al menos una columna de prediccin de cualquier tipo de datos, incluidos datos numricos continuos. Los valores de la columna de prediccin tambin se pueden tratar como entradas del modelo, o se puede especificar que solo se utilicen para las predicciones. No se admiten tablas anidadas en las columnas de prediccin, pero se pueden usar como entradas. Para explorar el modelo, puede usar el Visor de redes neuronales de Microsoft o el Visor de rbol de contenido genrico de Microsoft. Cuando se ve el modelo con el Visor de redes neuronales de Microsoft, Analysis Services muestra los factores que contribuyen a un resultado determinado, clasificados por su importancia. Puede elegir un atributo y los valores que desea comparar. El contenido de un modelo de regresin logstica incluye un nodo marginal que muestra todas las entradas usadas para el modelo y las subredes de los atributos de prediccin. Una vez entrenado el modelo, puede crear consultas en el contenido del modelo para obtener los coeficientes de regresin y otros detalles, o puede usar el modelo para realizar predicciones. 2.4.6.1 Referencia tcnica del algoritmo de regresin logstica de Microsoft El algoritmo de regresin logstica de Microsoft es una variacin del algoritmo de red neuronal de Microsoft, en la que el parmetro HIDDEN_NODE_RATIO se establece en 0. 62
Este valor crear un modelo de red neuronal que no contenga un nivel oculto y que, por consiguiente, sea equivalente a la regresin logstica. Supongamos que la columna de prediccin solo contiene dos estados, pero que aun as desea realizar un anlisis de regresin, relacionando las columnas de entrada con la probabilidad de que la columna de prediccin contenga un estado especfico. El siguiente diagrama muestra los resultados que obtendr si asigna 1 y 0 a los estados de la columna de prediccin, calcula la probabilidad de que la columna contenga un estado especfico y realiza una regresin lineal en una variable de entrada.
Ilustracin 20. Resultador de la columna de prediccn. El eje x contiene los valores de una columna de entrada. El eje y contiene las probabilidades de que la columna de prediccin tenga un estado o el otro. El problema que puede surgir es que la regresin lineal no limite la columna a los valores 0 y 1, a pesar de que son los valores mximo y mnimo de la columna. Una forma de resolver el problema es llevar a cabo una regresin logstica. En vez de crear una lnea recta, el anlisis de regresin logstica crea una curva con forma de "S" que contiene las restricciones mxima y mnima. Por ejemplo, el siguiente diagrama muestra los resultados que se obtienen si lleva a cabo una regresin logstica con los mismos datos utilizados en el ejemplo anterior.
Ilustracin 21. Resultados de la regresin logstica Observe cmo la curva nunca sobrepasa el valor 1 o disminuye por debajo de 0. Puede utilizar la regresin logstica para describir qu columnas de entrada son importantes para determinar el estado de la columna de prediccin. 63
Todos los algoritmos de minera de datos de Analysis Services utilizan automticamente la seleccin de caractersticas para mejorar el anlisis y reducir la carga de procesamiento. El mtodo utilizado para la seleccin de caractersticas en un modelo de regresin logstica depende del tipo de datos del atributo. Dado que la regresin logstica se basa en el algoritmo de red neuronal de Microsoft, utiliza un subconjunto de los mtodos de seleccin de caractersticas que se aplican a las redes neuronales. La puntuacin en el contexto de un modelo de red neuronal o de regresin logstica implica el proceso de convertir los valores que estn presentes en los datos en un conjunto de valores que utilizan la misma escala y, por consiguiente, se pueden comparar entre s. Por ejemplo, suponga que las entradas para los ingresos abarcan de 0 a 100.000 mientras que las entradas para [Nmero de hijos] abarcan de 0 a 5. Este proceso de conversin siempre le permite puntuar, o comparar, la importancia de cada entrada sin tener en cuenta la diferencia en los valores. Para cada estado que aparece en el conjunto de entrenamiento, el modelo genera una entrada. Para las entradas discretas o de datos discretos, se crea una entrada adicional para representar el estado Missing, si aparece al menos una vez en el conjunto de entrenamiento. En las entradas continuas, se crean al menos dos nodos de entrada: uno para los valores Missing, si estn presentes en los datos de entrenamiento, y una entrada para todos los valores existentes o no nulos. Cada entrada se escala a un formato numrico usando el mtodo de normalizacin de puntuacin-z, (x )/StdDev. Durante la normalizacin de puntuacin-z, la media () y la desviacin estndar se obtienen sobre el conjunto de entrenamiento completo. Valores continuos El valor est presente: (X )/ // X is the actual value being encoded) El valor est ausente: - / // negative mu divided by sigma) Valores discretos = p (the prior probability of a state) StdDev = sqrt(p(1-p)) El valor est presente: (1 )/// (One minus mu) divided by sigma) El valor est ausente: ( )/// negative mu divided by sigma) Hay varios mtodos en la literatura estadstica para realizar la regresin logstica, pero una parte importante de todos ellos consiste en evaluar el ajuste del modelo. Se han propuesto diversas estadsticas fciles de ajustar, entre ellas el cociente de probabilidades y los patrones de covariable. La explicacin de cmo medir el ajuste de un modelo escapa del mbito de este tema; sin embargo, puede recuperar el valor de los coeficientes en el modelo y utilizarlos para disear sus propias medidas de ajuste. 64
Los coeficientes para cada nodo del grafo del modelo representan una suma ponderada de las entradas a ese nodo. En un modelo de regresin logstica, el nivel oculto est vaco; por consiguiente, solamente hay un conjunto de coeficientes, que se almacena en los nodos de salida. Puede recuperar los valores de los coeficientes utilizando la consulta siguiente: SELECT FLATTENED [NODE_UNIQUE NAME], (SELECT ATTRIBUTE_NAME< ATTRIBUTE_VALUE FROM NODE_DISTRIBUTION) AS t FROM <model name>.CONTENT WHERE NODE_TYPE = 23 Para cada valor de salida, esta consulta devuelve los coeficientes y un identificador que seala al nodo de entrada relacionado. Tambin devuelve una fila que contiene el valor de la salida y la interseccin. Cada entrada X tiene su propio coeficiente (Ci), pero la tabla anidada tambin contiene un coeficiente "libre" (Co), calculado segn la frmula siguiente: F(X) = X1*C1 + X2*C2 + +Xn*Cn + X0 Activation: exp(F(X)) / (1 + exp(F(X)) )
2.4.6.2 Contenido del modelo de minera de datos para los modelos de regresin logstica Un modelo de regresin logstica se crea utilizando el algoritmo de red neuronal de Microsoft con parmetros que restringen el modelo para eliminar el nodo oculto. Por consiguiente, la estructura global de un modelo de regresin logstica es casi idntica a la de una red neuronal: cada modelo tiene un nico nodo primario que representa el modelo y sus metadatos, y un nodo de estadsticas marginal especial (NODE_TYPE = 24) que proporciona estadsticas descriptivas sobre las entradas que se usan en el modelo. Adems, el modelo contiene una subred (NODE_TYPE = 17) para cada atributo de prediccin. Al igual que en un modelo de red neuronal, cada subred siempre contiene dos bifurcaciones: una para el nivel de entrada y otra que contiene el nivel oculto (NODE_TYPE = 19) y el nivel de salida (NODE_TYPE = 20) para la red. La misma subred se puede utilizar para varios atributos si se especifican como de solo prediccin. Los atributos de prediccin que tambin sean entradas pueden no aparecer en la misma subred. Sin embargo, en un modelo de regresin logstica, el nodo que representa el nivel oculto est vaco y no tiene ningn elemento secundario. Por consiguiente, el modelo contiene nodos que representan salidas individuales (NODE_TYPE = 23) y entradas individuales (NODE_TYPE = 21) pero ningn nodo oculto individual. 65
Ilustracin 22. Modelo de regresin logstica La denominacin de los nodos en un modelo de regresin logstica proporciona informacin adicional sobre las relaciones entre los nodos del modelo. En la tabla siguiente se muestran las convenciones para los identificadores que estn asignados a los nodos de cada nivel. Tipo de nodo Convencin para el identificador de nodo Raz del modelo (1) 00000000000000000. Nodo de estadsticas marginales (24) 10000000000000000 Nivel de entrada (18) 30000000000000000 Nodo de entrada (21) Comienza en 60000000000000000 Subred (17) 20000000000000000 Nivel oculto (19) 40000000000000000 Nivel de salida (20) 50000000000000000 Nodo de salida (23) Comienza en 80000000000000000 Puede utilizar estos identificadores para determinar cmo se relacionan los atributos de salida con atributos concretos del nivel de entrada, viendo la tabla NODE_DISTRIBUTION del nodo de salida. Cada fila de esa tabla contiene un identificador que apunta a un nodo de atributo de entrada concreto. La tabla NODE_DISTRIBUTION tambin contiene el coeficiente para ese par de entrada-salida.
2.4.6.3 Ejemplos de consultas de modelos de regresin logstica 2.4.6.3.1 Consulta de ejemplo 1: recuperar parmetros del modelo utilizando el conjunto de filas de esquema de minera de datos Al consultar el conjunto de filas de esquema de minera de datos, se pueden encontrar metadatos sobre el modelo, como cundo se cre, cundo se proces por ltima vez, el nombre de la estructura de minera de datos en que se basa el modelo, y el nombre de la columna que se usa como atributo de prediccin. En el ejemplo siguiente se devuelven 66
los parmetros que se usaron cuando se cre por primera vez el modelo, junto con el nombre y el tipo del modelo, y la fecha en que se cre. SELECT MODEL_NAME, SERVICE_NAME, DATE_CREATED, MINING_PARAMETERS FROM $system.DMSCHEMA_MINING_MODELS WHERE MODEL_NAME = 'Call Center_LR' Resultados del ejemplo: MODEL_NAME SERVICE_NAME DATE_CREATED MINING_PARAMETERS Call Center_LR Microsoft_Logistic_Regression 04/07/2009 20:38:33 HOLDOUT_PERCENTAGE=30, HOLDOUT_SEED=1, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, MAXIMUM_STATES=100, SAMPLE_SIZE=10000 2.4.6.3.2 Consulta de ejemplo 2: buscar informacin adicional sobre el modelo utilizando DMX La consulta siguiente devuelve informacin bsica sobre el modelo de regresin logstica. Un modelo de regresin logstica es similar a un modelo de red neuronal en muchos sentidos, por ejemplo en la presencia de un nodo estadstico marginal (NODE_TYPE = 24) que describe los valores que se usan como entradas. En esta consulta de ejemplo se utiliza el modelo de distribucin de correo directo y se obtienen los valores de todas las entradas recuperndolos de la tabla anidada NODE_DISTRIBUTION. SELECT FLATTENED NODE_DISTRIBUTION AS t FROM [TM_Logistic Regression].CONTENT Resultados parciales: t.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.SUPPORT t.PROBABILITY t.VARIANCE t.VALUETYPE Age Missing 0 0 0 1 Age 45.43491192 17484 1 126.9544114 3 Bike Buyer Missing 0 0 0 1 Bike Buyer 0 8869 0.507263784 0 4 Bike Buyer 1 8615 0.492736216 0 4 Commute Distance Missing 0 0 0 1 Commute Distance 5-10 Miles 3033 0.173472889 0 4 La consulta real devuelve muchas ms filas; sin embargo, este ejemplo muestra el tipo de informacin que se proporciona sobre las entradas. En la tabla se enumera cada valor posible para las entradas discretas. Para entradas de valor continuo como Age, no se puede realizar una lista completa, de modo que la entrada son datos discretos como media. 2.4.7 Algoritmo Bayes naive de Microsoft Desde el punto de vista computacional, el algoritmo es menos complejo que otros algoritmos de Microsoft y, por tanto, resulta til para generar rpidamente modelos de minera de datos para descubrir relaciones entre columnas de entrada y columnas de prediccin. Puede utilizar 67
este algoritmo para realizar la exploracin inicial de los datos y, ms adelante, aplicar los resultados para crear modelos de minera de datos adicionales con otros algoritmos ms complejos y precisos desde el punto de vista computacional. Como parte de su estrategia promocional, el departamento de comercializacin de la empresa Adventure Works Cycles ha decidido atraer a posibles clientes realizando un envo por correo de folletos. Para reducir costos, desean enviar los folletos solo a los clientes de los que esperan recibir respuesta. La empresa almacena informacin en una base de datos sobre datos demogrficos y respuestas a envos de correo anteriores. Desean utilizar estos datos para ver el modo en que los datos demogrficos como la edad o la ciudad pueden ayudarles a predecir la respuesta a una promocin, comparando los clientes potenciales con los que tienen caractersticas similares y con los que han adquirido productos de la empresa en el pasado. En concreto, lo que desean es ver las diferencias entre los clientes que adquirieron una bicicleta y los que no lo hicieron. Mediante el algoritmo Bayes naive de Microsoft, el departamento de comercializacin pude predecir rpidamente un resultado de un perfil de cliente concreto y, por tanto, puede determinar qu clientes respondern a los folletos con ms probabilidad. Con el Visor Bayes naive de Microsoft de SQL Server Data Tools (SSDT), tambin pueden investigar visualmente qu columnas de entrada especficas contribuyen a conseguir respuestas positivas a los folletos. El algoritmo Bayes naive de Microsoft calcula la probabilidad de cada estado de cada columna de entrada, dado cada posible estado de la columna de prediccin. 68
Ilustracin 23. Resultados de la aplicacin del Algoritmo de Bayes Aqu, el Visor Bayes naive de Microsoft muestra cada columna de entrada del conjunto de datos e indica cmo se distribuyen los estados de cada columna, dado cada estado de la columna de prediccin. Esta vista del modelo se utilizara para identificar las columnas de entrada que son importantes para diferenciar los distintos estados de la columna de prediccin. Por ejemplo, en la fila Commute Distance que se muestra aqu, la distribucin de valores de entrada es visiblemente diferente para los compradores en comparacin con los no compradores. Esto indica que la entrada, Commute Distance = 0-1 miles, es un factor de prediccin potencial. El visor tambin proporciona valores para las distribuciones, de modo que pueda ver que para los clientes que viajan entre una y dos millas para ir a trabajar, la probabilidad de que compren una bicicleta es de 0,387, y la probabilidad que no la compren es de 0,287. En este ejemplo, el algoritmo utiliza la informacin numrica, derivada de un dato de cliente (como la distancia entre el domicilio y el lugar de trabajo), para predecir si un cliente comprara una bicicleta. 69
Al preparar los datos para su uso en un modelo de entrenamiento Bayes naive, conviene comprender qu requisitos son imprescindibles para el algoritmo, incluidos el volumen de datos necesario y la forma en que estos datos se utilizan. Los requisitos para un modelo Bayes naive son los siguientes: Una columna de una sola clave: cada modelo debe contener una columna numrica o de texto que identifique cada registro de manera nica. No estn permitidas las claves compuestas. Columnas de entrada: en un modelo Bayes naive, todas las columnas deben ser discretas o discretizadas. En un modelo Bayes naive, tambin es importante asegurarse de que los atributos de entrada sean independientes unos de otros. Esto es particularmente importante al utilizar el modelo para la prediccin. El motivo es que, si utiliza dos columnas de datos que ya estn estrechamente relacionadas, el efecto sera multiplicar la influencia de esas columnas, lo que puede ocultar otros factores que influyen en el resultado. Al contrario, la capacidad del algoritmo de identificar las correlaciones entre las variables es til cuando est explorando un modelo o conjunto de datos, para identificar las relaciones entre las entradas. Al menos una columna de prediccin: el atributo de prediccin debe contener valores discretos o discretizados. Los valores de la columna predecible se pueden tratar como entradas. Este ejercicio puede ser til si explora un nuevo conjunto de datos, para encontrar relaciones entre las columnas. Una vez entrenado el modelo, los resultados se almacenan como un conjunto de patrones que se puede explorar o utilizar para realizar predicciones. Puede crear consultas para devolver las predicciones sobre cmo se relacionan los nuevos datos con el atributo de prediccin, o puede recuperar estadsticas que describan las correlaciones que ha hallado el modelo. 2.4.7.1 Referencia tcnica del algoritmo Bayes naive de Microsoft Este algoritmo calcula la probabilidad condicional entre columnas de entrada y de prediccin y supone que las columnas son independientes. Esta suposicin de independencia conduce al nombre Bayes naive. Desde el punto de vista computacional, el algoritmo es menos complejo que otros algoritmos de Microsoft y, por tanto, resulta til para generar rpidamente modelos de minera de datos que detectan las relaciones entre las columnas de entrada y las columnas de prediccin. El algoritmo considera cada par de valores de atributos de entrada y de atributos de salida. El algoritmo Bayes naive de Microsoft realiza la seleccin automtica de las caractersticas para limitar el nmero de valores que se consideran al generar el modelo. 70
Algoritmo Mtodo de anlisis Comentarios Bayes naive Entropa de Shannon Bayesiano con prioridad K2 Dirichlet bayesiano con prioridad uniforme (predeterminado) Bayes naive solo acepta atributos discretos o de datos discretos, por lo que no puede utilizar la puntuacin de grado de inters. El algoritmo est diseado para reducir al mnimo el tiempo de proceso y seleccionar eficazmente los atributos que tienen la importancia mxima; sin embargo, puede controlar los datos que el algoritmo utiliza estableciendo los parmetros como se indica a continuacin: Para limitar los valores que se utilizan como entradas, disminuya el valor de MAXIMUM_INPUT_ATTRIBUTES. Para limitar el nmero de atributos analizados por el modelo, disminuya el valor de MAXIMUM_OUTPUT_ATTRIBUTES. Para limitar el nmero de valores que pueden considerarse para cualquier un atributo, disminuya el valor de MINIMUM_STATES. El algoritmo Bayes naive de Microsoft admite varios parmetros que influyen en el comportamiento, el rendimiento y la precisin del modelo de minera de datos resultante. Tambin puede establecer marcas de modelado en las columnas de modelo para controlar cmo se procesan los datos, o establecer marcas en la estructura de minera de datos para especificar cmo se deberan administrar los valores nulos o que faltan. El algoritmo Bayes naive de Microsoft admite varios parmetros que influyen en el rendimiento y la precisin del modelo de minera de datos resultante. Estos parmetros se describen en la tabla siguiente. El algoritmo de rboles de decisin de Microsoft admite las marcas de modelado siguientes. Al crear la estructura o el modelo de minera de datos, se definen las marcas de modelado que especifican cmo se tratan los valores de cada columna durante el anlisis. Un modelo de rbol de Bayes naive debe contener una columna de clave, al menos un atributo de prediccin y al menos un atributo de entrada. Ningn atributo puede ser continuo; si los datos contienen datos numricos continuos, se omitirn o se convertirn en discretos. 2.4.7.2 Contenido del modelo de minera de datos para los modelos Bayes naive Un modelo Bayes naive tiene un nodo primario nico que representa el modelo y sus metadatos, y debajo de dicho nodo, varios rboles independientes que representan los atributos de prediccin seleccionados. Adems de los rboles para los atributos, cada modelo contiene un nodo de estadsticas marginales (NODE_TYPE = 26) que proporciona estadsticas descriptivas sobre el conjunto de casos de entrenamiento. Para cada atributo de prediccin y valor, el modelo genera un rbol que contiene informacin que describe cmo afectaron las columnas de entrada al resultado de ese atributo de prediccin concreto. Cada rbol contiene el atributo de prediccin y su valor (NODE_TYPE = 9) y, a continuacin, una serie de nodos que representan los atributos de entrada 71
(NODE_TYPE = 10). Dado que los atributos de entrada normalmente tienen varios valores, cada uno de dichos atributos (NODE_TYPE = 10) puede tener varios nodos secundarios (NODE_TYPE = 11), uno para cada estado especfico del atributo.
Ilustracin 24. Modelo Bayes naive La denominacin de los nodos en un modelo Bayes naive proporciona informacin adicional sobre el tipo de nodo, lo que facilita la comprensin de las relaciones entre los tipos de informacin del modelo. En la tabla siguiente se muestra la convencin para los identificadores asignados a los distintos tipos de nodos. Tipo de nodo Convencin para el identificador de nodo Raz del modelo (1) Siempre equivale a 0. Nodo de estadsticas marginales (26) Un valor de identificador arbitrario. Atributo de prediccin (9) Nmero hexadecimal a partir de 10000000. Atributo de entrada (10) Un nmero hexadecimal de dos partes en el que la primera siempre es 20000000, y la segunda comienza con el identificador hexadecimal del atributo de prediccin relacionado. Estado de atributo de entrada (11) Un nmero hexadecimal de tres partes en el que la primera siempre es 30000000, la segunda comienza con el identificador hexadecimal del atributo de prediccin relacionado y la tercera representa el identificador del valor.
2.4.7.3 Ejemplos de consultas del modelo Bayes naive 2.4.7.3.1 Consulta de ejemplo 1: obtener metadatos del modelo usando DMX Al consultar el conjunto de filas de esquema de minera de datos, puede buscar los metadatos del modelo. Esto podra incluir cundo se cre, cundo se proces en ltimo lugar, el nombre de la estructura de minera de datos en la que se basa el modelo y el nombre de las columnas que se usan como atributos de prediccin. Tambin se pueden devolver los parmetros que se utilizaron cuando se cre el modelo. SELECT MODEL_CATALOG, MODEL_NAME, DATE_CREATED, LAST_PROCESSED, SERVICE_NAME, PREDICTION_ENTITY, FILTER FROM $system.DMSCHEMA_MINING_MODELS WHERE MODEL_NAME = 'TM_NaiveBayes_Filtered' Resultados del ejemplo: 72
MODEL_CATALOG AdventureWorks MODEL_NAME TM_NaiveBayes_Filtered DATE_CREATED 3/1/2008 19:15 LAST_PROCESSED 3/2/2008 20:00 SERVICE_NAME Microsoft_Naive_Bayes PREDICTION_ENTITY Bike Buyer,Yearly Income FILTER [Region] = 'Europe' OR [Region] = 'North America'
2.4.7.3.2 Consulta de ejemplo 2: recuperar un resumen de los datos de entrenamiento En un modelo Bayes naive, el nodo de estadsticas marginal almacena informacin agregada sobre la distribucin de los valores de los datos de entrenamiento. Este resumen es cmodo y le evita tener que crear consultas SQL con los datos de entrenamiento para encontrar la misma informacin. En el ejemplo siguiente se utiliza una consulta de contenido DMX para recuperar los datos del nodo (NODE_TYPE = 24). Dado que las estadsticas estn almacenadas en una tabla anidada, la palabra clave FLATTENED se utiliza para facilitar la visualizacin de los resultados. SELECT FLATTENED MODEL_NAME, (SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [SUPPORT], [PROBABILITY], VALUETYPE FROM NODE_DISTRIBUTION) AS t FROM TM_NaiveBayes.CONTENT WHERE NODE_TYPE = 26 Resultados parciales: MODEL_NAME t.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.SUPPORT t.PROBABILITY t.VALUETYPE TM_NaiveBayes Bike Buyer Missing 0 0 1 TM_NaiveBayes Bike Buyer 0 8869 0.507263784 4 TM_NaiveBayes Bike Buyer 1 8615 0.492736216 4 TM_NaiveBayes Gender Missing 0 0 1 TM_NaiveBayes Gender F 8656 0.495081217 4 TM_NaiveBayes Gender M 8828 0.504918783 4 Por ejemplo, estos resultados le indican el nmero de casos de entrenamiento para cada valor discreto (VALUETYPE = 4), junto con la probabilidad calculada, ajustados para los valores que faltan (VALUETYPE = 1).
2.4.8 Algoritmo de red neuronal de Microsoft Los modelos de minera de datos construidos con el algoritmo de red neuronal de Microsoft pueden contener varias redes, en funcin del nmero de columnas que se utilizan para la entrada y la prediccin, o solo para la prediccin. El nmero de redes que contiene un nico 73
modelo de minera de datos depende del nmero de estados que contienen las columnas de entrada y las columnas de prediccin que utiliza el modelo. El algoritmo de red neuronal de Microsoft es til para analizar datos de entrada complejos, como los datos de un proceso comercial o de produccin, o problemas empresariales para los que hay una cantidad importante de datos de entrenamiento disponibles pero en los que no es fcil derivar reglas mediante otros algoritmos. Los casos sugeridos para utilizar el algoritmo de red neuronal de Microsoft son: Anlisis de comercializacin y promocin, como medir el xito de una promocin por correo directo o una campaa publicitaria en la radio. Predecir los movimientos de las acciones, la fluctuacin de la moneda u otra informacin financiera con gran nmero de cambios a partir de los datos histricos. Analizar los procesos industriales y de produccin. Minera de texto. Cualquier modelo de prediccin que analice relaciones complejas entre muchas entradas y relativamente pocas salidas. El algoritmo de red neuronal de Microsoft crea una red formada por hasta tres niveles de neuronas. Estas capas son una capa de entrada, una capa oculta opcional y una capa de salida. Nivel de entrada: las neuronas de entrada definen todos los valores de atributos de entrada para el modelo de minera de datos, as como sus probabilidades. Nivel oculto: las neuronas ocultas reciben entradas de las neuronas de entrada y proporcionan salidas a las neuronas de salida. El nivel oculto es donde se asignan pesos a las distintas probabilidades de las entradas. Un peso describe la relevancia o importancia de una entrada determinada para la neurona oculta. Cuanto mayor sea el peso asignado a una entrada, ms importante ser el valor de dicha entrada. Los pesos pueden ser negativos, lo que significa que la entrada puede desactivar, en lugar de activar, un resultado concreto. Nivel de salida: las neuronas de salida representan valores de atributo de prediccin para el modelo de minera de datos. El modelo de red neuronal debe contener una columna de clave, una o ms columnas de entrada y una o ms columnas de prediccin. Los modelos de minera de datos que usan el algoritmo de red neuronal de Microsoft estn muy influenciados por los valores que se especifican en los parmetros disponibles para el algoritmo. Los parmetros definen cmo se muestrean los datos, cmo se distribuyen o cmo se espera que estn distribuidos en cada columna, y cundo se invoca la seleccin de caractersticas para limitar los valores usados en el modelo final. Para trabajar con los datos y ver cmo el modelo pone en correlacin las entradas y salidas, puede usar el Visor de redes neuronales de Microsoft. Con este visor personalizado, puede filtrar los atributos de entrada y sus valores, y ver grficamente cmo afectan a las salidas. La informacin sobre herramientas del visor muestra la probabilidad y la mejora respecto al modelo predictivo asociados a cada par de valores de entrada y de salida. 74
Una vez procesado el modelo, puede usar la red y los pesos almacenados dentro de cada nodo para realizar predicciones. Un modelo de red neuronal admite el anlisis de regresin, de asociacin y de clasificacin. Por lo tanto, el significado de cada prediccin puede ser diferente. Tambin puede consultar el propio modelo, revisar las correlaciones encontradas y recuperar las estadsticas relacionadas. 2.4.8.1 Referencia tcnica del algoritmo de red neuronal de Microsoft El algoritmo de red neuronal de Microsoft usa una red de tipo perceptrn multinivel, que tambin se denomina red de tipo regla delta de propagacin hacia atrs, compuesta por tres niveles de neuronas o perceptrones. Estos niveles son: un nivel de entrada, un nivel oculto opcional y un nivel de salida. Esta documentacin no abarca una discusin detallada sobre redes neuronales de tipo perceptrn multinivel. En este tema, se explica la implementacin bsica del algoritmo, incluido el mtodo usado para normalizar los valores de entrada y de salida, y los mtodos de seleccin de caractersticas usados para reducir la cardinalidad de los atributos. En este tema, se describen los parmetros y otros valores que se pueden usar para personalizar el comportamiento del algoritmo; adems, se proporcionan vnculos a informacin adicional sobre cmo consultar el modelo. En una red neuronal de tipo perceptrn multinivel, cada neurona recibe una o ms entradas y genera una o ms salidas idnticas. Cada salida es una funcin no lineal simple de la suma de las entradas a la neurona. Las entradas pasan de los nodos del nivel de entrada a los nodos del nivel oculto y, a continuacin, al nivel de salida; no existe ninguna conexin entre neuronas del mismo nivel. Si no se incluye ningn nivel oculto, tal y como pasa en un modelo de regresin logstica, las entradas pasan directamente desde los nodos del nivel de entrada a los nodos del nivel de salida. Existen tres tipos de neuronas en una red neuronal creada con el algoritmo de red neuronal de Microsoft: Input neurons. Las neuronas de entrada proporcionan valores de atributo de entrada para el modelo de minera de datos. En el caso de los atributos de entrada discretos, las neuronas de entrada suelen representar un nico estado del atributo de entrada. Esto incluye los valores ausentes, si los datos de entrenamiento contienen valores NULL para ese atributo. Un atributo de entrada discreto que tiene ms de dos estados genera una neurona de entrada por cada estado y una neurona de entrada para un estado ausente, si existen valores NULL en los datos de entrenamiento. Un atributo de entrada continuo genera dos neuronas de entrada: una neurona para un estado ausente y otra neurona para el valor del propio atributo continuo. Las neuronas de entrada proporcionan entradas para una o ms neuronas ocultas. Hidden neurons. Las neuronas ocultas reciben entradas de las neuronas de entrada y proporcionan salidas a las neuronas de salida. Output neurons. Las neuronas de salida representan valores de atributo de prediccin para el modelo de minera de datos. En el caso de los atributos de entrada discretos, una neurona de salida suele representar un nico estado de prediccin para un atributo de prediccin, incluidos los valores que faltan. Por ejemplo, un atributo de 75
prediccin binario produce un nodo de salida que describe un estado ausente o existente, que indica si existe un valor para ese atributo. Una columna booleana utilizada como un atributo de prediccin genera tres neuronas de salida: una neurona para un valor true, otra neurona para un valor false y una ltima neurona para un estado existente o ausente. Un atributo de prediccin discreto que tiene ms de dos estados genera una neurona de salida por cada estado y una neurona de salida para un estado ausente o existente. Las columnas de prediccin continuas generan dos neuronas de salida: una neurona para un estado existente o ausente y otra neurona para el valor de la propia columna continua. Si se generan ms de 500 neuronas de salida al revisar el conjunto de columnas de prediccin. Una neurona recibe la entrada de otras neuronas o de otros datos, dependiendo del nivel de la red en que se encuentra. Una neurona de entrada recibe entradas de los datos originales. Las neuronas ocultas y las neuronas de salida reciben entradas de la salida de otras neuronas de la red neuronal. Las entradas establecen relaciones entre neuronas; estas relaciones sirven como ruta de anlisis para un conjunto especfico de escenarios. Cada entrada tiene un valor asignado denominado peso, que describe la relevancia o importancia de dicha entrada en la neurona oculta o en la neurona de salida. Cuanto mayor sea el peso asignado a una entrada, ms importante o relevante ser el valor de dicha entrada. Los pesos pueden ser negativos, lo cual implica que la entrada puede desactivar, en lugar de activar, una neurona especfica. El valor de cada entrada se multiplica por el peso para poner de relieve la importancia de la entrada de una neurona especfica. En el caso de pesos negativos, el efecto de multiplicar el valor por el peso es una prdida de importancia. Cada neurona tiene una funcin no lineal sencilla asignada denominada funcin de activacin, que describe la relevancia o importancia de una neurona determinada para ese nivel de una red neuronal. Las neuronas ocultas usan una funcin tangente hiperblica (tanh) para su funcin de activacin, mientras que las neuronas de salida usan una funcin sigmoidea. Ambas son funciones no lineales continuas que permiten que la red neuronal modele relaciones no lineales entre neuronas de entrada y salida. Existen varios pasos implicados en el entrenamiento de un modelo de minera de datos que utiliza el algoritmo de red neuronal de Microsoft. Estos pasos estn muy influenciados por los valores que se especifican en los parmetros de algoritmo. En primer lugar, el algoritmo evala y extrae los datos de entrenamiento del origen de datos. Un porcentaje de los datos de entrenamiento, denominado datos de exclusin, se reserva para evaluar la precisin de la red. Durante el proceso de entrenamiento, la red se evala de forma inmediata despus de cada iteracin mediante los datos de entrenamiento. Cuando la precisin deja de aumentar, el proceso de entrenamiento se detiene. El algoritmo determina el nmero y la complejidad de las redes que admite el modelo de minera de datos. Si el modelo contiene uno o ms atributos que solamente se utilizan para la prediccin, el algoritmo crea una nica red que representa todos estos atributos. Si el modelo de minera de datos contiene uno o ms atributos que se utilizan para la entrada y la prediccin, el proveedor del algoritmo construye una red para cada atributo. En el caso de los atributos de entrada y de prediccin que tienen valores discretos, cada neurona de entrada o de salida representa respectivamente un nico estado. En el caso de los 76
atributos de entrada y de prediccin que tienen valores continuos, cada neurona de entrada o de salida representa respectivamente el intervalo y la distribucin de valores del atributo. El nmero mximo de estados admitidos en cada caso depende del valor del parmetro de algoritmo MAXIMUM_STATES. Si el nmero de estados para un atributo especfico supera el valor del parmetro de algoritmo MAXIMUM_STATES, se eligen los estados ms comunes o relevantes para dicho atributo, hasta alcanzar el mximo permitido; el resto de los estados se agrupa como valores ausentes para el anlisis. A continuacin, el algoritmo utiliza el valor del parmetro HIDDEN_NODE_RATIO al determinar el nmero inicial de neuronas que se crearn para la capa oculta. Puede establecer HIDDEN_NODE_RATIO en 0 para evitar la creacin de una capa oculta en las redes que genera el algoritmo para el modelo de minera de datos y tratar la red neuronal como una regresin logstica. El proveedor de algoritmos evala iterativamente el peso de todas las entradas de la red simultneamente, tomando el conjunto de datos de entrenamiento reservado anteriormente y comparando el valor real conocido de cada escenario de los datos de exclusin con la prediccin de la red, en un proceso conocido como aprendizaje por lotes. Una vez que el algoritmo ha evaluado el conjunto completo de los datos de entrenamiento, revisa el valor predicho y real de cada neurona. El algoritmo calcula el grado de error, si lo hay, y ajusta los pesos asociados con las entradas de esa neurona, trabajando hacia atrs desde las neuronas de salida a las de entrada en un proceso conocido como propagacin hacia atrs. A continuacin, el algoritmo repite el proceso en todo el conjunto de datos de entrenamiento. Dado que el algoritmo puede admitir mltiples pesos y neuronas de salida, el algoritmo de gradiente conjugado se utiliza para guiar el proceso de entrenamiento en la asignacin y evaluacin de los pesos de las entradas. Esta documentacin no abarca una discusin sobre el algoritmo de gradiente conjugado. Si el nmero de atributos de entrada es mayor que el valor del parmetro MAXIMUM_INPUT_ATTRIBUTES, o si el nmero de atributos de prediccin es mayor que el valor del parmetro MAXIMUM_OUTPUT_ATTRIBUTES, se usa un algoritmo de seleccin de caractersticas para reducir la complejidad de las redes que se incluyen en el modelo de minera de datos. La seleccin de caractersticas reduce el nmero de atributos de entrada o de prediccin a los ms relevantes estadsticamente para el modelo. Todos los algoritmos de minera de datos de Analysis Services usan automticamente la seleccin de caractersticas para mejorar el anlisis y reducir la carga de procesamiento. El mtodo usado para la seleccin de caractersticas en los modelos de red neuronal depende del tipo de datos del atributo. Como referencia, en la tabla siguiente se muestran los mtodos de seleccin de caractersticas usados para los modelos de red neuronal; adems, se muestran los mtodos de seleccin de caractersticas usados para el algoritmo de regresin logstica, que est basado en el algoritmo de red neuronal. Algoritmo Mtodo de anlisis Comentarios Red neuronal Puntuacin de grado de inters Entropa de Shannon El algoritmo de redes neuronales puede usar ambos mtodos de puntuacin, el bayesiano y el basado en la entropa, siempre y cuando los datos contengan columnas continuas. Predeterminado. 77
Bayesiano con prioridad K2 Dirichlet bayesiano con prioridad uniforme (predeterminado) Regresin logstica Puntuacin interestingness Entropa de Shannon Bayesiano con prioridad K2 Dirichlet bayesiano con prioridad uniforme (predeterminado) Dado que no se puede pasar un parmetro a este algoritmo para controlar el comportamiento de la seleccin de caractersticas, se utilizan los valores predeterminados. Por consiguiente, si todos los atributos son discretos o contienen datos discretos, el valor predeterminado es BDEU. 2.4.8.2 Mtodos de puntuacin La puntuacin es un tipo de normalizacin que, en el contexto del entrenamiento de un modelo de red neuronal, hace referencia al proceso de convertir un valor, como una etiqueta de texto discreta, en un valor que se pueda comparar con otros tipos de entradas y que se pueda pesar en la red. Por ejemplo, si un atributo de entrada es Sexo y los valores posibles son Hombre y Mujer, y otro atributo de entrada es Ingresos, con un intervalo de valores variable, los valores para cada atributo no son comparables directamente y, por consiguiente, deben estar codificados a una escala comn para que se puedan calcular los pesos. Puntuar es el proceso de normalizar tales entradas para los valores numricos, especficamente, para un intervalo de probabilidades. Las funciones usadas para la normalizacin tambin ayudan a distribuir ms uniformemente los valores de entrada en una escala uniforme para que los valores extremos no distorsionen los resultados del anlisis. Las salidas de la red neuronal tambin estn codificadas. Si hay un nico destino para la salida (es decir, la prediccin), o varios destinos que se usan solo para la prediccin, no para la entrada, el modelo crea una red nica y es posible que no sea necesario normalizar los valores. Sin embargo, si se usan varios atributos para la entrada y la prediccin, el modelo debe crear varias redes; por tanto, se deben normalizar todos los valores y, al salir de la red, las salidas debern estar codificadas. La codificacin de las entradas se basa en la suma de cada valor discreto de los casos de entrenamiento y en la multiplicacin de ese valor por su peso. Esto se denomina suma ponderada, que se pasa a la funcin de activacin del nivel oculto. Para la codificacin, se usa la puntuacin-z: Valores discretos = p the prior probability of a state StdDev = sqrt(p(1-p)) 78
Valores continuos Valor presente= 1 - / Ningn valor existente= - / Una vez codificados los valores, se realiza una suma ponderada de las entradas, con los extremos de la red como pesos. La codificacin de las salidas usa la funcin sigmoidea, que tiene propiedades que la hacen muy til para la prediccin. Una de esas propiedades es que, sin tener en cuenta cmo se ajusta la escala de los valores originales, y sin tener en cuenta si los valores son negativos o positivos, la salida de esta funcin es siempre un valor entre 0 y 1, lo que resulta apropiado para la estimacin de probabilidades. Otra propiedad til es que la funcin sigmoidea tiene un efecto suavizador que hace que cuando los valores se alejan del punto de inflexin, la probabilidad del valor se aproxima lentamente a 0 o a 1. El algoritmo de red neuronal de Microsoft admite varios parmetros que afectan al comportamiento, al rendimiento y a la precisin del modelo de minera de datos resultante. Tambin puede modificar la forma en la que el modelo procesa los datos; para ello, puede establecer marcas de modelado en las columnas o marcas de distribucin que especifiquen cmo se deben procesar los valores dentro de la columna. 2.4.8.3 Marcas de distribucin El algoritmo de red neuronal de Microsoft admite las siguientes marcas de distribucin. Las marcas solo se usan como sugerencias para el modelo; si el algoritmo detecta una distribucin diferente, usar la distribucin encontrada, no la proporcionada en la sugerencia. Normal. Indica que los valores de la columna se deben tratar como si representasen la distribucin normal o gaussiana. Uniforme. Indica que los valores de la columna se deben tratar como si estuviesen distribuidos uniformemente; es decir, la probabilidad de cualquier valor es ms o menos la misma y depende del nmero total de valores. Logartmica normal. Indica que los valores de la columna se deben tratar como si estuviesen distribuidos segn la curva logartmica normal; esto significa que el logaritmo de los valores se distribuye normalmente. 2.4.8.4 Columnas de entrada y de prediccin El algoritmo de red neuronal de Microsoft admite las columnas de entrada y de prediccin especficas que se enumeran en la tabla siguiente. Columna Tipos de contenido Atributo de entrada Continuous, Cyclical, Discrete, Discretized, Key, Table y Ordered Atributo de prediccin Continuous, Cyclical, Discrete, Discretized y Ordered
79
2.4.8.5 Contenido del modelo de minera de datos para los modelos de red neuronal Cada modelo de red neuronal tiene un nodo primario nico que representa el modelo y sus metadatos, y un nodo de estadsticas marginal (NODE_TYPE = 24) que proporciona estadsticas descriptivas sobre los atributos de entrada. El nodo de estadsticas marginal es til porque resume informacin sobre las entradas, de modo que no necesite consultar los datos de los nodos individuales. Debajo de estos dos nodos hay al menos dos nodos ms y podra haber muchos ms, en funcin de cuntos atributos de prediccin tenga el modelo. El primer nodo (NODE_TYPE = 18) siempre representa el nodo superior del nivel de entrada. Bajo este nodo superior, puede encontrar los nodos de entrada (NODE_TYPE = 21) que contienen los atributos de entrada reales y sus valores. Los nodos sucesivos contienen cada uno una subred diferente (NODE_TYPE = 17). Cada subred siempre contiene un nivel oculto (NODE_TYPE = 19) y un nivel de salida (NODE_TYPE = 20) para esa subred.
Ilustracin 25. Raz de un modelo de red neuronal La informacin del nivel de entrada es simple: el nodo superior de cada nivel de entrada (NODE_TYPE = 18) acta como un organizador para una coleccin de nodos de entrada (NODE_TYPE = 21). El contenido de los nodos de entrada se describe en la tabla siguiente. Cada subred (NODE_TYPE = 17) representa el anlisis de la influencia del nivel de entrada en un atributo de prediccin determinado. Si hay varias salidas de prediccin, hay varias subredes. El nivel oculto de cada subred contiene varios nodos ocultos (NODE_TYPE = 22) que contienen los detalles sobre los pesos de cada transicin que finaliza en ese nodo oculto en especial. El nivel de salida (NODE_TYPE = 20) contiene los nodos de salida (NODE_TYPE = 23) que contiene cada uno valores distintos del atributo de prediccin. Si el atributo de prediccin es un tipo de datos numricos continuo, solo hay un nodo de salida para el atributo. El propsito de entrenar un modelo de red neuronal es determinar los pesos que estn asociados a cada transicin de una entrada a un punto medio y de un punto medio a un extremo. Por consiguiente, el nivel de entrada del modelo existe principalmente para 80
almacenar los valores reales que se usaron para generarlo. El nivel oculto almacena los pesos que se calcularon y proporciona punteros a los atributos de entrada. El nivel de salida almacena los valores de prediccin y tambin proporciona punteros a los puntos medios en el nivel oculto. La denominacin de los nodos de un modelo de red neuronal proporciona informacin adicional sobre el tipo de nodo, para facilitar relacionar el nivel oculto con el nivel de entrada y el nivel de salida con el nivel oculto. En la tabla siguiente se muestra la convencin para los identificadores que estn asignados a los nodos de cada nivel.
Tipo de nodo Convencin para el identificador de nodo Raz del modelo (1) 00000000000000000. Nodo de estadsticas marginales (24) 10000000000000000 Nivel de entrada (18) 30000000000000000 Nodo de entrada (21) Comienza en 60000000000000000 Subred (17) 20000000000000000 Nivel oculto (19) 40000000000000000 Nodo oculto (22) Comienza en 70000000000000000 Nivel de salida (20) 50000000000000000 Nodo de salida (23) Comienza en 80000000000000000 Puede determinar qu atributos de entrada se relacionan con un nodo de nivel oculto concreto viendo la tabla NODE_DISTRIBUTION en el nodo oculto (NODE_TYPE = 22). Cada fila de la tabla NODE_DISTRIBUTION contiene el identificador de un nodo de atributo de entrada. De igual forma, puede determinar qu niveles ocultos se relacionan con un atributo de salida viendo la tabla NODE_DISTRIBUTION en el nodo de salida (NODE_TYPE = 23). Cada fila de la tabla NODE_DISTRIBUTION contiene el identificador de un nodo del nivel oculto, junto con el coeficiente relacionado. La tabla NODE_DISTRIBUTION puede estar vaca en algunos nodos. Sin embargo, para los nodos de entrada, los nodos del nivel oculto y los nodos de salida, la tabla NODE_DISTRIBUTION almacena informacin importante e interesante sobre el modelo. Como ayuda para interpretar esta informacin, la tabla NODE_DISTRIBUTION contiene una columna VALUETYPE para cada fila que indica si el valor de la columna ATTRIBUTE_VALUE es Discreto (4), Discretizado (5) o Continuo (3). El nivel de entrada contiene un nodo para cada valor del atributo que se utiliz en el modelo. Atributo discreto: el nodo de entrada almacena nicamente el nombre del atributo y su valor en las columnas ATTRIBUTE_NAME y ATTRIBUTE_VALUE. Por ejemplo, si [Work Shift] es la columna, se crea un nodo independiente para cada valor de esa columna que se utiliz en el modelo, como AM y PM. La tabla NODE_DISTRIBUTION para cada nodo muestra solo el valor actual del atributo. 81
Atributo numrico de datos discretos: el nodo de entrada almacena el nombre del atributo y el valor, que puede ser un intervalo o un valor concreto. Las expresiones, como '77.4 - 87.4' o ' < 64.0', representan todos los valores para el valor de [Time Per Issue]. La tabla NODE_DISTRIBUTION para cada nodo muestra solo el valor actual del atributo. Atributo continuo: el nodo de entrada almacena el valor medio del atributo. La tabla NODE_DISTRIBUTION para cada nodo muestra solo el valor actual del atributo. El nivel oculto contiene un nmero variable de nodos. En cada uno, la tabla NODE_DISTRIBUTION contiene las asignaciones del nivel oculto a los nodos del nivel de entrada. La columna ATTRIBUTE_NAME contiene un identificador de nodo que corresponde a un nodo del nivel de entrada. La columna ATTRIBUTE_VALUE contiene el peso asociado a esa combinacin de nodo de entrada y nodo de nivel oculto. La ltima fila de la tabla contiene un coeficiente que representa el peso de ese nodo oculto en el nivel oculto. El nivel de salida contiene un nodo de salida para cada valor de salida que se utiliz en el modelo. En cada nodo, la tabla NODE_DISTRIBUTION contiene las asignaciones del nivel de salida a los nodos del nivel oculto. La columna ATTRIBUTE_NAME contiene un identificador de nodo que corresponde a un nodo del nivel oculto. La columna ATTRIBUTE_VALUE contiene el peso asociado a esa combinacin de nodo de salida y nodo de nivel oculto. La tabla NODE_DISTRIBUTION tiene la informacin adicional siguiente, en funcin de si el tipo del atributo es: Un atributo discreto: las dos filas finales de la tabla NODE_DISTRIBUTION contienen un coeficiente para el nodo en conjunto y el valor actual del atributo. Un atributo numrico de datos discretos: idntico a los atributos discretos, solo que el valor del atributo es un intervalo de valores. Atributo continuo: las dos filas finales de la tabla NODE_DISTRIBUTION contienen la media del atributo, el coeficiente para el nodo como un todo y la varianza del coeficiente. 2.4.8.6 Ejemplos de consultas de modelos de red neuronal 2.4.8.6.1 Consulta de ejemplo 1: obtener metadatos del modelo usando DMX La consulta siguiente devuelve algunos metadatos bsicos sobre un modelo que se gener con el algoritmo de red neuronal de Microsoft. En un modelo de red neuronal, el nodo primario del modelo nicamente contiene el nombre del modelo, el nombre de la base de datos en la que se encuentra almacenado el modelo y el nmero de nodos secundarios. Sin embargo, el nodo de estadsticas marginal (NODE_TYPE = 24) proporciona tanto los metadatos bsicos como algunas estadsticas derivadas acerca de las columnas de entrada que se usan en el modelo. El modelo utiliza datos de un centro de atencin telefnica para explorar las correlaciones posibles entre el personal y el nmero de llamadas, pedidos e incidencias. La instruccin DMX recupera los datos del nodo de estadsticas marginales del modelo de red neuronal. La consulta incluye la palabra clave FLATTENED, porque las estadsticas de los atributos de entrada de inters estn almacenadas en una tabla anidada, NODE_DISTRIBUTION. 82
Sin embargo, si el proveedor de consultas admite conjuntos de filas jerrquicos, no necesita utilizar la palabra clave FLATTENED. SELECT FLATTENED MODEL_CATALOG, MODEL_NAME, ( SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [SUPPORT], [PROBABILITY], VALUETYPE FROM NODE_DISTRIBUTION ) AS t FROM [Call Center Default NN].CONTENT WHERE NODE_TYPE = 24 Resultados del ejemplo: MODEL_CATALOG MODEL_NAME t.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.SUPPORT t.PROBABILITY t.VALUETYPE Adventure Works DW Multidimensional 2012 Call Center NN Average Time Per Issue Missing 0 0 1 Adventure Works DW Multidimensional 2012 Call Center NN Average Time Per Issue < 64.7094100096 11 0.407407407 5 2.4.8.6.2 Consulta de ejemplo 2: recuperar metadatos del modelo a partir del conjunto de filas de esquema Mediante una consulta al conjunto de filas de esquema de minera de datos, puede obtener la misma informacin que a travs de una consulta de contenido DMX. Sin embargo, el conjunto de filas de esquema proporciona algunas columnas adicionales. La consulta del ejemplo siguiente devuelve la fecha en que el modelo fue creado, modificado y procesado por ltima vez. La consulta tambin devuelve las columnas de prediccin, que no estn disponibles con facilidad en el contenido del modelo, y los parmetros que se usaron para generarlo. Esta informacin puede ser til para documentar el modelo. SELECT MODEL_NAME, DATE_CREATED, LAST_PROCESSED, PREDICTION_ENTITY, MINING_PARAMETERS from $system.DMSCHEMA_MINING_MODELS WHERE MODEL_NAME = 'Call Center Default NN' Resultados del ejemplo: MODEL_NAME Call Center Default NN DATE_CREATED 1/10/2008 5:07:38 PM LAST_PROCESSED 1/10/2008 5:24:02 PM PREDICTION_ENTITY Average Time Per Issue, Grade Of Service, Number Of Orders MINING_PARAMETERS HOLDOUT_PERCENTAGE=30, HOLDOUT_SEED=0, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, MAXIMUM_STATES=100, 83
SAMPLE_SIZE=10000, HIDDEN_NODE_RATIO=4
2.4.9 Algoritmo de clsteres de secuencia de Microsoft El algoritmo de clsteres de secuencia de Microsoft es un algoritmo de anlisis de flujos que proporciona Microsoft SQL Server Analysis Services. Puede utilizar este algoritmo para explorar los datos que contienen eventos que pueden vincularse mediante rutas o secuencias. El algoritmo encuentra las secuencias ms comunes mediante la agrupacin, o agrupacin en clsteres, de las secuencias que son idnticas. A continuacin se incluyen algunos ejemplos de datos que contienen secuencias que se podran utilizar para la minera de datos, para ofrecer una visin general de problemas comunes o escenarios empresariales: Rutas de clics que se crean cuando los usuarios navegan o examinan un sitio web. Registros que enumeran eventos que preceden a un incidente, como un disco duro errneo o interbloqueos del servidor. Registros de transacciones que describen el orden en el que un cliente agrega elementos a una cesta de la compra de un comerciante en lnea. Registros que siguen las interacciones del cliente (o paciente) a lo largo del tiempo, para predecir cancelaciones del servicio u otros malos resultados. Este algoritmo es similar en muchas maneras al algoritmo de clsteres de Microsoft. Sin embargo, en lugar de encontrar clsteres de casos que contienen atributos similares, el algoritmo de clsteres de secuencia de Microsoft encuentra clsteres de casos que contienen rutas similares en una secuencia. El sitio web de Adventure Works Cycles recopila informacin sobre las pginas que visitan los usuarios y sobre el orden en que las visitan. Debido a que la empresa ofrece un sistema de pedidos en lnea, los clientes deben registrarse en el sitio. Esto permite que la empresa pueda conseguir informacin de clics por cada perfil de cliente. Mediante el uso del algoritmo de clsteres de secuencia de Microsoft en estos datos, la empresa puede encontrar grupos, o clsteres, de los clientes que tienen patrones o secuencias de clics similares. La empresa puede usar estos clsteres para analizar la forma en que los clientes se mueven por el sitio web, identificar qu pginas se relacionan ms estrechamente con la venta de un producto en particular y predecir las pginas que tienen mayores probabilidades de ser visitadas a continuacin. El algoritmo de clsteres de secuencia de Microsoft es un algoritmo hbrido que combina tcnicas de agrupacin en clsteres con el anlisis de cadenas de Markov para identificar los clsteres y sus secuencias. Una de las marcas distintivas del algoritmo de clsteres de secuencia de Microsoft es que utiliza los datos de las secuencias. Estos datos suelen representar una serie de eventos o transiciones entre los estados de un conjunto de datos, como una serie de compras de productos o los clics en web para un usuario determinado. El algoritmo examina todas las probabilidades de transicin y mide las diferencias, o las distancias, entre todas las posibles secuencias del conjunto de datos con el fin de determinar qu secuencias es mejor utilizar como entradas para la agrupacin en clsteres. Despus de que el algoritmo ha creado la lista de secuencias candidatas, usa la informacin de las secuencias como entrada para el mtodo EM de agrupacin en clsteres. 84
Al preparar los datos para usarlos en el entrenamiento de un modelo de agrupacin en clsteres de secuencia, conviene comprender qu requisitos son imprescindibles para el algoritmo concreto, incluidos el volumen de datos necesario y la forma en que se usan los datos. Los requisitos de un modelo de agrupacin en clsteres de secuencia son los siguientes: Una columna de una sola key Un modelo de agrupacin en clsteres de secuencia requiere una clave que identifique los registros. Una columna de secuencia: para los datos de la secuencia, el modelo debe tener una tabla anidada que contenga una columna de identificador de secuencia. El identificador de secuencia puede ser cualquier tipo de datos ordenable. Por ejemplo, puede usar el identificador de una pgina web, un nmero entero o una cadena de texto, con tal de que la columna identifique los eventos en una secuencia. Solo se admite un identificador de secuencia por cada secuencia y un tipo de secuencia en cada modelo. Atributos opcionales no relacionados con la secuencia: el algoritmo admite la incorporacin de otros atributos que no tengan que ver con las secuencias. Estos atributos pueden incluir las columnas anidadas. Como muestra, en el ejemplo citado anteriormente del sitio web de Adventure Works Cycles, un modelo de agrupacin en clsteres de secuencia podra incluir informacin de los pedidos como tabla de casos, datos demogrficos sobre el cliente concreto de cada pedido como atributos no relacionados con la secuencia y una tabla anidada que contenga la secuencia que sigui el cliente al examinar el sitio o colocar los artculos en el carro de la compra como informacin de la secuencia. El modelo de minera de datos que crea este algoritmo contiene descripciones de las secuencias ms comunes en los datos. Para explorar el modelo, puede usar el Visor de clsteres de secuencia de Microsoft. Cuando se ve un modelo de agrupacin en clsteres de secuencia, Analysis Services muestra los clsteres que contienen varias transiciones. Una vez entrenado el modelo, los resultados se almacenan como un conjunto de patrones. Puede usar las descripciones de las secuencias ms comunes en los datos para predecir el siguiente paso probable de una nueva secuencia. Sin embargo, dado que el algoritmo incluye otras columnas, puede usar el modelo resultante para identificar las relaciones entre los datos de las secuencias y las entradas que no son secuenciales. Por ejemplo, si agrega datos demogrficos al modelo, puede realizar predicciones para grupos concretos de clientes. Las consultas de prediccin se pueden personalizar para que devuelvan un nmero variable de predicciones o estadsticas descriptivas. 2.4.9.1 Referencia tcnica del algoritmo de clsteres de secuencia de Microsoft El algoritmo de clsteres de secuencia de Microsoft es un algoritmo hbrido que usa el anlisis de cadenas de Markov para identificar secuencias ordenadas, y combina los resultados de este anlisis con tcnicas de agrupacin en clsteres para generar clsteres basados en las secuencias y otros atributos del modelo. En este tema se describe la implementacin del algoritmo y cmo personalizarlo, y se detallan los requisitos especiales para los modelos de agrupacin en clsteres de secuencia. El modelo de agrupacin en clsteres de secuencia de Microsoft usa modelos de Markov para identificar las secuencias y determinar su probabilidad. Un modelo de Markov es un 85
grfico dirigido que almacena las transiciones entre los diferentes estados. El algoritmo de clsteres de secuencia de Microsoft usa cadenas de Markov de orden n, no un modelo de Markov oculto. El nmero de rdenes en una cadena de Markov indica cuntos estados se usan para determinar la probabilidad de los estados actuales. En un modelo de Markov de primer orden, la probabilidad del estado actual depende solo del estado anterior. En una cadena de Markov de segundo orden, la probabilidad de un estado depende de los dos estados previos, etc. En cada cadena de Markov, una matriz de transicin almacena las transiciones para cada combinacin de estados. A medida que aumenta la longitud de la cadena de Markov, el tamao de la matriz aumenta tambin de forma exponencial y la matriz se vuelve sumamente dispersa. El tiempo de procesamiento tambin aumenta proporcionalmente. Puede resultar til visualizar la cadena usando el ejemplo del anlisis clickstream, que analiza las visitas a las pginas web de un sitio. Cada usuario crea una larga secuencia de clics para cada sesin. Al crear un modelo para analizar el comportamiento del usuario en un sitio web, el conjunto de datos usado para el entrenamiento es una secuencia de direcciones URL, convertida en un grfico que incluye el recuento de todas las instancias de la misma ruta de acceso de clics. Por ejemplo, el grfico contiene la probabilidad de que el usuario se mueva de la pgina 1 a la pgina 2 (10%), la probabilidad de que el usuario se mueva de la pgina 1 a la pgina 3 (20%), etc. Al reunir todas las posibles rutas de acceso y partes de las rutas de acceso, se obtiene un grfico que puede ser ms largo y complejo que cualquier ruta de acceso nica observada. Los destinos de la agrupacin en clsteres son los atributos secuenciales y los no secuenciales. Cada clster se selecciona de forma aleatoria usando una distribucin de probabilidad. Cada clster tiene una cadena de Markov que representa el conjunto completo de rutas de acceso, y una matriz que contiene las transiciones de estado de secuencia y las probabilidades. En funcin de la distribucin inicial, se usa la regla de Bayes para calcular la probabilidad de cualquier atributo, incluyendo una secuencia, en un clster concreto. El algoritmo de clsteres de secuencia de Microsoft admite la adicin de atributos no secuenciales al modelo. Esto significa que los atributos adicionales se combinan con los atributos de secuencia para crear clsteres de casos con atributos similares, al igual que en un modelo de agrupacin en clsteres tpico. Un modelo de agrupacin en clsteres de secuencia tiende a crear muchos ms clsteres que un modelo de agrupacin en clsteres tpico. Por lo tanto, el algoritmo de clsteres de secuencia de Microsoft realiza la descomposicin en clsteres para separar clsteres en funcin de las secuencias y otros atributos. La seleccin de caractersticas no se invoca al generar secuencias; sin embargo, la seleccin de caractersticas se aplica en la fase de agrupacin en clsteres. Tipo de modelo Mtodo de seleccin de caractersticas Comentarios Agrupacin en clsteres de secuencia No se utiliza No se invoca la seleccin de caractersticas; sin embargo, se puede controlar el comportamiento del algoritmo estableciendo el valor de los parmetros MINIMUM_SUPPORT y MINIMUM_PROBABILITY. 86
Agrupacin en clsteres Puntuacin de grado de inters Aunque el algoritmo de clsteres puede utilizar algoritmos discretos o de datos discretos, la puntuacin de cada atributo se calcula como una distancia y es continua; por consiguiente, se utiliza la puntuacin de grado de inters. El algoritmo de clsteres de secuencia de Microsoft admite varias maneras de optimizar el procesamiento: Controlando el nmero de clsteres generados estableciendo un valor para el parmetro CLUSTER_COUNT. Reduciendo el nmero de secuencias incluidas como atributos incrementando el valor del parmetro MINIMUM_SUPPORT. Como resultado, se eliminan las secuencias raras. Reduciendo la complejidad antes de procesar el modelo mediante la agrupacin de los atributos relacionados. En general, puede optimizar el rendimiento de una cadena de Markov de orden n de varias maneras: Controlando la longitud de las posibles secuencias. Reduciendo mediante programacin el valor de n. Almacenando solo las probabilidades que superan un umbral especificado. El algoritmo de clsteres de secuencia de Microsoft admite parmetros que afectan al comportamiento, el rendimiento y la precisin del modelo de minera de datos resultante. Tambin puede modificar el comportamiento del modelo completado estableciendo marcas de modelado que controlan la manera en que el algoritmo procesa los datos de entrenamiento. La tabla de casos debe tener una columna de identificador de caso. Opcionalmente, dicha tabla puede contener otras columnas que almacenen atributos sobre el caso. El algoritmo de clsteres de secuencia de Microsoft requiere informacin de secuencia, almacenada como una tabla anidada. La tabla anidada debe tener una nica columna Key Sequence. Una columna Key Sequence puede contener cualquier tipo de datos que se puedan ordenar, incluyendo tipos de datos de cadena, pero la columna debe contener valores nicos para cada caso. Es ms, antes de procesar el modelo, debe asegurarse de que la tabla de casos y la tabla anidada estn ordenadas de manera ascendente por la clave que relaciona las tablas. 2.4.9.2 Contenido del modelo de minera de datos para los modelos de agrupacin en clsteres de secuencia Un modelo de agrupacin en clsteres de secuencia tiene un nodo primario nico (NODE_TYPE = 1) que representa el modelo y sus metadatos. El nodo primario, que se etiqueta (Todos), tiene un nodo de secuencia relacionado (NODE_TYPE = 13) que muestra todas las transiciones que se detectaron en los datos de entrenamiento. 87
Ilustracin 26. Modelo de minera de datos para los modelos de agrupacin en clsteres El algoritmo tambin crea varios clsteres, segn las transiciones que se encontraran en los datos y cualquier otro atributo de entrada incluido al crear el modelo, como la informacin demogrfica de los clientes o de otro tipo. Cada clster (NODE_TYPE = 5) contiene su propio nodo de secuencia (NODE_TYPE = 13) que muestra nicamente las transiciones que se utilizaron para generar ese clster concreto. A partir del nodo de secuencia, puede explorar en profundidad para ver los detalles de las transiciones de estados individuales (NODE_TYPE = 14). Un modelo de agrupacin en clsteres de secuencia tiene una estructura nica que combina dos tipos de objetos con clases muy diferentes de informacin: el primer tipo de objeto es el clster y el segundo es la transicin de estado. Los clsteres creados mediante agrupacin en clsteres de secuencia se parecen a los creados mediante el algoritmo de clsteres de Microsoft. Cada clster tiene un perfil y caractersticas. Sin embargo, en la agrupacin en clsteres de secuencia, cada clster contiene adems un nodo secundario nico que muestra las secuencias en ese clster. Cada nodo de secuencia contiene varios nodos secundarios que describen en detalle las transiciones de estado, con probabilidades. Casi siempre hay ms secuencias en el modelo de lo que puede encontrar en un nico caso, porque las secuencias se pueden encadenar. Microsoft Analysis Services almacena los punteros de un estado al otro para que se pueda contar el nmero de veces que cada transicin se produce. Tambin puede encontrar informacin de cuntas veces se produjo la secuencia y cuantificar la probabilidad de producirse en comparacin con el conjunto completo de estados observados. La tabla siguiente resume cmo se almacena la informacin en el modelo y cmo se relacionan los nodos. Nodo Tiene nodo secundario Tabla NODE_DISTRIBUTION Raz del modelo Varios nodos de clster Nodo con secuencias para el modelo completo Muestra todos los productos en el modelo, con la compatibilidad y probabilidad. Dado que el mtodo de agrupacin en clsteres permite la pertenencia parcial en varios clsteres, la compatibilidad y probabilidad pueden tener valores fraccionarios. Es decir, en lugar 88
de contar una vez un nico caso, cada caso puede pertenecer potencialmente a varios clsteres. Por consiguiente, cuando se determina la ltima pertenencia al clster, el valor se ajusta con la probabilidad de ese clster. Nodo de secuencia para el modelo Varios nodos de transicin Muestra todos los productos en el modelo, con la compatibilidad y probabilidad. Dado que el nmero de secuencias se conoce por el modelo, en este nivel, los clculos para la compatibilidad y la probabilidad son sencillos: Compatibilidad = recuento de casos Probabilidad = probabilidad neta de cada secuencia del modelo. Todo las probabilidades deberan sumar 1. Nodos de clster individuales Nodo con secuencias para ese clster nicamente Muestra todos los productos de un clster, pero proporciona los valores de compatibilidad y probabilidad nicamente para los productos que son caractersticos del clster. La compatibilidad representa el valor de compatibilidad ajustada para cada caso en este clster. Los valores de probabilidad son ajustados. Nodos de secuencia para clsteres individuales Varios nodos con transiciones para las secuencias en ese clster nicamente Exactamente la misma informacin que en los nodos de clster individuales. Transiciones Ningn nodo secundario Muestra las transiciones para el primer estado relacionado. La compatibilidad un valor ajustado, que indica los casos que toman parte en cada transicin. La probabilidad es la probabilidad ajustada, representada como un porcentaje. Los clculos de compatibilidad y probabilidad difieren en funcin de si el clculo se aplica a los casos de entrenamiento o al modelo terminado. Esto se debe a que el mtodo de agrupacin en clsteres predeterminado, maximizacin de la expectativa (EM), supone que cualquier caso puede pertenecer a ms de un clster. Al calcular la compatibilidad para los casos en el modelo, es posible utilizar recuentos netos y probabilidades netas. Sin embargo, las probabilidades de una secuencia determinada en un clster deben ser compensadas por la suma de todas las combinaciones posibles de clsteres y secuencias. En un modelo de agrupacin en clsteres, la cardinalidad del nodo primario generalmente indica cuntos clsteres contiene el modelo. Sin embargo, un modelo de agrupacin en clsteres de secuencia tiene dos tipos de nodos en el nivel de clster: un tipo de nodo contiene los clsteres y el otro contiene una lista de secuencias para el modelo como un todo. Por consiguiente, para obtener informacin sobre el nmero de clsteres del modelo, puede tomar el valor de NODE_CARDINALITY para el nodo (Todos) y restar uno. Por ejemplo, si el modelo creara 9 clsteres, la cardinalidad de la raz del modelo sera de 10. Esto es 89
porque el modelo contiene 9 nodos de clster, cada uno con su propio nodo de secuencia, ms un nodo de secuencia adicional denominado clster 10, que representa las secuencias para el modelo. Un escenario comn para la agrupacin en clsteres de secuencia es realizar el seguimiento de los clics del usuario en un sitio web. Por ejemplo, si los datos provinieran de registros de compras del cliente del sitio web de comercio electrnico de Adventure Works, el modelo de agrupacin en clsteres de secuencia resultante se podra utilizar para deducir el comportamiento del usuario, redisear el sitio de comercio electrnico para resolver los problemas de navegacin o promocionar las ventas. Por ejemplo, el anlisis podra mostrar que los usuarios siempre siguen una cadena determinada de productos, sin tener en cuenta la informacin demogrfica. Adems, podra encontrar que los usuarios frecuentemente salen del sitio despus de hacer clic en un producto concreto. Dado este descubrimiento, podra preguntarse qu rutas de acceso adicionales podra proporcionar a los usuarios que les induciran a quedarse en el sitio web. Si no tiene informacin adicional que pueda utilizar para clasificar a sus usuarios, simplemente puede utilizar la informacin de la secuencia para recopilar datos sobre la navegacin y entender mejor el comportamiento global. Sin embargo, si puede recopilar informacin sobre los clientes y hacer corresponder esa informacin con la base de datos de clientes, puede combinar la eficacia de la agrupacin en clsteres con la prediccin de secuencias con el fin de proporcionar recomendaciones personalizadas para el usuario o quizs basadas en la ruta de acceso de navegacin en la pgina actual. Otro uso de la completa informacin de estado y transiciones que compila un modelo de agrupacin en clsteres de secuencia es determinar qu posibles rutas de acceso no se usan nunca. Por ejemplo, si muchos visitantes que van a las pginas 1 a 4, pero nunca continan hacia la pgina 5, podra investigar si hay problemas que impiden la navegacin a dicha pgina. Puede hacer esto consultando el contenido del modelo y comparndolo con una lista de posibles rutas de acceso. Se pueden crear grficos que le indiquen todas las rutas de navegacin de un sitio web mediante programacin o utilizando diversas herramientas de anlisis de sitios. 2.4.9.3 Ejemplos de consultas de modelos de clsteres de secuencia 2.4.9.3.1 Consulta de prueba 1: usar el conjunto de filas de esquema de minera de datos para devolver los parmetros del modelo Al consultar el conjunto de filas de esquema de minera de datos, se pueden encontrar varias clases de informacin sobre el modelo, por ejemplo los metadatos bsicos, la fecha y la hora en que el modelo se cre y se proces por ltima vez, el nombre de la estructura de minera de datos en que se basa el modelo y el nombre de la columna que se usa como atributo de prediccin. La consulta siguiente devuelve los parmetros que se usaron para generar y entrenar el modelo, [Sequence Clustering]. SELECT MINING_PARAMETERS from $system.DMSCHEMA_MINING_MODELS WHERE MODEL_NAME = 'Sequence Clustering' 90
Resultados del ejemplo: MINING_PARAMETERS CLUSTER_COUNT=15,MINIMUM_SUPPORT=10, MAXIMUM_STATES=100,MAXIMUM_SEQUENCE_STATES=64 Observe que este modelo se gener con el valor predeterminado 10 para CLUSTER_COUNT. Al especificar un nmero de clsteres distinto de cero en CLUSTER_COUNT, el algoritmo trata este nmero como una sugerencia del nmero aproximado de clsteres que buscar. Sin embargo, en el proceso de anlisis, el algoritmo puede buscar ms o menos clsteres. En este caso, el algoritmo encontr que era ms apropiado usar 15 clsteres para los datos de entrenamiento. Por consiguiente, la lista de valores de parmetros para el modelo completado notifica el recuento de clsteres tal y como el algoritmo determina, y no el valor pasado al crear el modelo. Cmo se diferencia este comportamiento de permitir que el algoritmo determine el mejor nmero de clsteres? Como experimento, puede crear otro modelo de agrupacin en clsteres que use estos mismos datos, pero establecer CLUSTER_COUNT en 0. Si hace esto, el algoritmo detecta 32 clsteres. Por consiguiente, si usa 10 como valor predeterminado de CLUSTER_COUNT, restringe el nmero de resultados. De forma predeterminada se utiliza el valor 10 porque al reducir el nmero de clsteres se facilita la exploracin y comprensin de las agrupaciones de los datos. Sin embargo, cada modelo y conjunto de datos son diferentes. Puede que desee experimentar con nmeros de clsteres diferentes para ver qu valor de parmetro produce el modelo ms preciso.
91
2.4.9.3.2 Consulta de prueba 2: obtener una lista de secuencias para un estado El contenido del modelo de minera de datos almacena las secuencias que se encuentran en los datos de entrenamiento como un primer estado junto con una lista de todos los segundos estados relacionados. El primer estado se utiliza como etiqueta para la secuencia y los segundos estados relacionados se denominan transiciones. Por ejemplo, la consulta siguiente devuelve la lista completa de los primeros estados del modelo, antes de que las secuencias se agrupen en clsteres. Puede obtener esta lista devolviendo la lista de secuencias (NODE_TYPE = 13) que tienen el nodo raz del modelo como elemento primario (PARENT_UNIQUE_NAME = 0). La palabra clave FLATTENED facilita la lectura de los resultados. SELECT FLATTENED NODE_UNIQUE_NAME, (SELECT ATTRIBUTE_VALUE AS [Product 1], [Support] AS [Sequence Support], [Probability] AS [Sequence Probability] FROM NODE_DISTRIBUTION) AS t FROM [Sequence Clustering].CONTENT WHERE NODE_TYPE = 13 AND [PARENT_UNIQUE_NAME] = 0 Resultados parciales: NODE_UNIQUE_NAME Producto 1 Compatibilidad de la secuencia Probabilidad de la secuencia 1081327 Missing 0 1081327 All-Purpose Bike Stand 17 0.00111 1081327 Bike Wash 64 0.00418 1081327 (se omiten las filas 4 a 36)
1081327 Women's Mountain Shorts 506 0.03307 La lista de secuencias del modelo siempre est ordenada alfabticamente en orden ascendente. La ordenacin de las secuencias es importante porque puede encontrar las transiciones relacionadas examinando el nmero de orden de la secuencia. El valor Missing siempre es la transicin 0. Por ejemplo, en los resultados anteriores, el producto "Women's Mountain Shorts" es el nmero de secuencia 37 en el modelo. Puede utilizar esa informacin para ver todos los productos que se compraron alguna vez despus de "Women's Mountain Shorts". Para ello, en primer lugar hace referencia al valor devuelto para NODE_UNIQUE_NAME en la consulta anterior, para obtener el identificador del nodo que contiene todas las secuencias para el modelo. Este valor se pasa a la consulta como identificador del nodo primario, para obtener solo las transiciones incluidas en este nodo, que resulta que contiene una lista de secuencias para el modelo. Sin embargo, si deseara ver la lista de transiciones para un clster concreto, podra pasar el identificador del nodo de clster y solo vera las secuencias asociadas a ese clster. 92
SELECT NODE_UNIQUE_NAME FROM [Sequence Clustering].CONTENT WHERE NODE_DESCRIPTION = 'Transition row for sequence state 37' AND [PARENT_UNIQUE_NAME] = '1081327' Resultados del ejemplo: NODE_UNIQUE_NAME 1081365 El nodo representado por este identificador contiene una lista de las secuencias que siguen al producto "Women's Mountain Shorts", junto con los valores de probabilidad y compatibilidad. SELECT FLATTENED (SELECT ATTRIBUTE_VALUE AS Product2, [Support] AS [P2 Support], [Probability] AS [P2 Probability] FROM NODE_DISTRIBUTION) AS t FROM [Sequence Clustering].CONTENT WHERE NODE_UNIQUE_NAME = '1081365' Resultados del ejemplo: t.Product2 t.P2 Support t.P2 Probability Missing 230.7419 0.456012 Classic Vest 8.16129 0.016129 Cycling Cap 60.83871 0.120235 Half-Finger Gloves 30.41935 0.060117 Long-Sleeve Logo Jersey 86.80645 0.171554 Racing Socks 28.93548 0.057185 Short-Sleeve Classic Jersey 60.09677 0.118768 Observe que la compatibilidad de las diversas secuencias relacionadas con Women's Mountain Shorts es 506 en el modelo. Los valores de compatibilidad para las transiciones tambin suman 506. Sin embargo, las cifras no son nmeros enteros, lo que parece un poco extrao si se espera que la compatibilidad represente simplemente un recuento de los casos que contienen cada transicin. Sin embargo, dado que el mtodo para crear clsteres calcula la pertenencia parcial, la probabilidad de cualquier transicin dentro de un clster debe estar compensada por su probabilidad de pertenecer a ese clster concreto. Por ejemplo, si hay cuatro clsteres, una secuencia determinada podra tener una posibilidad del 40% de pertenecer al clster 1, una posibilidad del 30% de pertenecer al clster 2, una posibilidad del 20% de pertenecer al grupo 3 y una posibilidad del 10% de pertenecer al clster 4. Despus de que el algoritmo determine el clster al que es ms probable que la transicin pertenezca, compensa las probabilidades dentro del clster con la probabilidad del clster anterior. 93
2.4.10 Algoritmo de serie temporal de Microsoft El algoritmo de serie temporal de Microsoft proporciona los algoritmos de regresin que se optimizan para la previsin en el tiempo de valores continuos tales como las ventas de productos. Mientras que otros algoritmos de Microsoft, como por ejemplo los rboles de decisin, requieren columnas adicionales de nueva informacin como entrada para predecir una tendencia, los modelos de serie temporal no las necesitan. Un modelo de serie temporal puede predecir tendencias basadas nicamente en el conjunto de datos original utilizado para crear el modelo. Es posible tambin agregar nuevos datos al modelo al realizar una prediccin e incorporar automticamente los nuevos datos en el anlisis de tendencias. El siguiente diagrama muestra un modelo tpico de previsin en el tiempo de las ventas de un producto en cuatro regiones de ventas diferentes. El modelo presentado en el diagrama de ventas muestra las ventas de cada regin como lneas de color rojo, amarillo, prpura y azul. La lnea de cada regin consta de dos partes: La informacin histrica aparece a la izquierda de la lnea vertical y representa los datos que el algoritmo utiliza para crear el modelo. La informacin de la prediccin aparece a la derecha de la lnea vertical y representa la previsin realizada por el modelo. A la combinacin de los datos de origen y los datos de la prediccin se le denomina serie.
Ilustracin 27. Modelo de serie temporal. Combinacin de los datos de origen y predictivos Una caracterstica importante del algoritmo de serie temporal de Microsoft es su capacidad para llevar a cabo predicciones cruzadas. Si entrena el algoritmo con dos series independientes, pero relacionadas, puede utilizar el modelo generado para predecir el resultado de una serie basndose en el comportamiento de la otra. Por ejemplo, las ventas observadas de un producto pueden influir en las ventas previstas de otro producto. La prediccin cruzada tambin es til para crear un modelo general que se puede aplicar a mltiples series. Por ejemplo, las predicciones para una regin determinada son inestables debido a que la serie no dispone de datos de buena calidad. Podra entrenar un modelo general sobre la media de las cuatro regiones y, a continuacin, aplicar el modelo a las series individuales para crear predicciones ms estables para cada regin. El equipo de administracin de Adventure Works Cycles desea predecir las ventas mensuales de bicicletas para el prximo ao. La compaa est especialmente interesada en saber si las ventas de un determinado modelo de bicicleta se pueden utilizar para predecir las ventas de otro modelo. Al utilizar el algoritmo de serie temporal de Microsoft en los 94
datos histricos de los ltimos tres aos, la empresa puede crear un modelo de minera de datos que prevea la venta futura de bicicletas. Adems, la organizacin puede llevar a cabo predicciones cruzadas para ver si las tendencias de venta de modelos individuales de bicicleta estn relacionadas. Cada trimestre, la compaa tiene previsto actualizar el modelo con datos recientes de ventas y actualizar sus predicciones a las tendencias recientes del modelo. Para suplir los datos de los almacenes que no actualizan los datos de ventas de forma precisa o regular, crearn un modelo de prediccin general que utilizarn para crear predicciones para todas las regiones. En SQL Server 2005, el algoritmo de serie temporal de Microsoft utilizaba un nico algoritmo, ARTXP. El algoritmo ARTXP se optimiz para predicciones a corto plazo y, por consiguiente, predeca el siguiente valor probable en una serie. A partir de SQL Server 2008, el algoritmo de serie temporal de Microsoft utiliza, adems del algoritmo ARTXP, un segundo algoritmo, ARIMA. El algoritmo ARIMA est optimizado para la prediccin a largo plazo. De forma predeterminada, el algoritmo de serie temporal de Microsoft utiliza una mezcla de los dos algoritmos al analizar patrones y realizar predicciones. El algoritmo entrena dos modelos independientes sobre los mismos datos: uno de los modelos utiliza el algoritmo ARTXP y el otro modelo utiliza el algoritmo ARIMA. A continuacin, el algoritmo combina los resultados de los dos modelos para obtener la mejor prediccin sobre un nmero variable de intervalos de tiempo. Dado que ARTXP obtiene mejores resultados en las predicciones a corto plazo, se le da mayor importancia al principio de una serie de predicciones. Sin embargo, a medida que los intervalos de tiempo que se estn prediciendo se adentran en el futuro, se va dando ms importancia a ARIMA. Es posible tambin controlar la mezcla de algoritmos para favorecer la prediccin a corto o a largo plazo en las series temporales. A partir de SQL Server 2008 Standard Edition, es posible especificar que el algoritmo de serie temporal de Microsoft use uno de los valores siguientes: Utilizar solo ARTXP para la prediccin a corto plazo. Utilizar solo ARIMA para la prediccin a largo plazo. Utilizar la mezcla predeterminada de los dos algoritmos. A partir de SQL Server 2008 Enterprise, es posible personalizar la manera en que el algoritmo de serie temporal de Microsoft combina los modelos para la prediccin. Al utilizar un modelo mixto, el algoritmo de serie temporal de Microsoft combina los dos algoritmos de la manera siguiente: Solo ARTXP se utiliza siempre para realizar el primer par de predicciones. Tras el primer par de predicciones, se utiliza una combinacin de ARIMA y ARTXP. A medida que el nmero de pasos de la prediccin aumenta, las predicciones se basan en mayor medida en ARIMA hasta que llega un momento en que ARTXP deja de utilizarse. Es posible controlar el punto de combinacin, esto es, el ritmo al que la ponderacin de ARTXP disminuye y la ponderacin de ARIMA aumenta, mediante el parmetro PREDICTION_SMOOTHING. 95
Ambos algoritmos pueden detectar estacionalidad en los datos en varios niveles. Por ejemplo, sus datos podran contener ciclos mensuales anidados en ciclos anuales. Para detectar estos ciclos estacionales, es posible proporcionar una sugerencia de periodicidad o bien especificar que el algoritmo deber detectar automticamente la periodicidad. Adems de la periodicidad, hay otros parmetros que controlan el comportamiento del algoritmo de serie temporal de Microsoft cuando ste detecta la periodicidad, realiza predicciones o analiza casos. Al preparar los datos para el entrenamiento de cualquier modelo de minera de datos, es preciso comprender los requisitos del modelo en particular as como la forma en que se utilizan los datos. Cada modelo de previsin debe contener una serie de casos, que es la columna que especifica los intervalos de tiempo u otras series sobre las que se produce el cambio. Por ejemplo, los datos del anterior diagrama muestran las series correspondientes al historial y a la previsin de ventas de bicicletas para un perodo de varios meses. Para este modelo, cada regin es una serie y la columna de fecha contiene la serie temporal, que tambin es la serie de casos. En otros modelos, la serie de escenarios puede ser un campo de texto o algn identificador tal como un id. de cliente o de transaccin. Sin embargo, un modelo de serie temporal debe siempre utilizar una fecha, una hora o algn otro valor numrico nico para su serie de escenarios. Los requisitos para un modelo de serie temporal son los siguientes: - Una nica columna Key Time Cada modelo debe contener una columna numrica o de fecha que se utilizar como serie de casos y que define los intervalos de tiempo que utilizar el modelo. El tipo de datos para la columna de clave temporal puede ser un tipo de datos datetime o bien numrico. Sin embargo, la columna debe contener valores continuos y stos deben ser nicos para cada serie. La serie de casos para un modelo de serie temporal no pueden estar almacenada en dos columnas como por ejemplo una columna Ao y una columna Mes. - Una columna predecible Cada modelo debe contener por lo menos una columna predecible alrededor de la que el algoritmo generar el modelo de serie temporal. El tipo de datos de la columna predecible debe contener valores continuos. Por ejemplo, es posible predecir la manera en que los atributos numricos tales como ingreso, ventas o temperatura, varan con el tiempo. Sin embargo, no es posible utilizar como columna predecible una columna que contenga valores discretos tales como el estado de las compras o el nivel de educacin. - Una columna de clave de serie opcionalCada modelo puede tener una columna de clave adicional que contenga valores nicos que identifiquen a una serie. La columna de clave de serie opcional debe contener valores nicos. Por ejemplo, un solo modelo puede contener ventas de muchos modelos de producto, siempre y cuando haya un solo registro para cada nombre del producto para cada intervalo de tiempo. Puede definir los datos de entrada para el modelo de serie temporal de Microsoft de dos formas. Sin embargo, puesto el formato de los escenarios de entrada afecta a la definicin del modelo de minera, debe considerar sus necesidades de negocio y preparar sus datos en consecuencia. Los dos ejemplos siguientes muestran cmo los datos de entrada afectan al 96
modelo. En ambos ejemplos, el modelo de minera completado contiene patrones de cuatro series distintas: Ventas para el producto A Ventas para el producto B Volumen para el producto A Volumen para el producto B En ambos ejemplos, puede predecir nuevas ventas futuras y volmenes para cada producto. No puede predecir nuevos valores para el producto o para el tiempo. 2.4.10.1 Referencia tcnica del algoritmo de serie temporal de Microsoft El algoritmo de serie temporal de Microsoft incluye dos algoritmos independientes para analizar series de tiempo: El algoritmo ARTXP, que se introdujo en SQL Server 2005, se ha optimizado para predecir el siguiente valor probable de una serie. El algoritmo ARIMA se ha agregado en SQL Server 2008 para mejorar la exactitud de la prediccin a largo plazo. De forma predeterminada, Analysis Services utiliza cada algoritmo por separado para entrenar el modelo y, a continuacin, combina los resultados para obtener la mejor prediccin de un nmero variable de predicciones. Tambin puede decidir utilizar solo uno de los algoritmos, dependiendo de los datos y los requisitos de la prediccin. En SQL Server 2008 Enterprise, tambin puede personalizar el punto lmite que controla la combinacin de algoritmos durante la prediccin. En este tema se proporciona informacin adicional sobre cmo se implementa cada algoritmo y cmo se puede personalizar el algoritmo estableciendo los parmetros para ajustar el anlisis y los resultados de la prediccin. Microsoft Research desarroll el algoritmo ARTXP original que se usaba en SQL Server 2005 y bas la implementacin en el algoritmo de rboles de decisin de Microsoft. Por consiguiente, el algoritmo ARTXP se puede describir como un modelo de rbol con regresin automtica que permite representar datos de series temporales peridicas. Este algoritmo relaciona un nmero variable de elementos pasados con cada elemento actual que se predice. El nombre, ARTXP, deriva del hecho de que el mtodo de rbol de regresin automtica (un algoritmo ART) se aplica a varios estados anteriores desconocidos. El algoritmo ARIMA se ha agregado al algoritmo de serie temporal de Microsoft en SQL Server 2008 para mejorar la exactitud de la prediccin a largo plazo. Se trata de una implementacin del proceso para calcular medias mviles integradas autorregresivas descrito por Box y Jenkins. La metodologa ARIMA permite determinar las dependencias en las observaciones tomadas secuencialmente en el tiempo y puede incorporar impactos aleatorios como parte del modelo. El mtodo ARIMA tambin admite la estacionalidad multiplicativa. Se aconseja a los lectores que deseen aprender ms acerca del algoritmo ARIMA que lean el trabajo fundamental de Box y Jenkins; esta seccin pretende proporcionar detalles especficos sobre cmo se ha implementado la metodologa ARIMA en el algoritmo de serie temporal de Microsoft. 97
De forma predeterminada, el algoritmo de serie temporal de Microsoft usa ambos mtodos, ARTXP y ARIMA, y mezcla los resultados para mejorar la precisin de la prediccin. Si desea usar solo un mtodo concreto, puede especificar los parmetros del algoritmo para usar nicamente ARTXP o nicamente ARIMA, o para controlar el modo en que se combinan los resultados de los algoritmos. Observe que el algoritmo ARTXP admite la prediccin cruzada, mientras que el algoritmo ARIMA no la admite. Por consiguiente, la prediccin cruzada solo est disponible cuando se usa una combinacin de algoritmos o cuando se configura el modelo para usar solo ARTXP. En esta seccin se explica la terminologa necesaria para entender el modelo ARIMA y la implementacin concreta de las diferencias en el algoritmo de serie temporal de Microsoft. Para obtener una explicacin completa de estos trminos y conceptos, se recomienda revisar el trabajo de Box y Jenkins. Un term es un componente de una ecuacin matemtica. Por ejemplo, un trmino de una ecuacin polinmica podra incluir una combinacin de variables y constantes. La frmula de ARIMA que se incluye en el algoritmo de serie temporal de Microsoft usa los dos trminos: regresin automtica y media mvil. Los modelos de serie temporal pueden ser estacionarios o no estacionarios. Los modelos estacionarios son aquellos que revierten a una media, aunque podran tener ciclos, mientras que los no estacionarios no tienen un centro de equilibrio y estn sujetos a mayores variaciones o cambios introducidos por los impactos o variables externas. El objetivo de la diferenciacin es hacer que una serie temporal se estabilice y se convierta en estacionaria. El orden de diferencia representa el nmero de veces que se toma la diferencia entre los valores para una serie temporal. El algoritmo de serie temporal de Microsoft toma los valores de una serie de datos e intenta ajustarlos a un patrn. Si la serie de datos todava no es estacionaria, el algoritmo aplica un orden de diferencia. Cada incremento en el orden de diferencia tiende a hacer que la serie temporal sea ms estacionaria. Por ejemplo, si tiene serie temporal (z1, z2, , zn) y realiza clculos con un orden de diferencia, obtendr una nueva serie (y1, y2,., yn-1), donde yi = zi+1-zi. Cuando el orden de diferencia es 2, el algoritmo genera otra serie (x1, x2, , xn-2), basada en la serie y que se deriv de la ecuacin del primer orden. El grado correcto de diferencia depende de los datos. Un solo orden de diferencia es ms comn en los modelos que muestran una tendencia constante; un segundo orden de diferencia puede indicar una tendencia que vara con el tiempo. De forma predeterminada, el orden de diferencia que se usa en el algoritmo de serie temporal de Microsoft es -1, lo que significa que el algoritmo detectar automticamente el mejor valor para el orden de diferencia. Generalmente, el mejor valor es 1 (cuando se requiere una diferencia) pero, en ciertas circunstancias, el algoritmo aumentar el valor hasta un mximo de 2. El algoritmo de serie temporal de Microsoft determina el orden de diferencia ptimo de ARIMA mediante los valores de regresin automtica. El algoritmo examina los valores de AR y establece un parmetro oculto, ARIMA_AR_ORDER, que representa el orden de los trminos de AR. Este parmetro oculto, ARIMA_AR_ORDER, tiene un intervalo de valores 98
comprendido entre -1 y 8. Con el valor predeterminado -1, el algoritmo seleccionar automticamente el orden de diferencia apropiado. Siempre que el valor de ARIMA_AR_ORDER sea mayor que 1, el algoritmo multiplica la serie temporal por un trmino polinmico. Si un trmino de la frmula polinmica se resuelve con una raz de uno o con un valor cercano a 1, el algoritmo intenta conservar la estabilidad del modelo quitando el trmino e incrementando el orden de diferencia en 1. Si el orden de diferencia ya es el mximo, el trmino se quita y el orden de diferencia no cambia. Por ejemplo, si el valor de AR es igual a 2, el trmino polinmico de AR podra ser similar a este: 1 1.4B + .45B^2 = (1- .9B) (1- 0.5B). Observe el trmino (1- .9B) que tiene una raz de aproximadamente 0,9. El algoritmo elimina este trmino de la frmula polinmica pero no puede incrementar el orden de diferencia en uno porque ya tiene el valor mximo de 2. Es importante observar que el nico modo en que puede exigir un cambio en el orden de diferencia es mediante el parmetro no admitido ARIMA_DIFFERENCE_ORDER. Este parmetro oculto controla el nmero de veces en que el algoritmo realiza la diferenciacin de la serie temporal y puede establecerse escribiendo un parmetro del algoritmo personalizado. Sin embargo, no se recomienda cambiar este valor a menos que est en disposicin de experimentar y conozca los clculos implicados. Tenga en cuenta igualmente que no hay ningn mecanismo, ni siquiera los parmetros ocultos, que le permita controlar el umbral en el que se activa el orden de diferencia. Finalmente, observe que la frmula descrita anteriormente es el caso simplificado y no tiene sugerencias de estacionalidad. Si se proporcionan sugerencias de estacionalidad, se agrega un trmino polinmico de AR diferente a la izquierda de la ecuacin para cada sugerencia de estacionalidad y se aplica la misma estrategia para eliminar los trminos que podran desestabilizar las series diferenciadas. El algoritmo de serie temporal de Microsoft admite los parmetros siguientes que afectan al comportamiento, rendimiento y precisin del modelo de minera de datos resultante. Los algoritmos ARTXP y ARIMA admiten la deteccin de la estacionalidad o periodicidad. Analysis Services usa la transformacin rpida de Fourier para detectar la estacionalidad antes de realizar el entrenamiento. Sin embargo, es posible afectar a la deteccin de la estacionalidad y a los resultados del anlisis de la serie temporal estableciendo los parmetros del algoritmo. - Al cambiar el valor de AUTODETECT_SEASONALITY, puede influir en el nmero de posibles segmentos de tiempo que se generan. - Al establecer un valor o varios valores para PERIODICITY_HINT, puede proporcionar informacin al algoritmo sobre los ciclos que se espera encontrar en los datos y posiblemente aumentar la exactitud de la deteccin. De forma predeterminada, o al seleccionar la opcin MIXED, Analysis Services combina los algoritmos y les asigna el mismo peso. Sin embargo, en SQL Server 2008 Enterprise, puede especificar un algoritmo determinado, o puede personalizar la proporcin de cada algoritmo en los resultados estableciendo un parmetro que pondere los resultados hacia la 99
prediccin a corto o a largo plazo. De forma predeterminada, el parmetro FORECAST_METHOD se establece en MIXED y Analysis Services utiliza ambos algoritmos para, a continuacin, ponderar sus valores con el fin de obtener el mximo partido de cada algoritmo. - Para controlar la eleccin de algoritmo, establezca el parmetro FORECAST_METHOD. - Si desea utilizar la prediccin cruzada, debe utilizar la opcin ARTXP o MIXED, porque ARIMA no la admite. - Establezca FORECAST_METHOD en ARTXP si desea favorecer la prediccin a corto plazo. - Establezca FORECAST_METHOD en ARIMA si desea mejorar la prediccin a largo plazo. En SQL Server 2008 Enterprise, tambin puede personalizar el modo en que Analysis Services realiza la combinacin de los algoritmos ARIMA y ARTXP. Puede controlar tanto el punto inicial de la combinacin como la tasa de cambio estableciendo el parmetro PREDICTION_SMOOTHING: - Si establece PREDICTION_SMOOTHING en 0, el modelo solo utiliza ARTXP. - Si establece PREDICTION_SMOOTHING en 1, el modelo solo utiliza ARIMA. - Si establece PREDICTION_SMOOTHING en un valor entre 0 y 1, el modelo pondera el algoritmo ARTXP como una funcin exponencialmente decreciente de los pasos de prediccin. Al mismo tiempo, el modelo tambin pondera el algoritmo ARIMA como complemento a uno del peso de ARTXP. El modelo usa la normalizacin y una constante de estabilizacin para suavizar las curvas. En general, si predice hasta cinco intervalos de tiempo, ARTXP casi siempre es la mejor opcin. Sin embargo, cuando aumenta el nmero de intervalos de tiempo que predecir, ARIMA suele funcionar mejor. En el diagrama siguiente se muestra cmo el modelo combina los algoritmos cuando PREDICTION_SMOOTHING se establece en el valor predeterminado, 0,5. ARIMA y ARTXP se ponderan equitativamente al principio, pero a medida que el nmero de pasos de prediccin aumenta, la ponderacin de ARIMA es mayor. 100
Ilustracin 28. Comparacin de los algoritmos ARTXP y ARIMA con valores predeterminados Por el contrario, el diagrama siguiente ilustra la combinacin de los algoritmos cuando PREDICTION_SMOOTHING se establece en 0,2. En el paso 0, el modelo pondera ARIMA como 0,2 y ARTXP como 0,8. Posteriormente, el peso de ARIMA aumenta exponencialmente y el de ARTXP disminuye exponencialmente.
Ilustracin 29. Comparacin de los algoritmos ARTXP y ARIMA con valores personalizados 2.4.10.2 Contenido del modelo de minera de datos para los modelos de serie temporal Todos los modelos de minera de datos utilizan la misma estructura para almacenar su contenido. Esta estructura se define segn el conjunto de filas de esquema de contenido de minera de datos. Sin embargo, dentro de esa estructura estndar, los nodos que contienen informacin estn organizados de maneras diferentes que representan varios tipos de rboles. En este tema se describe cmo se organizan los nodos, y lo que significa cada uno de ellos, para los modelos de minera de datos basados en el algoritmo de serie temporal Microsoft. 101
Un modelo de serie temporal tiene un nodo primario nico que representa el modelo y sus metadatos. Debajo ese nodo primario, hay uno o dos rboles de serie temporal, segn el algoritmo que se haya utilizado para crearlo. Si se crea un modelo mixto, se agregan al modelo dos rboles independientes, uno para ARIMA y otro para ARTXP. Si se ha elegido utilizar nicamente un algoritmo, ARTXP o ARIMA, tendremos un solo rbol correspondiente a ese algoritmo. Para especificar el algoritmo que se debe usar, establezca el parmetro FORECAST_METHOD. En el siguiente diagrama se muestra un ejemplo de un modelo de minera de datos de serie temporal creado con la configuracin predeterminada (modelo mixto). Para que pueda comparar ms fcilmente las diferencias entre los dos modelos, en este caso se muestra el modelo ARTXP en el lado izquierdo del diagrama y el modelo ARIMA en el lado derecho. Si bien ARTXP es una estructura de rbol que se divide bifurcaciones cada vez ms pequeas, la estructura creada por el algoritmo ARIMA se parece ms a una pirmide erigida a partir de componentes ms pequeos.
Ilustracin 30. Comparacin del modelo ARTXP y ARIMA Lo que es importante recordar es que la informacin est organizada dentro de los rboles ARTXP y ARIMA de maneras completamente diferentes, de modo que los dos rboles se deben considerar relacionados exclusivamente en el nodo raz. Aunque las dos representaciones se presentan en un solo modelo por comodidad, se deben tratar como dos modelos independientes. ARTXP representa una estructura de rbol real; en cambio, ARIMA, no. Si usa el Visor de rbol de contenido genrico de Microsoft para ver un modelo que utiliza tanto ARIMA como ARTXP, los nodos de los modelos ARIMA y ARTXP se presentan siempre como nodos secundarios del modelo de serie temporal primario. Sin embargo, puede distinguirlos con facilidad por las etiquetas aplicadas a los nodos. 102
El primer conjunto de nodos tiene la etiqueta (All), y representa los resultados del anlisis mediante el algoritmo ARTXP. El segundo conjunto de nodos tiene la etiqueta ARIMA, y representa los resultados del anlisis mediante el algoritmo ARIMA. 2.4.10.3 Estructura de un modelo ARTXP El algoritmo ARTXP crea un modelo similar a un modelo de rboles de decisin. Agrupa atributos de prediccin y los divide siempre que se encuentran diferencias significativas. Por consiguiente, cada modelo ARTXP contiene una bifurcacin independiente para cada atributo de prediccin. Por ejemplo, en el Tutorial bsico de minera de datos se crea un modelo que predice la cantidad de ventas para varias regiones. En este caso, [Amount] es el atributo predecible y se crea una bifurcacin independiente para cada regin. Si tuviera dos atributos de prediccin, [Amount] y [Quantity], se creara una bifurcacin independiente para cada combinacin de atributo y regin. El nodo superior de la bifurcacin ARTXP contiene la misma informacin que hay en el nodo raz de un rbol de decisin. Esto incluye el nmero de elementos secundarios para ese nodo (CHILDREN_CARDINALITY), el nmero de casos que cumplen las condiciones de este nodo (NODE_SUPPORT), y diversas estadsticas descriptivas (NODE_DISTRIBUTION). Si el nodo no tiene ningn elemento secundario, es porque no se ha encontrado ninguna condicin significativa que justifique dividir los casos en ms subgrupos. La bifurcacin finaliza en este punto y el nodo se denomina nodo hoja. El nodo de hoja contiene los atributos, coeficientes y valores que son los bloques de creacin de la frmula ARTXP. Algunas bifurcaciones pueden tener ms divisiones, al igual que sucede en los modelos de rboles de decisin. Por ejemplo, la bifurcacin del rbol que representa las ventas para la regin de Europa divide en dos bifurcaciones. Se produce una bifurcacin cuando existe una condicin que da lugar a una diferencia significativa entre los dos grupos. El nodo primario indica el nombre del atributo que ha provocado la divisin, como [Amount] y la cantidad de casos que hay en el nodo primario. Los nodos de hoja proporcionan ms detalles: el valor del atributo, como [Sales] >10.000 frente a [Sales] < 10.000), el nmero de casos que admiten cada condicin, y la frmula ARTXP. 2.4.10.4 Estructura de un modelo ARIMA El algoritmo ARIMA crea un solo dato para cada combinacin de una serie de datos (como [Region]) y un atributo de prediccin (como [Sales Amount]), la ecuacin que describe el cambio del atributo de prediccin a lo largo del tiempo. La ecuacin para cada serie se deriva de varios componentes, uno para cada estructura peridica encontrada en los datos. Por ejemplo, si tiene datos de ventas que se recopilan mensualmente, el algoritmo podra detectar estructuras mensuales, trimestrales o anuales. El algoritmo genera un conjunto independiente de nodo primario y nodos secundarios para cada periodicidad que encuentra. La periodicidad predeterminado es de 1, para un intervalo de tiempo nico, y se agrega automticamente en todos los modelos. Puede especificar las posibles estructuras peridicas escribiendo varios valores en el parmetro 103
PERIODICITY_HINT. Sin embargo, si el algoritmo no detecta una estructura peridica, no generar resultados para esa sugerencia. Cada estructura peridica que se genera en el contenido del modelo contiene los siguientes nodos de componente: Un nodo para el orden de regresin automtica (AR) Un nodo para la media mvil (MA) 2.4.10.4.1 Descripcin del rbol ARTXP El modelo ARTXP separa claramente las reas de los datos que son lineales de las reas de los datos que se dividen en funcin de algn otro factor. Siempre que los cambios del atributo de prediccin se puedan representar directamente como una funcin de las variables independientes, se calcula una frmula de regresin para representar esa relacin Por ejemplo, si hay una correlacin directa entre el tiempo y las ventas para la mayora de las series de datos, cada serie estara incluida en un rbol de serie temporal (NODE_TYPE = 16) que no tendra ningn nodo secundario para cada serie de datos, sino nicamente una ecuacin de regresin. Sin embargo, si la relacin no es lineal, un rbol de serie temporal ARTXP se puede dividir en nodos secundarios para cada condicin, exactamente igual que sucede en un modelo de rbol de decisin. Viendo el contenido del modelo en el Visor de rbol de contenido genrico de Microsoft, se puede apreciar dnde se producen las divisiones y cmo esto afecta a la lnea de tendencia. Este modelo, basado en el almacn de datos de AdventureWorks, no utiliza datos especialmente complejos. Por consiguiente, no hay muchas divisiones en el rbol ARTXP. Sin embargo, incluso este modelo relativamente simple muestra tres tipos diferentes de divisiones: La lnea de tendencia [Amount] correspondiente a la regin del Pacfico se divide en funcin de la clave temporal. Una divisin en funcin de la clave temporal significa que se produce un cambio en la tendencia en un momento determinado. La lnea de tendencia nicamente fue lineal hasta un momento determinado; a continuacin, la curva adopt una forma diferente. Por ejemplo, una serie temporal podra continuar hasta el 6 de agosto de 2002 y otra, iniciarse despus de esa fecha. La lnea de tendencia [Amount] de la regin de Norteamrica se divide en funcin de otra variable. En este caso, la tendencia para las divisiones de Norteamrica se basan en el valor para el mismo modelo en la regin de Europa. En otras palabras, el algoritmo detect que cuando el valor para Europa cambia, tambin lo hace el valor para Norteamrica. La lnea de tendencia para la regin de Europa se divide por s sola. Qu significa cada divisin? Interpretar la informacin que transmite el modelo de contenido es un arte que requiere una comprensin profunda de los datos y su significado en el contexto empresarial. 104
El vnculo aparente entre las tendencias para las regiones de Europa y Norteamrica podra significar solamente que la serie de datos para Europa tiene ms entropa, lo que hace que la tendencia para Norteamrica parezca ms dbil. Pero tambin puede ser que no haya ninguna diferencia significativa en las puntuaciones de ambas y que la correlacin sea accidental, debida simplemente en que se han llevado a cabo los clculos de Europa antes que los de Norteamrica. Sin embargo, podra ser conveniente repasar los datos y asegurarse de si se trata de una correlacin falsa, o investigar para comprobar si hay algn otro factor que afecte. La divisin en funcin de la clave temporal significa que existe un cambio estadsticamente significativo en el degradado de la lnea. Esto puede deberse a factores matemticos, como el soporte para cada intervalo, o los clculos de la entropa necesaria para la divisin. As pues, esta divisin podra no revestir inters por lo que se refiere al significado del modelo en el mundo real. Sin embargo, al revisar el perodo de tiempo indicado en la divisin, podran encontrarse correlaciones interesantes que no estn representadas en los datos, como una promocin comercial u otro evento que se inici en ese momento y puede haber afectado a los datos. Si los datos contuvieran otros atributos, muy probablemente se apreciaran ejemplos ms interesantes de bifurcaciones en el rbol. Por ejemplo, si se hubiera realizado el seguimiento de la informacin meteorolgica y se hubiera utilizado como atributo para el anlisis, es posible que el rbol incluyese varias divisiones que representasen la interaccin compleja entre las ventas y las condiciones meteorolgicas. En pocas palabras, la minera de datos es til para proporcionar sugerencias de cundo se producen fenmenos potencialmente interesantes, pero se requiere una investigacin ms extensa y experiencia por parte de los usuarios empresariales para interpretar con precisin el valor de la informacin en su contexto. 2.4.10.4.2 Elementos de la frmula de serie temporal ARTXP La siguiente seccin presenta una ecuacin de ejemplo y explica los trminos bsicos. En el siguiente ejemplo se muestra la frmula ARTXP de una parte del modelo, tal y como aparece en la Leyenda de minera de datos. Para ver esta frmula, abra en el Visor de series temporales de Microsoft el modelo [Forecasting] que cre en el Tutorial bsico de minera de datos; haga clic en la pestaa Modelo y seleccione el rbol de la serie de datos R250: Europe. Para ver la ecuacin utilizada para este ejemplo, haga clic en el nodo que representa la serie de fecha correspondiente al da 7/5/2003 o despus. Ejemplo de ecuacin de nodo de rbol: Quantity = 21.322 -0.293 * Quantity(R250 North America,-7) + 0.069 * Quantity(R250 Europe,-1) + 0.023 * 105
Quantity(R250 Europe,-3) -0.142 * Quantity(R750 Europe,-8) En este caso, el valor 21.322 representa el valor que se predice para Quantity como una funcin de los siguientes elementos de la ecuacin. Por ejemplo, un elemento es Quantity(R250 North America,-7). Esta notacin halla la media de la cantidad correspondiente a la regin de Norteamrica en t-7, o siete intervalos de tiempo antes del intervalo de tiempo actual. El valor de esta serie de datos se multiplica por el coeficiente -0.293. El coeficiente de cada elemento se obtiene durante el proceso de entrenamiento y se basa en las tendencias halladas en los datos. Hay varios elementos en esta ecuacin porque el modelo ha calculado que la cantidad del modelo del R250 en la regin de Europa depende de los valores de varias series de datos ms. 2.4.10.5 Utilizar la frmula de serie temporal ARTXP Para la mayora de los usuarios empresariales, el valor del contenido del modelo ARTXP reside en que combina una vista de rbol y una representacin lineal de los datos. Si los cambios del atributo de prediccin se pueden representar como una funcin lineal de las variables independientes, el algoritmo calcular la ecuacin de regresin automticamente y generar esa serie en un nodo independiente. Cuando la relacin no se puede expresar como una correlacin lineal, la serie temporal se bifurca como un rbol de decisin. Si existe una correlacin directa entre el tiempo y las ventas en cualquier parte de la serie de datos, la manera ms fcil de obtener la frmula es copiarla de la Leyenda de minera de datos y, a continuacin, pegarla en un documento o presentacin, para ayudar a explicar el modelo. Como alternativa, se podran extraer la media, el coeficiente y otra informacin de la tabla NODE_DISTRIBUTION de ese rbol y utilizarla para calcular extensiones de la tendencia. Si la serie completa presenta una relacin lineal coherente, la ecuacin estar contenida en el nodo (All). Si hay alguna bifurcacin en el rbol, la ecuacin se incluir en el nodo de hoja. La siguiente consulta devuelve todos los nodos de hoja ARTXP de un modelo de minera de datos, junto con la tabla anidada, NODE_DISTRIBUTION, que contiene la ecuacin. SELECT MODEL_NAME, ATTRIBUTE_NAME, NODE_NAME, NODE_CAPTION, (SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [VARIANCE], VALUETYPE FROM NODE_DISTRIBUTION) as t FROM Forecasting.CONTENT WHERE NODE_TYPE = 15
2.4.10.5.1 Descripcin del rbol ARI MA Cada estructura en un modelo ARIMA se corresponde con una periodicidad o estructura peridica. Una estructura peridica es un patrn de datos que se repite a lo largo de la serie de datos. Se permite alguna variacin secundaria en el patrn, dentro de los lmites estadsticos. La periodicidad se mide segn las unidades de tiempo predeterminadas que 106
se utilizaron en los datos de entrenamiento. Por ejemplo, si los datos de entrenamiento proporcionan datos de ventas para cada da, la unidad de tiempo predeterminada ser un da, y todas las estructuras peridicas se definirn como un nmero concreto de das. Cada perodo que el algoritmo detecta obtiene su propio nodo de estructura. Por ejemplo, si se estn analizando los datos de las ventas diarias, el modelo podra detectar estructuras peridicas que representen semanas. En este caso, el algoritmo creara dos estructuras peridicas en el modelo terminado: uno para el perodo diario predeterminado, que se indica con la notacin {1}, y otro para las semanas, que se indica mediante {7}. Por ejemplo, la siguiente consulta devuelve todas las estructuras ARIMA de un modelo de minera de datos. SELECT MODEL_NAME, ATTRIBUTE_NAME, NODE_NAME, NODE_CAPTION FROM Forecasting.CONTENT WHERE NODE_TYPE = 27 Resultados del ejemplo: MODEL_NAME ATTRIBUTE_NAME NODE_NAME NODE_TYPE NODE_CAPTION Forecasting M200 Europe:Quantity TA00000000 27 ARIMA (1,0,1) Forecasting M200 North America:Quantity TA00000001 27 ARIMA (1,0,4) X (1,1,4)(6) Forecasting M200 Pacific:Quantity TA00000002 27 ARIMA (2,0,8) X (1,0,0)(4) Forecasting M200 Pacific:Quantity TA00000002 27 ARIMA (2,0,8) X (1,0,0)(4) Forecasting R250 Europe:Quantity TA00000003 27 ARIMA (1,0,7) Forecasting R250 North America:Quantity TA00000004 27 ARIMA (1,0,2) Forecasting R250 Pacific:Quantity TA00000005 27 ARIMA (2,0,2) X (1,1,2)(12) Forecasting R750 Europe:Quantity TA00000006 27 ARIMA (2,1,1) X (1,1,5)(6) Forecasting T1000 Europe:Quantity TA00000009 27 ARIMA (1,0,1) Forecasting T1000 North America:Quantity TA0000000a 27 ARIMA (1,1,1) Forecasting T1`000 Pacific:Quantity TA0000000b 27 ARIMA (1,0,3) Se puede deducir de un vistazo qu series son completamente lineales, cules tienen varias estructuras peridicas y qu periodicidades se han detectado. Por ejemplo, la forma abreviada de la ecuacin ARIMA para la serie M200 Europe indica que nicamente se ha detectado el ciclo predeterminado, o diario. La forma abreviada de la ecuacin se proporciona en la columna NODE_CAPTION. Sin embargo, para la serie M200 North America, se encontr una estructura peridica ms. El nodo TA00000001 tiene dos nodos secundarios, uno con la ecuacin (1,0,4) y otro con la ecuacin (1,1,4)(6). Estas ecuaciones se concatenan y presentan en el nodo primario. Para cada estructura peridica, el contenido del modelo proporciona tambin el orden y la media mvil como nodos secundarios. Por ejemplo, la siguiente consulta recupera los nodos secundarios de uno de los nodos enumerados en el ejemplo anterior. Observe que la columna, PARENT_UNIQUE_NAME, debe ir entre corchetes para distinguirla de la palabra clave reservada con la misma denominacin. SELECT * FROM Forecasting.CONTENT 107
WHERE [PARENT_UNIQUE_NAME] = ' TA00000001' Dado que se trata de un rbol ARIMA, y no de un rbol ARTXP, no se puede utilizar la funcin IsDescendant (DMX) para devolver los nodos secundarios de esta estructura peridica. En cambio, puede utilizar los tipos de nodo y atributo para filtrar los resultados y devolver los nodos secundarios que aportan mayor detalle sobre cmo se ha creado la ecuacin, incluidas las medias mviles y el orden de diferencia. SELECT MODEL_NAME, ATTRIBUTE_NAME, NODE_UNIQUE_NAME, NODE_TYPE, NODE_CAPTION FROM Forecasting.CONTENT WHERE [MSOLAP_MODEL_COLUMN] ='M200 North America:Quantity' AND (NODE_TYPE = 29 or NODE_TYPE = 30) Resultados del ejemplo: MODEL_NAME ATTRIBUTE_NAME NODE_UNIQUE_NAME NODE_TYPE NODE_CAPTION Forecasting M200 North America:Quantity TA00000001000000010 29 ARIMA {1,0.961832044807041} Forecasting M200 North America:Quantity TA00000001000000011 30 ARIMA {1,-3.51073103693271E- 02,2.15731642954099,- 0.220314343327742,- 1.33151478258758} Forecasting M200 North America:Quantity TA00000001000000000 29 ARIMA {1,0.643565911081657} Forecasting M200 North America:Quantity TA00000001000000001 30 ARIMA {1,1.45035399809581E-02,- 4.40489283927752E-02,- 0.19203901352577,0.242202497643993} Estos ejemplos muestran que cuanto ms se profundiza en el rbol ARIMA, ms detalles se revelan, pero la informacin importante se combina y presenta tambin en el nodo primario. 2.4.10.5.2 Leyenda de minera de datos para la frmula ARI MA En el siguiente ejemplo se muestra la frmula ARIMA para una parte del modelo, tal y como aparece en la Leyenda de minera de datos. Para ver esta frmula, abra el modelo Forecasting en el Visor de series temporales de Microsoft; haga clic en la pestaa Modelo, seleccione el rbol para la serie de datos R250: Europe y, a continuacin, haga clic en el nodo que representa la serie de fecha correspondiente al da 7/5/2003 o despus. La leyenda de minera de datos organiza todas las constantes en un formato legible, que se muestra en este ejemplo: Ecuacin ARIMA: ARIMA ({1,1},0,{1,1.49791920964142,1.10640053499397,0.888873034670339,- 5.05429403071953E-02,-0.905265316720334,-0.961908900643379,- 0.649991020901922}) Intercept:56.8888888888889 Esta ecuacin est en el formato ARIMA largo, que incluye los valores de los coeficientes y la interseccin. El formato abreviado de esta ecuacin sera {1,0,7}, donde 1 indica el perodo como un recuento de intervalos de tiempo, 0 indica el orden de diferencia de los trminos y 7 indica el nmero de coeficientes. 108
2.4.10.5.3 Contenido del modelo para la frmula ARI MA Un modelo ARIMA sigue una estructura estndar, donde la informacin diferente est contenida en nodos de tipos distintos. Para ver el contenido del modelo correspondiente al modelo ARIMA, cambie al Visor de rbol de contenido genrico de Microsoft y, a continuacin, expanda el nodo cuyo nombre de atributo es R250 Europe: Quantity. Un modelo ARIMA para un serie de datos contiene la ecuacin peridica bsica en cuatro formatos diferentes, entre los que se puede elegir, segn la aplicacin. NODE_CAPTION: muestra el formato abreviado de la ecuacin. El formato abreviado indica cuntas estructuras peridicas se representan y cuntos coeficientes tienen. Por ejemplo, si el formato abreviado de la ecuacin es {4,0,6}, el nodo representa una estructura peridica con 6 coeficientes. Si el formato abreviado es del tipo {2,0,8} x {1,0,0}(4), el nodo contiene dos estructuras peridicas. NODE DESCRIPTION: muestra el formato largo de la ecuacin, que tambin es la forma de la ecuacin que aparece en la Leyenda de minera de datos. La forma larga de la ecuacin es similar a la forma abreviada, con la salvedad de que se muestran los valores reales de los coeficientes, en lugar contarse. NODE_RULE: muestra una representacin XML de la ecuacin. Segn el tipo de nodo, la representacin XML puede incluir una o varias estructuras peridicas. En la siguiente tabla se muestra cmo se acumlan los nodos XML en niveles ms altos del modelo ARIMA. NODE_DISTRIBUTION: muestra los trminos de la ecuacin en una tabla anidada, que se puede consultar para obtener trminos concretos. La tabla de distribucin de nodos sigue la misma estructura jerrquica que las reglas XML. Es decir, el nodo raz de la serie ARIMA (NODE_TYPE = 27) contiene el valor de interseccin y las periodicidades de toda la ecuacin, que puede incluir varias periodicidades; por su parte, los nodos secundarios contienen nicamente informacin especfica de una estructura peridica determinada o de los nodos secundarios de esa estructura peridica. El valor del orden de media mvil indica el nmero de medias mviles de una serie. En general, la media mvil se calcula n-1 veces si hay n trminos en una serie, pero esta cantidad se puede reducir para facilitar el clculo. El valor del orden de regresin automtica indica la cantidad de series de regresin automtica. El valor de orden de diferencia indica cuntas veces se comparan, o diferencian, las series. 2.4.10.6 Utilizar la informacin del rbol ARIMA Si utiliza predicciones basadas en el algoritmo ARIMA en una solucin empresarial, puede ser conveniente pegar la ecuacin en un informe para mostrar el mtodo utilizado para crear la prediccin. Puede utilizar la leyenda para presentar las frmulas en formato abreviado, o la descripcin para presentar las frmulas en formato largo. 109
Si va a desarrollar una aplicacin que utiliza predicciones de serie temporal, puede que le resulte til obtener la ecuacin ARIMA del contenido del modelo y, a continuacin, realizar sus propias predicciones. Para obtener la ecuacin ARIMA correspondiente a cualquier resultado determinado, puede consultar directamente la raz ARIMA de ese atributo concreto, como se muestra en los ejemplos anteriores. Si conoce el identificador del nodo que contiene la serie que desea, dispone de dos opciones para recuperar los componentes de la ecuacin: Formato de tabla anidada: utilice una consulta DMX o realice la consulta mediante el cliente de OLEDB. Representacin XML: utilice una consulta XML. Puede resultar complicado recuperar informacin de un rbol ARTXP, porque la informacin correspondiente a cada divisin se encuentra en un lugar diferente dentro del rbol. Por consiguiente, con un modelo ARTXP, debe obtener todas las piezas y, a continuacin, procesarlas de alguna forma para reconstituir la frmula completa. Recuperar una ecuacin a partir de un modelo ARIMA es ms fcil, porque el rbol pone la frmula a su disposicin en distintos puntos. 2.4.10.7 Ejemplos de consultas de modelos de serie temporal 2.4.10.7.1 Ejemplo de consulta 1: Recuperar las sugerencias de periodicidad para el modelo Puede recuperar las periodicidades que se encontraron dentro de la serie temporal consultando el rbol ARIMA o el rbol ARTXP. Sin embargo, las periodicidades en el modelo completado podran no ser iguales que los segmentos de tiempo que especific como sugerencias cuando cre el modelo. Para recuperar las sugerencias que se proporcionaron como parmetros cuando cre el modelo, puede consultar el conjunto de filas de esquema de contenido del modelo de minera de datos utilizando la instruccin DMX siguiente: SELECT MINING_PARAMETERS FROM $system.DMSCHEMA_MINING_MODELS WHERE MODEL_NAME = '<model name>' Resultados parciales:
110
MINING_PARAMETERS COMPLEXITY_PENALTY=0.1,MINIMUM_SUPPORT=10,PERIODICITY_HINT={1,3},. La sugerencia de periodicidad predeterminada es {1} y aparece en todos los modelos; este modelo de ejemplo se cre con una sugerencia adicional que podra no estar presente en el modelo final. 2.4.10.7.2 Ejemplo 2: Conjunto de datos de serie temporal con cada serie en una columna independiente Puede recuperar la ecuacin para un modelo ARIMA consultando cualquier nodo en un rbol individual. Recuerde que cada rbol dentro de un modelo ARIMA representa una periodicidad diferente y, si hay varias series de datos, cada una tendr su propio conjunto de rboles de periodicidad. Por consiguiente, para recuperar la ecuacin de una serie de datos concreta debe identificar primero el rbol. Por ejemplo, el prefijo TA le indica que el nodo forma parte de un rbol ARIMA, mientras que el prefijo TS se utiliza para los rboles ARTXP. Puede buscar todos los rboles de raz de ARIMA consultando los nodos en el contenido del modelo con el valor 27 en NODE_TYPE. Tambin puede utilizar el valor de ATTRIBUTE_NAME para buscar el nodo raz ARIMA para una serie de datos determinada. Este ejemplo de consulta busca los nodos ARIMA que representan las cantidades vendidas del modelo R250 en la regin de Europa. SELECT NODE_UNIQUE_NAME FROM Forecasting.CONTENT WHERE ATTRIBUTE_NAME = 'R250 Europe: Quantity" AND NODE_TYPE = 27 Utilizando este identificador de nodo, puede recuperar los detalles de la ecuacin ARIMA para este rbol. La instruccin DMX siguiente recupera la forma abreviada de la ecuacin ARIMA para la serie de datos. Tambin recupera el corte de la tabla anidada, NODE_DISTRIBUTION. En este ejemplo, la ecuacin se obtiene haciendo referencia al identificador nico de nodo TA00000007. Sin embargo, puede que tenga que utilizar un identificador de nodo diferente y puede obtener resultados ligeramente diferentes en su modelo. SELECT FLATTENED NODE_CAPTION as [Short equation], (SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE FROM NODE_DISTRIBUTION) as t FROM Forecasting.CONTENT WHERE NODE_NAME = 'TA00000007' Resultados del ejemplo: Ecuacin corta t.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE ARIMA (2,0,7)x(1,0,2)(12) R250 Europe:Quantity(Intercept) 15.24. ARIMA (2,0,7)x(1,0,2)(12) R250 Europe:Quantity(Periodicity) 1 ARIMA (2,0,7)x(1,0,2)(12) R250 Europe:Quantity(Periodicity) 12 111
2.5 Estructuras de minera de datos La estructura de minera de datos define los datos a partir de los cuales se generan los modelos de minera de datos: especifica la vista de datos de origen, el nmero y el tipo de columnas, y una particin opcional en conjuntos de entrenamiento y de pruebas. Una misma estructura de minera de datos puede admitir varios modelos de minera de datos que comparten el mismo dominio. En el diagrama siguiente, se muestra la relacin de la estructura de minera de datos con el origen de datos y con los modelos de minera de datos que la componen.
Ilustracin 31. Estructura de Minera de Datos La estructura de minera de datos del diagrama est basada en un origen de datos que contiene varias tablas o vistas, combinadas en el campo CustomerID. Una tabla contiene informacin sobre los clientes, como la regin geogrfica, la edad, los ingresos y el sexo, mientras que la tabla anidada relacionada contiene varias filas de informacin adicional sobre cada cliente, como los productos que ha adquirido. En el diagrama, se muestra que se pueden generar varios modelos de minera de datos a partir de una misma estructura de minera de datos, y que los modelos pueden usar columnas de la estructura diferentes. Modelo 1: usa CustomerID, Income, Age, Region y filtra los datos de Region. Modelo 2: usa CustomerID, Income, Age, Region y filtra los datos de Age. Modelo 3: usa CustomerID, Age, Gender y la tabla anidada, sin filtros. Dado que los modelos usan columnas diferentes para la entrada, y dado que dos de los modelos, adems, restringen sus datos mediante la aplicacin de un filtro, los modelos pueden tener resultados muy diferentes aunque estn basados en los mismos datos. Observe que la columna CustomerID es obligatoria en todos los modelos porque es la nica columna disponible que se puede usar como clave de caso. 112
En esta seccin se explica la arquitectura bsica de las estructuras de minera de datos: cmo se define una estructura de minera de datos, cmo se rellena con datos y cmo se usa para crear modelos. 2.5.1 Definir una estructura de minera de datos La configuracin de una estructura de minera de datos consta de los pasos siguientes: Definir un origen de datos. Seleccionar las columnas de datos que se van a incluir en la estructura (no es necesario agregar todas las columnas al modelo) y definir una clave. Definir una clave para la estructura, incluyendo la clave de la tabla anidada, si procede. Especificar si los datos de origen se deben separar en un conjunto de entrenamiento y en un conjunto de prueba. Este paso es opcional. Procesar la estructura. 2.5.2 Orgenes de datos para estructuras de minera de datos Cuando se define una estructura de minera de datos, se usan columnas que estn disponibles en una vista del origen de datos existente. Una vista del origen de datos es un objeto compartido que permite combinar varios orgenes de datos y usarlos como un origen nico. Los orgenes de datos originales no son visibles para las aplicaciones cliente, y puede usar las propiedades de la vista del origen de datos para modificar tipos de datos, crear agregaciones o asignar alias a las columnas. Si genera varios modelos de minera de datos a partir de la misma estructura de minera de datos, los modelos pueden usar columnas diferentes de la estructura. Por ejemplo, puede crear una estructura nica y, a continuacin, generar modelos independientes de rbol de decisiones o de agrupacin en clsteres a partir de ella, donde cada uno de ellos pueda usar columnas diferentes y predecir atributos distintos. Adems, cada modelo puede usar las columnas de la estructura de distintas maneras. Por ejemplo, una vista del origen de datos puede incluir una columna Ingresos, que puede enlazarse de diferentes formas para los distintos modelos. La estructura de minera de datos almacena la definicin del origen de datos y las columnas de este en forma de enlaces al origen de datos. Sin embargo, tenga en cuenta que tambin puede crear una estructura de minera de datos sin enlazarla a un origen de datos concreto. 2.5.3 Columnas de la estructura de minera de datos Las unidades de creacin de la estructura de minera de datos son las columnas de la estructura de minera de datos, que describen los datos que contiene el origen de datos. Estas columnas contienen informacin como el tipo de datos, el tipo de contenido y el modo en que se distribuyen los datos. La estructura de minera de datos no contiene informacin sobre el modo en que las columnas se utilizan para un modelo de minera de datos concreto, ni sobre el tipo de algoritmo que se utiliza para generarlo; esta informacin se define en el propio modelo de minera de datos. 113
Una estructura de minera de datos tambin puede contener tablas anidadas. Una tabla anidada representa una relacin de uno a varios entre la entidad de un caso y sus atributos relacionados. Por ejemplo, si la informacin que describe al cliente se encuentra en una tabla y las compras del cliente en otra, puede utilizar tablas anidadas para combinar la informacin en un nico caso. El identificador del cliente es la entidad y las compras son los atributos relacionados. Para crear un modelo de minera de datos en SQL Server Data Tools (SSDT), primero debe crear una estructura de minera de datos. El Asistente para minera de datos le guiar en el proceso de crear una estructura de minera de datos, elegir los datos y agregar un modelo de minera de datos. Si crea un modelo de minera de datos con el lenguaje Extensiones de Minera de Datos (DMX), puede especificar el modelo y las columnas existentes en l; DMX crear automticamente la estructura de minera de datos necesaria. 2.5.4 Dividir los datos en conjuntos de entrenamiento y de prueba Cuando se definen los datos para la estructura de minera de datos, tambin es posible especificar que algunos de los datos se usen para entrenamiento y otros para pruebas. Por consiguiente, ya no es necesario separar los datos antes de crear una estructura de minera de datos. En su lugar, mientras crea el modelo, puede especificar que determinado porcentaje de los datos se reserven para pruebas y que el resto se use para entrenamiento, o puede especificar un nmero especfico de casos para que se usen como conjunto de datos de pruebas. La informacin sobre los conjuntos de datos de pruebas y de entrenamiento se almacena en la memoria cach con la estructura de minera de datos; por consiguiente, el mismo conjunto de pruebas puede usarse con todos los modelos que estn basados en esa estructura. 2.5.5 Habilitar la obtencin de detalles Puede agregar columnas a la estructura de minera de datos aunque no piense usarlas en un modelo de minera de datos concreto. Esto es til si, por ejemplo, desea recuperar las direcciones de correo electrnico de los clientes de un modelo de agrupacin en clsteres, aunque no vaya a usarlas durante el proceso de anlisis. Si desea omitir una columna durante la fase de anlisis y prediccin, agrguela a la estructura pero no especifique un uso para ella, o establezca la marca de uso en Omitir. Los datos marcados de esta forma se pueden seguir usando en las consultas si se ha habilitado la obtencin de detalles en el modelo de minera de datos y tiene los permisos adecuados. Por ejemplo, puede revisar los clsteres resultantes del anlisis de todos los clientes, y luego usar una consulta de obtencin de detalles para obtener los nombres y direcciones de correo electrnico de los clientes de un clster determinado, aunque esas columnas de datos no se hayan usado para generar el modelo. 2.5.6 Procesar estructuras de minera de datos Una estructura de minera de datos no es ms que un contenedor de metadatos hasta que se procesa. Al procesar una estructura de minera de datos, Analysis Services crea una cach que almacena estadsticas sobre los datos, informacin sobre cmo se convierten en datos discretos los atributos continuos e informacin que usarn los modelos de minera de datos posteriormente. Por s mismo, el modelo de minera de datos no almacena esta informacin de resumen, sino que hace referencia a la informacin almacenada en la memoria cach cuando se proces la estructura de minera de datos. Por consiguiente, no es necesario volver 114
a procesar la estructura cada vez que se agrega un nuevo modelo a una estructura existente; se puede procesar solamente el modelo. Tambin puede descartar la memoria cach despus del procesamiento, si esta es muy grande o desea quitar los datos detallados. Si no desea almacenar los datos en la memoria cach, puede cambiar la propiedad CacheMode de la estructura de minera de datos a ClearAfterProcessing. Esto destruir la cach una vez procesados los modelos. Al establecer la propiedad CacheMode en ClearAfterProcessing, se deshabilita la obtencin de detalles del modelo de minera de datos. Sin embargo, una vez destruida la memoria cach, no podr agregar nuevos modelos a la estructura de minera de datos. Si agrega un nuevo modelo de minera de datos a la estructura, o cambia las propiedades de los modelos existentes, primero deber volver a procesar la estructura de minera de datos. 2.5.7 Ver estructuras de minera de datos No se pueden usar los visores para examinar los datos de una estructura de minera de datos. Sin embargo, en SQL Server Data Tools (SSDT), es posible utilizar la pestaa Estructura de minera de datos del Diseador de minera de datos para ver las columnas de estructura y sus definiciones. Si desea revisar los datos de la estructura de minera de datos, puede crear consultas mediante el lenguaje Extensiones de minera de datos (DMX). Por ejemplo, la instruccin SELECT * FROM <structure>.CASES devuelve todos los datos de la estructura de minera de datos. Para recuperar esta informacin, la estructura de minera de datos se debe haber procesado y los resultados de dicho procesamiento deben estar almacenados en la cach. La instruccin SELECT * FROM <model>.CASES devuelve las mismas columnas, pero solo para los casos de ese modelo concreto. 2.5.8 Utilizar modelos de minera de datos con estructuras de minera de datos Un modelo de minera de datos aplica un algoritmo de modelo de minera de datos a los datos que representa una estructura de minera de datos. Un modelo de minera de datos es un objeto que pertenece a una determinada estructura de minera de datos; el modelo hereda todos los valores de las propiedades que estn definidas en la estructura de minera de datos. El modelo puede utilizar todas las columnas de la estructura de minera de datos o un subconjunto de las mismas. Es posible agregar varias copias de una columna de estructura a una estructura. Tambin se pueden agregar varias copias de una columna de estructura a un modelo y, a continuacin, asignar nombres diferentes, o alias, a cada columna de estructura del modelo. 2.5.9 Columnas de la estructura de minera de datos Define las columnas de una estructura de minera de datos al crear dicha estructura eligiendo columnas de datos externos y especificando a continuacin cmo se van a usar los datos para el modelado. Por tanto, las columnas de la estructura de minera de datos son ms que copias de los datos de un origen de datos: definen cmo se van a usar los datos del origen en el 115
modelo de minera de datos. Puede asignar propiedades que determinen cmo se discretizan los datos, las propiedades que describen cmo se distribuyen los valores de datos Las columnas de la estructura de minera de datos se disean para ser flexibles y extensibles, porque cada algoritmo que se utilice para generar un modelo de minera de datos puede utilizar diferentes columnas de la estructura para interpretar los datos. En lugar de un conjunto de datos para cada modelo, puede utilizar una sola estructura de minera de datos y utilizar las columnas en ella para personalizar los datos de cada modelo. Los tipos de datos bsicos y los tipos de contenido que definen las columnas de la estructura se derivan del origen de datos que se utiliza para crear la estructura. Puede cambiar esta configuracin en la estructura de minera de datos; tambin puede establecer marcas de modelado y establecer la distribucin de columnas continuas. La definicin de una columna de estructura de minera de datos debe contener la siguiente informacin: Identificador: nombre nico de la columna, a menudo, el mismo que el nombre. Este dato no se puede cambiar despus de crear la estructura de minera de datos, mientras que el nombre se puede cambiar. Nombre: nombre o alias de la columna. Contenido: enumeracin que describe si los datos son discretos o continuos. Tipo: enumeracin que indica el tipo de datos general. Distribucin: enumeracin que describe la distribucin esperada de valores. Se incluye una distribucin si la columna es continua. Marcas de modelado: enumeracin que indica cmo tratar los valores que faltan y as sucesivamente. Las marcas de modelado tambin pueden definirse en el modelo de minera de datos, pero las marcas de modelo son diferentes de las marcas que se usan en las columnas de la estructura. Enlaces: propiedades que especifican que los datos de origen. Los algoritmos de terceros tambin pueden incluir propiedades personalizadas que se pueden definir en la columna de la estructura de minera de datos. 2.5.10 Tipos de datos Cuando cree un modelo o una estructura de minera en Microsoft SQL Server Analysis Services, deber definir los tipos de datos de cada una de las columnas de la estructura. Los tipos de datos indican al motor de minera de datos si los datos del origen de datos son numricos o de texto y cmo deben procesarse los datos. Por ejemplo, si el origen de datos contiene datos numricos, puede especificar si los nmeros deben tratarse como enteros o utilizando posiciones decimales. Cada tipo de datos admite uno o varios tipos de contenido. Puede personalizar el modo en que se procesan o se calculan los datos de la columna en el modelo de minera estableciendo su tipo de contenido. Por ejemplo, si tiene datos numricos en una columna, puede elegir que se traten como tipos de datos numricos o como texto. Si elige el tipo de datos numrico, puede establecer varios tipos de contenido diferentes: puede discretizar los nmeros o tratarlos como valores 116
continuos. Analysis Services admite los tipos de datos siguientes para las columnas de estructura de minera: Tipo de datos Tipos de contenido admitidos Text Cyclical, Discrete, Discretized, Key Sequence, Ordered, Sequence Long Continuous, Cyclical, Discrete, Discretized, Key, Key Sequence, Key Time, Ordered, Sequence, Time Classified Boolean Cyclical, Discrete, Ordered Double Continuous, Cyclical, Discrete, Discretized, Key, Key Sequence, Key Time, Ordered, Sequence, Time Classified Date Continuous, Cyclical, Discrete, Discretized, Key, Key Sequence, Key Time, Ordered Si cambia el tipo de datos de una columna, debe volver a procesar siempre la estructura de minera y todos los modelos de minera basados en esa estructura. En algunas ocasiones, al cambiar el tipo de datos la columna ya no se utilizar en el modelo en cuestin. En ese caso, Analysis Services producir un error cuando se vuelva a procesar el modelo o procesar el modelo pero no incluir esa columna en concreto. 2.5.11 Tablas anidadas En SQL Server Analysis Services, los datos se deben incluir en un algoritmo de minera de datos como una serie de casos contenidos dentro de una tabla de casos. Sin embargo, no todos los casos pueden describirse mediante una sola fila de datos. Por ejemplo, un caso puede derivarse de dos tablas: una que contenga la informacin del cliente y otra que contenga las compras de ese cliente. Un solo cliente de la tabla de informacin de clientes podra tener varios elementos en la tabla de compras del cliente, lo que dificulta describir los datos mediante una sola fila. Analysis Services proporciona un mtodo nico para tratar estos casos, mediante tablas anidadas. El concepto de una tabla anidada se muestra en la siguiente ilustracin.
Ilustracin 32. Ejemplo de una tabla anidada 117
En este diagrama, la primera tabla, que es la tabla primaria, contiene informacin sobre los clientes y asocia cada cliente con un nico identificador. La segunda tabla, la tabla secundaria, contiene las compras de cada cliente. Las compras de la tabla secundaria se relacionan con la tabla primaria mediante el identificador nico, la columna CustomerKey. La tercera tabla del diagrama muestra cmo se combinan ambas tablas. Una tabla anidada se representa en la tabla de casos como una columna especial que tiene un tipo de datos TABLE. En las filas especficas de caso, esta clase de columna contiene filas seleccionadas de la tabla secundaria que forman parte de la tabla primaria. Los datos de una tabla anidada se pueden utilizar para la prediccin, como entrada o para ambos. Por ejemplo, podra tener dos columnas de tabla anidada en un modelo: una podra contener una lista de los productos que un cliente ha comprado, mientras que la otra podra contener informacin sobre las aficiones e intereses del cliente, posiblemente obtenidas en un estudio. Podra utilizar las aficiones e intereses del cliente como entrada para analizar el comportamiento de compra y predecir las compras probables. 2.5.11.1 Combinar tablas de casos y tablas anidadas A fin de crear una tabla anidada, las dos tablas de origen deben contener una relacin definida de forma que los elementos de una tabla puedan relacionarse con los de la otra. En SQL Server Data Tools (SSDT), se puede definir esta relacin en la vista del origen de datos. Puede crear tablas anidadas mediante programacin usando Extensiones de minera de datos (DMX) u Objetos de administracin de anlisis (AMO), o puede utilizar el Asistente para minera de datos y el Diseador de minera de datos de SQL Server Data Tools (SSDT). 2.5.11.2 Usar columnas de tabla anidada en un modelo de minera de datos En la tabla de casos, la clave es a menudo un identificador de cliente, un nombre de producto o una fecha dentro una serie; es decir, datos que identifican una fila en la tabla de forma inequvoca. . Sin embargo, en las tablas anidadas, normalmente la clave no es la clave relacional (o clave externa), sino la columna que representa el atributo que se est modelando. Por ejemplo, si la tabla de casos contiene pedidos y la tabla anidada contiene los artculos de cada uno de dichos pedidos, le interesara modelar la relacin entre los artculos almacenados en la tabla anidada y los pedidos, que se almacenan en la tabla de casos. Por lo tanto, aunque la tabla anidada Items se combina con la tabla de casos Orders mediante la clave relacional OrderID, no se debe usar OrderID como clave de la tabla anidada. En su lugar, se debe seleccionar la columna Items, ya que dicha columna contiene los datos que se desea modelar. En la mayora de los casos, se puede pasar por alto OrderID sin ningn problema en el modelo de minera de datos, ya que la relacin entre la tabla de casos y la tabla anidada ya ha sido establecida por la definicin de vista del origen de datos. Cuando elija la columna que se va a usar como clave de la tabla anidada, debe asegurarse de que los valores de dicha columna sean nicos para cada caso. Por ejemplo, si la tabla de casos representa clientes y la tabla anidada representa los artculos adquiridos por cada cliente, debe asegurarse de que ningn artculo aparezca varias veces por cliente. Si un 118
cliente ha adquirido el mismo artculos varias veces, debe crear una vista diferente con una columna que agregue el nmero de compras para cada producto nico. La decisin de cmo administrar los valores duplicados en una tabla anidada depender del modelo de minera de datos que est creando y del problema empresarial que est intentando resolver. En algunos escenarios, es posible que no le interese el nmero de veces que un cliente ha adquirido un determinado producto sino que solo desee comprobar la existencia de al menos una compra. En otros escenarios, es posible que la cantidad y la secuencia de compras sean de gran importancia. Si el orden de los artculos es importante, puede que necesite una columna adicional que indique la secuencia. Cuando use el algoritmo de clsteres de secuencia para crear un modelo, deber elegir una columna Key Sequence adicional para representar el orden de los artculos. La columna Key Sequence es una clase especial de clave anidada que solo se usa en modelos de agrupacin en clsteres de secuencia, y requiere un tipo de datos numrico nico. Por ejemplo, los enteros y las fechas se pueden usar como columna Key Sequence, pero todos los valores de secuencia deben ser nicos. Adems de la columna Key Sequence, un modelo de agrupacin en clsteres de secuencia tambin incluye una clave de tabla anidada que representa el atributo que se est modelando, como los productos que se han adquirido. 2.5.11.3 Usar columnas anidadas sin clave desde una tabla anidada Una vez definida la combinacin entre la tabla de casos y la tabla anidada, y despus de elegir la columna que contiene atributos interesantes y nicos que se pueden usar como clave de la tabla anidada, puede incluir otras columnas de la tabla anidada para usarlas como entrada para el modelo. Todas las columnas de la tabla anidada se pueden usar como entrada, como prediccin y entrada, o solo como prediccin. Por ejemplo, si la tabla anidada contiene las columnas Product, ProductQuantity y ProductPrice, se puede elegir Product como clave de la tabla anidada, pero se ha de agregar ProductQuantity a la estructura de minera de datos para usarla como entrada. 2.5.11.3.1 Filtrar datos de tablas anidadas En SQL Server 2012 se pueden crear filtros para los datos que se usan en la comprobacin o el entrenamiento de un modelo de minera de datos. Se puede usar un filtro que afecte a la composicin del modelo o que compruebe ste en un subconjunto de casos. Los filtros tambin se pueden aplicar a las tablas anidadas. Sin embargo, existen limitaciones en cuanto a la sintaxis que se puede usar con dichas tablas. A menudo se aplica un filtro a una tabla anidada para comprobar si un atributo existe o no existe. Por ejemplo, se puede aplicar un filtro que restrinja los casos usados en el modelo a solo aquellos que tengan un valor especificado en la tabla anidada. O bien, se pueden restringir los casos utilizados en el modelo a los clientes que no han adquirido un artculo determinado. Al crear filtros en una tabla anidada, tambin se pueden usar operadores, como mayor que o menor que. Por ejemplo, puede restringir los casos usados en el modelo a los clientes que hayan comprado al menos n unidades del producto en cuestin. La 119
posibilidad de filtrar atributos de tabla anidada proporciona una gran flexibilidad a la hora de personalizar los modelos. 2.5.11.4 Distribuciones de columnas En Microsoft SQL Server Analysis Services puede definir distribuciones de columnas en una estructura de minera de datos para modificar la forma en que los algoritmos procesan los datos de estas columnas cuando se crean modelos de minera de datos. Para algunos algoritmos, resulta til definir la distribucin de las columnas continuas antes de procesar el modelo, si se sabe que las columnas contienen distribuciones de valores comunes. Si no define las distribuciones, los modelos resultantes pueden producir predicciones menos precisas que si las distribuciones hubieran sido definidas, ya que los algoritmos tendrn menos informacin a partir de la cual interpretar los datos. Los algoritmos que estn disponibles en Analysis Services admiten los siguientes tipos de distribucin: - Normal. Los valores de la columna continua forman un histograma con una distribucin normal.
Ilustracin 33. Tipo de distribucin normal - Log Normal. Los valores de la columna continua forman un histograma, donde la curva se alarga en el extremo superior y se desva hacia el extremo inferior.
Ilustracin 34. Tipo de distribucin Log normal - Uniform. Los valores de la columna continua forman una curva plana, en la que todos los valores son iguales. 120
Ilustracin 35. Tipo de distribucin uniforme 2.5.11.5 Mtodos de discretizacin Algunos de los algoritmos que se utilizan para crear modelos de minera de datos en SQL Server Analysis Services requieren tipos de contenido especficos para poder funcionar correctamente. Por ejemplo, el algoritmo Bayes naive de Microsoft no puede utilizar columnas continuas como entrada ni predecir valores continuos. Adems, algunas columnas pueden contener tal cantidad de valores que el algoritmo no puede identificar con facilidad patrones de inters en los datos para crear un modelo a partir de los mismos. En estos casos, puede discretizar los datos en las columnas de modo que pueda utilizar los algoritmos para producir un modelo de minera de datos. La discretizacin es el proceso mediante el cual los valores se incluyen en depsitos para que haya un nmero limitado de estados posibles. Los depsitos se tratan como si fueran valores ordenados y discretos. Puede discretizar tanto columnas numricas como de cadena. Si la solucin de minera de datos usa datos de un cubo OLAP (Procesamiento analtico en lnea), el algoritmo de minera de datos calcula automticamente el nmero de depsitos que se deben generar mediante la siguiente ecuacin, donde n es el nmero de valores de datos distintos existentes en la columna: Number of Buckets = sqrt(n) La siguiente tabla describe los mtodos que puede utilizar para discretizar datos en Analysis Services.
Mtodo de discretizacin Descripcin AUTOMATIC Analysis Services determina el mtodo de discretizacin que se va a utilizar. CLUSTERS El algoritmo divide los datos en grupos mediante el muestreo de los datos de entrenamiento, inicializa en un nmero de puntos aleatorios y, a continuacin, ejecuta varias iteraciones del algoritmo de clsteres de Microsoft utilizando el mtodo de agrupacin en clsteres EM (Expectation Maximization). El mtodo CLUSTERS resulta til porque funciona en cualquier curva de distribucin. Sin embargo, requiere ms tiempo de procesamiento que otros mtodos de discretizacin. Este mtodo solo puede utilizarse con columnas numricas. 121
EQUAL_AREAS El algoritmo divide los datos en grupos que contienen el mismo nmero de valores. Este mtodo es la mejor opcin para las curvas de distribucin normales, pero no se obtendrn resultados ptimos si la distribucin incluye grandes cantidades de valores en un grupo pequeo de los datos continuos. Por ejemplo, si la mitad de los productos tiene un costo de 0, la mitad de los datos se encontrarn bajo un solo punto de la curva. En esta distribucin, este mtodo divide los datos en un intento de establecer una discretizacin igual en varias reas. Esto produce una representacin inexacta de los datos. 2.5.11.6 Columnas clasificadas Cuando se define una columna clasificada, se crea una relacin entre la columna actual y otra columna de la estructura de minera de datos. La columna de la estructura de minera de datos que se designa como columna clasificada contiene informacin sobre categoras que describe los valores de otra columna de la estructura de minera de datos. Por ejemplo, imagine que tiene dos columnas con datos numricos: una columna, [Compras anuales], contiene las compras totales que realiza cada cliente durante un ao natural determinado, y la otra columna, [Desviaciones estndar], contiene las desviaciones estndar para esos valores. En este caso, podra designar la columna [Compras anuales] como columna clasificada, y el modelo podra usar esta relacin en el anlisis. El tipo de datos de una columna clasificada debe ser Long o Double. En la lista siguiente se describen los tipos de contenido que admite Analysis Services para las columnas clasificadas. - PROBABILITY. El valor de la columna es la probabilidad del valor asociado, un nmero entre cero y uno. - VARIANCE. El valor de la columna es la varianza del valor asociado. - STDEV. El valor de la columna es la desviacin estndar del valor asociado. - PROBABILITY_VARIANCE. El valor de la columna es la varianza de la probabilidad del valor asociado. - PROBABILITY_STDEV. El valor de la columna es la desviacin estndar de la probabilidad del valor asociado. - SUPPORT. El valor de la columna es el peso, o factor de replicacin del caso, del valor asociado. 2.5.12 Obtencin de detalles en estructuras de minera de datos La obtencin de detalles de los casos del modelo resulta til para buscar detalles adicionales sobre las reglas, los patrones o los clsteres de un modelo. En cambio, la obtencin de detalles de los datos de la estructura pretende proporcionar acceso a la informacin que no est disponible en el modelo. Por ejemplo, si dispone de los permisos adecuados, es posible que desee averiguar cules fueron las filas de datos utilizadas para entrenar el modelo y cules se utilizaron para las pruebas. Tambin puede ver los atributos de los datos que no se utilizaron en el anlisis, siempre que estos se hayan incluido en la definicin de la estructura. Por ejemplo, con frecuencia las estructuras de minera de datos admiten varios tipos diferentes de modelos, y es posible que 122
algunas columnas de la estructura se hayan excluido de un modelo debido a que el tipo de datos era incompatible o los datos no resultaban tiles para el anlisis. Por ejemplo, no utilizara informacin de contacto del cliente en un modelo de agrupacin en clsteres aunque los datos estuvieran incluidos en la estructura, pero si habilita la obtencin de detalles obtendr acceso a esta informacin sin necesidad de ejecutar consultas independientes en el origen de datos. 2.5.12.1 Habilitar la obtencin de detalles en los datos de la estructura Para utilizar la obtencin de detalles en la estructura de minera de datos, se deben cumplir las condiciones siguientes: La obtencin de detalles en el modelo tambin debe estar habilitada. De forma predeterminada, ambos tipos de obtencin de detalles estn deshabilitados. Para habilitar la obtencin de detalles en el Asistente para minera de datos, seleccione la opcin para habilitar la obtencin de detalles en los casos del modelo en la pgina final del asistente. Tambin puede agregar ms adelante la capacidad de obtener detalles en un modelo cambiando la propiedad AllowDrillthrough. Si crea la estructura de minera de datos mediante DMX, use la clusula WITH DRILLTHROUGH. La obtencin de detalles funciona recuperando la informacin sobre los casos de entrenamiento que se almacen en memoria cach al procesar la estructura de minera de datos. Por lo tanto, si borra los datos almacenados en cach despus de procesar la estructura cambiando la propiedad MiningStructureCacheMode a ClearAfterProcessing, la obtencin de detalles no funcionar. Para habilitar la obtencin de detalles en las columnas de la estructura, debe cambiar la propiedad MiningStructureCacheMode a KeepTrainingCases y, a continuacin, volver a procesar la estructura. Compruebe que la estructura de minera de datos y el modelo de minera de datos tienen la propiedad AllowDrillThrough establecida en True. Es ms, debe ser miembro de un rol con los permisos de obtencin de detalles para la estructura y el modelo. 2.5.12.2 Problemas de seguridad para la obtencin de detalles Los permisos de obtencin de detalles se establecen por separado en la estructura y en el modelo. El permiso del modelo le permite obtener detalles del modelo, aunque no tenga permisos en la estructura. Los permisos de obtencin de detalles en la estructura ofrecen la posibilidad adicional de incluir columnas de la estructura en las consultas de obtencin de detalles del modelo, mediante la funcin StructureColumn (DMX). 2.6 Modelos de minera de datos Un modelo de minera de datos se crea mediante la aplicacin de un algoritmo a los datos, pero es algo ms que un algoritmo o un contenedor de metadatos: es un conjunto de datos, estadsticas y patrones que se pueden aplicar a los nuevos datos para generar predicciones y deducir relaciones. En esta seccin se explica qu es un modelo de minera de datos y cul puede ser su uso: la arquitectura bsica de modelos y estructuras, las propiedades de los modelos de minera de datos y las maneras de crear modelos de minera de datos y trabajar con ellos. 123
2.6.1 Arquitectura del modelo de minera de datos Un modelo de minera de datos recibe los datos de una estructura de minera de datos y, a continuacin, los analiza utilizando un algoritmo de minera de datos. La estructura y el modelo de minera de datos son objetos independientes. La estructura de minera de datos almacena la informacin que define el origen de datos. Un modelo de minera de datos almacena la informacin derivada del procesamiento estadstico de los datos, como los patrones encontrados como resultado del anlisis. Un modelo de minera de datos est vaco hasta que los datos que proporciona la estructura de minera de datos se procesan y analizan. Una vez procesado el modelo, contiene los metadatos, resultados y enlaces de la estructura de minera de datos.
Ilustracin 36. Contenido del modelo de minera de datos Los metadatos especifican el nombre del modelo y el servidor donde est almacenado, as como una definicin del mismo, incluidas las columnas de la estructura de minera de datos que se usaron para generarlo, las definiciones de los filtros que se aplicaron al procesarlo y el algoritmo empleado para analizar los datos. Todas estas opciones, las columnas de datos y sus tipos de datos, filtros y algoritmo, influyen en gran medida en los resultados del anlisis. Por ejemplo, puede usar los mismos datos para crear varios modelos, quizs mediante un algoritmo de clsteres, un algoritmo de rboles de decisin y un algoritmo Bayes Nave. Cada tipo de modelo crea un conjunto diferente de patrones, conjuntos de elementos, reglas o frmulas, que puede usar para realizar predicciones. Por lo general, cada algoritmo analiza los datos de forma diferente, por lo que el contenido del modelo resultante tambin se organiza en estructuras diferentes. En un tipo de modelo, los datos y los modelos pueden estar agrupados en clsteres; en otro, los datos pueden estar organizados en rboles, ramas y las reglas que los dividen y definen. El modelo tambin se ve afectado por los datos usados en el entrenamiento: incluso los modelos cuyo entrenamiento se ha realizado en la misma estructura de minera de datos pueden producir resultados distintos si se filtran los datos de manera diferente o se usan semillas distintas durante el anlisis. Sin embargo, los datos reales no se almacenan en el modelo; solo lo hacen las estadsticas de resumen, mientras que los datos reales residen en la estructura de minera de datos. Si ha creado filtros en los datos al realizar el entrenamiento del modelo, las definiciones de filtro tambin se guardan con el objeto de modelo. El modelo contiene un conjunto de enlaces, que sealan a los datos almacenados en memoria cach en la estructura de minera de datos. Si los datos se han almacenado en memoria cach en la estructura y no se han borrado despus del procesamiento, estos enlaces le permiten obtener detalles de los resultados para llegar a los casos en que se basan los resultados. Sin embargo, los datos reales estn almacenados en la memoria cach de la estructura, no en el modelo. 124
2.6.2 Definir modelos de minera de datos Para crear un modelo de minera de datos, siga estos pasos generales: Cree la estructura de minera de datos subyacente e incluya las columnas de datos que sean necesarias. Seleccione el algoritmo ms adecuado para la tarea analtica. Elija las columnas de la estructura que se incluirn en el modelo y especifique cmo se deben usar, es decir, qu columna contiene el resultado que desea predecir, qu columnas son nicamente para la entrada, etc. Opcionalmente, puede establecer los parmetros para ajustar el procesamiento del algoritmo. Rellene el modelo con datos procesando la estructura y el modelo. Analysis Services proporciona las herramientas siguientes para ayudarle a administrar los modelos de minera de datos: El Asistente para minera de datos le ayuda a crear una estructura y el modelo de minera de datos relacionado. ste es el mtodo ms fcil de utilizar. El asistente crea automticamente la estructura de minera de datos necesaria y le ayuda con la configuracin de los valores importantes. Una instruccin DMX CREATE MODEL se puede utilizar para definir un modelo. La estructura necesaria se crea automticamente como parte del proceso; por consiguiente, no puede reutilizar una estructura existente con este mtodo. Use este mtodo si ya sabe exactamente qu modelo desea crear o si desea crear scripts de modelos. Una instruccin DMX ALTER STRUCTURE ADD MODEL se puede usar para agregar un nuevo modelo de minera de datos a una estructura existente. Utilice este mtodo si desea experimentar con diferentes modelos que se basen en el mismo conjunto de datos. 2.6.3 Propiedades del modelo de minera de datos Cada modelo de minera de datos tiene propiedades que definen el modelo y sus metadatos. Estos incluyen el nombre, la descripcin, la fecha en que se proces el modelo por ltima vez, los permisos del modelo y los filtros que se usan en los datos para el entrenamiento. Cada modelo de minera de datos tambin tiene propiedades que se derivan de la estructura de minera de datos y que describen las columnas de datos que usa. Si alguna de las columnas que usa el modelo es una tabla anidada, tambin se le puede aplicar un filtro independiente. Adems, cada modelo de minera de datos contiene dos propiedades especiales: Algorithm y Usage. Propiedad del algoritmo: especifica el algoritmo que se utiliza para crear el modelo. Los algoritmos que estn disponibles dependen del proveedor que se use.Para consultar una lista de los algoritmos incluidos en SQL Server Analysis Services,. La propiedad Algorithm se aplica al modelo de minera de datos y solo puede establecerse una vez en cada modelo. Puede cambiar el algoritmo ms tarde pero algunas columnas del modelo de minera de datos podran dejar de ser vlidas si el algoritmo elegido no las admite. Siempre debe volver a procesar el modelo despus de modificar esta propiedad. La propiedad Usage define cmo usa el modelo cada columna. Puede definir el uso de la columna como Input, Predict, Predict Only o Key. La propiedad Usage se aplica a las columnas de modelo de minera de datos individuales y debe establecerse individualmente para cada columna que se incluye en un modelo. Si la estructura contiene una columna que no se usa en el modelo, el uso se establece 125
en Ignore. Algunos ejemplos de datos que puede incluir en la estructura de minera de datos pero no usar en el anlisis son los nombres de clientes o las direcciones de correo electrnico. De este modo puede consultarlos en otro momento sin necesidad de incluirlos durante la fase de anlisis. Puede cambiar el valor de las propiedades de un modelo de minera de datos despus de crearlo. Sin embargo, cualquier cambio, incluso el nombre del modelo, requiere que vuelva a procesarlo. Despus de volver a procesar el modelo, podra ver resultados diferentes. 2.6.4 Columnas del modelo de minera de datos El modelo de minera de datos contiene columnas de datos que se obtienen de las columnas definidas en la estructura de minera de datos. Adems de elegir las columnas de la estructura de minera de datos que desea usar en el modelo, puede crear copias de las mismas y, a continuacin, cambiar su nombre o su uso. Como parte del proceso de generacin del modelo, tambin debe definir el uso que va a dar el modelo a la columna. Eso incluye informacin que indique si la columna es una clave, si se usa para la prediccin o si puede omitirla el algoritmo. Cuando genere un modelo, en lugar de agregar automticamente todas las columnas de datos disponibles, se recomienda que revise cuidadosamente los datos de la estructura e incluya en el modelo solo las columnas que tengan sentido para el anlisis. Por ejemplo, debe evitar incluir varias columnas que repitan los mismos datos, as como el uso de columnas que contengan principalmente valores nicos. Si cree que una columna no se debera usar, no es necesario eliminarla de la estructura o del modelo de minera de datos; en su lugar, basta con establecer una marca en la columna que especifique que se debera omitir al generar el modelo. Esto significa que la columna permanecer en la estructura de minera de datos, pero no se usar en el modelo. Si ha habilitado la obtencin de detalles del modelo para la estructura de minera de datos, puede recuperar despus la informacin de la columna. Segn el algoritmo que elija, algunas columnas de la estructura de minera de datos podran ser incompatibles con ciertos tipos de modelos o proporcionar resultados inexactos. Por ejemplo, si los datos contienen datos numricos continuos, como una columna Ingresos, y el modelo requiere valores discretos, es posible que necesite convertir los datos en intervalos discretos o quitarlos del modelo. En algunos casos, el algoritmo convertir o enlazar los datos automticamente, pero es posible que los resultados no sean siempre los esperados. Considere la posibilidad de realizar copias adicionales de la columna y probar varios modelos. Tambin puede establecer marcas en columnas individuales para indicar dnde se requiere un procesamiento especial. Por ejemplo, si los datos contienen valores NULL, puede usar una marca de modelado para controlar su administracin. Si desea que una determinada columna sea considerada como un regresor en un modelo, puede hacerlo mediante una marca de modelado. Despus de haber creado el modelo, puede realizar cambios como agregar o quitar columnas, o cambiar el nombre del modelo. Sin embargo, cualquier cambio, incluidos solo los de los metadatos del modelo, requiere que el modelo se vuelva a procesar. 2.6.5 Procesar modelos de minera de datos Un modelo de minera de datos es un objeto vaco hasta que se procesa. Al procesar un modelo, los datos que la estructura almacena en memoria cach se pasan a travs de un filtro, si se ha definido alguno en el modelo, y el algoritmo los analiza. El algoritmo calcula un conjunto de estadsticas de resumen que describen los datos, identifica las reglas y los patrones en los datos, y despus usa dichas reglas y patrones para rellenar el modelo. Una vez procesado, el modelo de minera de datos contiene una gran cantidad de informacin sobre los datos y los patrones encontrados mediante el anlisis, incluyendo estadsticas, reglas y frmulas de regresin. Puede usar los visores personalizados para examinar esta 126
informacin, o puede crear consultas de minera de datos para recuperarla y usarla para el anlisis y la presentacin. 2.6.6 Columnas del modelo de minera de datos Un modelo de minera de datos aplica un algoritmo de modelo de minera a los datos que se representan en una estructura de minera de datos. Al igual que la estructura, el modelo de minera de datos contiene columnas. La estructura de minera contiene el modelo de minera de datos y ste hereda todos los valores de las propiedades que define la estructura. El modelo puede utilizar todas las columnas que contiene la estructura de minera de datos o un subconjunto de las columnas. En una columna de minera de datos puede definir dos elementos adicionales de informacin: uso y marcas de modelado. El uso es una propiedad que define cmo el modelo va a usar la columna. Las columnas se pueden usar como columnas de entrada, de clave o de prediccin. Las marcas de modelado proporcionan al algoritmo informacin adicional sobre los datos que se definen en la tabla de casos, de forma que el algoritmo pueda generar un modelo ms preciso. Puede definir marcas de modelado mediante programacin usando el lenguaje DMX (Extensiones de minera de datos) o en elDiseador de minera de datos de SQL Server Data Tools (SSDT). La siguiente lista describe las marcas de modelado que puede definir en una columna de modelo de minera de datos. MODEL_EXISTENCE_ONLY. Indica que la presencia del atributo es ms importante que los valores que estn en la columna de atributos. Por ejemplo, considere una tabla de casos que contenga una lista de elementos de pedido asociados con un cliente determinado. Los datos de la tabla incluyen el tipo de producto, el Id. y el costo de cada elemento. Para el modelado, el hecho de que el cliente haya adquirido un elemento de pedido concreto podra ser ms importante que el costo del propio elemento. En este caso, la columna de costo debera marcarse como MODEL_EXISTENCE_ONLY. REGRESSOR. Indica que el algoritmo puede usar la columna especificada en la frmula de regresin de algoritmos de regresin. Esta marca se admite en los algoritmos de rboles de decisin de Microsoft y de serie temporal de Microsoft.
127
2.6.7 Tipos de contenido En Microsoft SQL Server Analysis Services, puede definir tanto el tipo de datos fsico de una columna en una estructura de minera como un tipo de datos lgico que define cmo se usa la columna en un modelo. El tipo de datos determina el modo en que los algoritmos procesan los datos de esas columnas cuando se crean modelos de minera. La definicin del tipo de datos de una columna proporciona al algoritmo informacin sobre el tipo de datos de las columnas y el modo de procesar los datos. Cada tipo de datos de Analysis Services admite uno o varios tipos de contenido para la minera de datos. El tipo de contenido describe el comportamiento de los valores incluidos en la columna. Por ejemplo, si los valores de datos de una columna tienden a repetirse en un intervalo concreto, como los das de la semana, puede especificar el tipo de contenido de esa columna como cclico. Algunos algoritmos requieren tipos de datos y/o de contenido especficos para que funcionen correctamente. Por ejemplo, el algoritmo Bayes naive de Microsoft no puede utilizar columnas continuas como entrada ni predecir valores continuos. Por lo tanto, tales columnas deben o bien excluirse del modelo o discretizarse. Algunos tipos de contenido, como Key Sequence, solo son utilizados por un algoritmo concreto. Para obtener una lista de los algoritmos y los tipos de contenido que admite cada uno. En la lista siguiente se describen los tipos de contenido que se usan en la minera de datos y se enumeran los tipos de datos que admite cada tipo de contenido. 2.6.7.1 Discreto El tipo de contenido discreto indica que la columna contiene un nmero finito de valores no continuos. Por ejemplo, una columna como la del gnero es una columna de atributos discreta muy habitual en la que los datos representan un nmero especfico de categoras. Si la columna contiene texto, el tipo se establece automticamente endiscrete. Sin embargo, si la columna contiene valores discretos que tienen etiquetas numricas (por ejemplo, en una columna de gnero, hombre podra etiquetarse como 0 y mujer como 1), podra necesitar cambiar el tipo de contenido de continuo a discreto. Incluso si los valores utilizados para la columna discreta son numricos, no se pueden calcular valores fraccionarios. Los cdigos telefnicos de zona son un buen ejemplo de datos discretos que son numricos pero no deben usarse para los clculos. Adems, los valores de una columna de atributos discreta no pueden implicar la ordenacin, aun cuando los valores sean numricos. El tipo de contenido Discrete puede aplicarse a las columnas de todos los tipos de datos de minera. 2.6.7.2 Continuo Continuo indica que la columna contiene valores que representan datos numricos en una escala que permite valores intermedios. A diferencia de una columna discreta, que representa datos numerables y finitos, una columna continua representa medidas escalables; adems, es posible que los datos contengan un nmero infinito de valores fraccionarios. Una columna de temperaturas es un ejemplo de una columna de atributos continua. Cuando una columna contiene datos numricos y se sabe cmo deben distribuirse los datos, se podran obtener anlisis ms exactos especificando la distribucin prevista de los valores. La distribucin de columnas se especifica en el nivel de la estructura de minera. Por lo tanto, la opcin se aplica a todos los modelos basados en la estructura. El tipo de contenido Continuous puede aplicarse a las columnas de los siguientes tipos de datos: Date, Double y Long. 128
2.6.7.3 Discretos La discretizacin es el proceso mediante el cual los valores de un conjunto de datos continuo se incluyen en depsitos para que haya un nmero limitado de valores posibles. Solo se pueden discretizar los datos numricos. Por tanto, el tipo de contenido discretized indica que la columna contiene valores que representan grupos o depsitos de valores que se derivan de una columna continua.Los depsitos se tratan como si fueran valores ordenados y discretos. Se pueden discretizar los datos manualmente, para asegurarse de que se obtienen los depsitos deseados, o se pueden utilizar los mtodos de discretizacin proporcionados en SQL Server Analysis Services. Algunos algoritmos realizan la discretizacin automticamente. El tipo de contenido Discretized puede aplicarse a las columnas de los siguientes tipos de datos: Date, Double, Long y Text. 2.6.7.4 Clave El tipo de contenido clave indica que la columna identifica una fila de forma inequvoca. Normalmente, en una tabla de casos, la columna de clave es un identificador numrico o de texto. Cuando establece el tipo de contenido en key, est indicando que la columna no debe utilizarse para el anlisis, sino para realizar el seguimiento de los registros. Las tablas anidadas tambin tienen claves, pero el uso de la clave de tabla anidada es ligeramente diferente. En una tabla anidada debe establecer el tipo de contenido enkey si la columna es el atributo que desea analizar. Los valores de la clave de tabla anidada deben ser nicos para cada caso, pero puede haber duplicados en todo el conjunto de casos. Por ejemplo, si est analizando los productos que compran los clientes, debe establecer el tipo de contenido en key para la columna CustomerID de la tabla de casos, y tambin debe establecer el tipo de contenido en key para la columna PurchasedProducts de la tabla anidada. Este tipo de contenido es compatible con los siguientes tipos de datos: Date, Double, Long y Text. 2.6.7.5 Secuencia de claves El tipo de contenido secuencia de claves solamente se puede utiliza en modelos de agrupacin en clsteres de secuencia. Cuando se establece el tipo de contenido en key sequence, se indica que la columna contiene valores que representan una secuencia de eventos. Los valores estn ordenados y no tienen que estar separados por una distancia equivalente. Este tipo de contenido es compatible con los siguientes tipos de datos: Double, Long, Text y Date. 2.6.7.6 Clave temporal El tipo de contenido clave temporal solamente se puede utilizar en modelos de serie temporal. Cuando se establece el tipo de contenido en key time, se indica que los valores estn ordenados y que representan una escala de tiempo. Este tipo de contenido se puede aplicar a las columnas que tienen los siguientes tipos de datos: Double, Long y Date. 2.6.7.7 Tabla El tipo de contenido tabla indica que la columna contiene otra tabla de datos, con una o ms columnas y una o ms filas. Para cualquier fila concreta de la tabla de casos, esta columna puede contener varios valores, todos ellos relacionados con el registro del caso primario. Por ejemplo, si la tabla de casos principal contiene una lista de clientes, podra tener varias 129
columnas con tablas anidadas, como una columna ProductosComprados, donde la tabla anidada muestre una lista de los productos que este cliente ha comprado en el pasado, y una columna Aficiones que muestre las aficiones del cliente. El tipo de datos de esta columna siempre es Table. 2.6.7.8 Cclico El tipo de contenido cclico indica que la columna contiene valores que representan un conjunto ordenado cclico. Por ejemplo, los das numerados de la semana es un conjunto ordenado cclico, ya que el da nmero uno sigue al da nmero siete. Las columnas cclicas se consideran ordenadas y discretas en trminos de tipo de contenido. Este tipo de contenido puede aplicarse a las columnas de todos los tipos de datos de Analysis Services excepto table y Boolean. Sin embargo, la mayora de los algoritmos tratan los valores cclicos como valores discretos y no realizan ningn procesamiento especial. 2.6.7.9 Ordenado El tipo de contenido ordenado indica tambin que la columna contiene valores que definen una secuencia u orden. Sin embargo, en este tipo de contenido los valores utilizados para la ordenacin no implican ninguna relacin de distancia o magnitud entre los valores del conjunto. Por ejemplo, si una columna de atributos ordenados contiene informacin acerca de una lista de niveles de especializacin que vayan del uno al cinco, no existe informacin implcita entre los niveles de especializacin; un nivel cinco de especializacin no es necesariamente cinco veces mejor que un nivel uno de especializacin. Las columnas de atributos ordenados se consideran que contienen valores discretos. Este tipo de contenido se puede aplicar a todos los tipos de datos de minera de datos de Analysis Services. Sin embargo, la mayora de los algoritmos tratan los valores ordenados como valores discretos y no realizan ningn procesamiento especial. 2.6.8 Propiedades del modelo de minera de datos Los modelos de minera de datos tienen las siguientes clases de propiedades: Las propiedades que se heredan de la estructura de minera de datos que define el tipo de datos y el tipo de contenido de los datos que usa el modelo; Las propiedades relacionadas con el algoritmo que se usa para crear el modelo de minera de datos, incluidos los parmetros de cliente; Las propiedades que definen un filtro en el modelo utilizado para entrenar el modelo. Las propiedades de un modelo de minera de datos se definen inicialmente al crear el modelo; sin embargo, puede modificar la mayora de las propiedades posteriormente, incluidos los parmetros de algoritmo, los filtros y las propiedades de uso de la columna. Puede cambiar las propiedades mediante la pestaa Modelos de minera de datosdel Diseador de minera de datos o bien usando AMO o XMLA. Siempre que cambia alguna propiedad de un modelo, debe volver a procesarlo para que refleje los cambios. Es necesario volver a procesar incluso si el cambio afecta solamente a los metadatos, como agregar un alias o una descripcin de columna. Propiedades de los modelos En la tabla siguiente se describen las propiedades especficas de los modelos de minera de datos. Adems, hay propiedades que puede establecer en columnas individuales de la minera de datos Propiedad Descripcin Algoritmo Establece el tipo de algoritmo para el modelo de minera de datos. 130
AlgorithmParameters Establece los valores de los parmetros de algoritmo disponibles para cada tipo de algoritmo. Filter Establece un filtro que se aplica a los datos que se utilizan para el aprendizaje y prueba del modelo de minera de datos. La definicin del filtro est almacenada con el modelo y se utiliza opcionalmente al crear consultas de prediccin o al probar la exactitud del modelo. El filtro de modelos no es opcional en el aprendizaje del modelo. Nombre Establece el nombre del modelo de minera de datos. AllowDrillThrough Especifica si se habilita la obtencin de detalles en el modelo de minera de datos. 2.6.8.1 Propiedades de las columnas de un modelo Puede configurar las siguientes propiedades especficas de la minera de datos para cada columna de un modelo de minera de datos. Puede establecer estas propiedades con un valor diferente para cada modelo de la estructura de minera de datos.
Propiedad Descripcin Descripcin Describe el propsito de la columna de minera. Nombre Establece el nombre de la columna del modelo de minera de datos. Puede escribir un nuevo nombre que sirva de alias para la columna del modelo de minera de datos. ModelingFlags Configura las marcas especficas de algoritmo de la columna. SourceColumnID Indica el nombre de la columna de estructura de minera de datos en la que se basa la columna de modelo. Esta propiedad es de solo lectura. Uso Establece la forma en que el modelo de minera de datos va a utilizar la columna. 131
2.6.8.2 Valores ausentes Controlar los valores ausentes correctamente constituye una parte importante del modelado eficiente. En esta seccin se explica qu son los valores ausentes, y se describen las caractersticas proporcionadas en Analysis Services para trabajar con valores ausentes al generar estructuras y modelos de minera de datos. 2.6.8.2.1 Definicin de los valores ausentes en la minera de datos Un valor ausente puede tener distintos significados. Es posible que el campo no fuera aplicable, que el evento no se produjera o que los datos no estuvieran disponibles.Tambin puede deberse a que la persona que escribi los datos no conoca el valor correcto, o no se preocup de rellenar un campo. Sin embargo, hay muchos escenarios de minera de datos en los que los valores ausentes proporcionan informacin importante. El significado de los valores ausentes depende en gran parte del contexto. Por ejemplo, un valor de fecha ausente en una lista de facturas tiene un significado sustancialmente diferente de la ausencia de una fecha en la columna que indica la fecha de contratacin de un empleado. Generalmente, Analysis Services trata los valores ausentes como informativos y ajusta las probabilidades para incorporarlos en sus clculos. De esta forma, puede asegurarse de que los modelos estn equilibrados y no dan demasiada importancia a los casos existentes. Por consiguiente, Analysis Services proporciona dos mecanismos totalmente distintos para administrar y calcular los valores ausentes. El primer mtodo controla la administracin de los valores NULL en el nivel de la estructura de minera de datos. La implementacin del segundo mtodo difiere para cada algoritmo, pero normalmente define cmo se procesan y cuentan los valores ausentes en los modelos que admiten valores NULL. 2.6.8.2.2 Especificar la administracin de los valores NULL Los valores ausentes pueden estar representados en el origen de datos de varias maneras: como valores NULL, como celdas vacas en una hoja de clculo, como el valor N/D u otro cdigo similar, o como un valor artificial, por ejemplo 9999. Sin embargo, en la minera de datos, solo los valores NULL se consideran valores ausentes. Si los datos contienen valores de marcador de posicin en lugar de valores NULL, dichos valores pueden afectar a los resultados del modelo, por lo que deber reemplazarlos por valores NULL o bien deducir los valores correctos si es posible. Existen diversas herramientas que puede usar para deducir y rellenar los valores adecuados, como la transformacin Bsqueda o la tarea de generacin de perfiles de datos en SQL Server Integration Services, o la herramienta Rellenar desde ejemplo incluida en los complementos de minera de datos para Excel. Si la tarea que est modelando especifica que una columna nunca debe tener valores ausentes, debe aplicar la marca de modelado NOT_NULL a la columna al definir la estructura de minera de datos. Esta marca indica que se debe producir un error en el procesamiento si un caso no tiene un valor adecuado. Si se produce este error al procesar un modelo, puede registrarlo y tomar las medidas necesarias para corregir los datos que se proporcionan al modelo. 2.6.8.2.3 Clculo del estado ausente Para el algoritmo de minera de datos, los valores ausentes son informativos. En las tablas de casos, Missing es un estado tan vlido como cualquier otro. Es ms, un modelo de minera de datos puede usar otros valores para predecir la ausencia de un valor. En otras palabras, la ausencia de un valor no es un error. 132
Cuando se crea un modelo de minera de datos, se agrega automticamente un estado Missing a dicho modelo para todas las columnas discretas. Por ejemplo, si la columna de entrada [Sexo] contiene dos posibles valores, Hombre y Mujer, automticamente se agrega un tercer valor para representar el valor Missing, y el histograma que muestra la distribucin de todos los valores de la columna siempre incluir el recuento de los casos con valores Missing. Si en la columna Sexo no hay ningn valor ausente, el histograma muestra que el estado Missing aparece en 0 casos. La inclusin del estado Missing de forma predeterminada est justificada si cree probable que los datos no dispongan de ejemplos de todos los valores posibles y no desea que el modelo excluya la posibilidad solo porque no existe ningn ejemplo en los datos. Por ejemplo, si los datos de ventas de una tienda muestran que todos los clientes que compraron un determinado producto resultaron ser mujeres, probablemente no desee crear un modelo que prediga que nicamente las mujeres podrn adquirir el producto. En su lugar, Analysis Services agrega un marcador de posicin para el valor desconocido adicional, denominado Missing, que permitira alojar otros posibles estados. Por ejemplo, la tabla siguiente muestra la distribucin de valores para el nodo (Todos) del modelo de rbol de decisin creado para el tutorial de Bike Buyer. En el ejemplo, la columna [Bike Buyer] es el atributo de prediccin, donde 1 indica "S" y 0 indica "No". Valor Casos 0 9296 1 9098 Missing 0 Esta distribucin muestra que aproximadamente la mitad de los clientes han comprado una bicicleta, y la otra mitad no lo ha hecho. Este conjunto de datos concreto es muy limpio; por consiguiente, cada caso tiene un valor en la columna [Bike Buyer] y el recuento de valores Missing es 0. Sin embargo, si un caso tuviera un valor NULL en el campo [Bike Buyer], Analysis Services, considerara esa fila como un caso con un valor Missing. Si la entrada es una columna continua, el modelo tabula dos posibles estados para el atributo: Existing y Missing. En otras palabras, o la columna contiene un valor de algn tipo de datos numricos o no contiene ningn valor. Para los casos que tienen un valor, el modelo calcula la media, la desviacin estndar y otras estadsticas significativas. Para los casos que no tienen ningn valor, el modelo proporciona un recuento de los valores Missing y ajusta las predicciones de la forma apropiada. El mtodo para ajustar la prediccin difiere dependiendo del algoritmo y se describe en la seccin siguiente. 2.6.8.2.4 Ajustar la probabilidad para los estados ausentes Adems de contar los valores, Analysis Services calcula la probabilidad de cualquier valor en el conjunto de datos. Esto tambin se aplica al valor Missing. Por ejemplo, la tabla siguiente muestra las probabilidades para los casos del ejemplo anterior: Valor Casos Probabilidad 0 9296 50.55% 133
1 9098 49.42% Missing 0 0.03% Puede parecer extrao que la probabilidad del valor Missing sea 0,03%, cuando el nmero de casos es 0. En realidad, este comportamiento forma parte del diseo y representa un ajuste que permite al modelo administrar correctamente los valores desconocidos. En general, la probabilidad se calcula dividiendo los casos favorables entre todos los casos posibles. En este ejemplo, el algoritmo calcula la suma de los casos que cumplen una condicin determinada ([Bike Buyer] = 1 o [Bike Buyer] = 0) y divide ese nmero entre el recuento total de filas. Sin embargo, para representar los casosMissing, se suma 1 al nmero de casos posibles. Como resultado, la probabilidad para el caso desconocido ya no es cero, sino un nmero muy pequeo, lo que indica que el estado es simplemente improbable, no imposible. La suma de este pequeo valor para Missing no cambia el resultado del elemento de prediccin; sin embargo, mejora el modelado en escenarios donde los datos histricos no contemplan todos los resultados posibles. Si est seguro de que en los datos se especifican todos los resultados y desea evitar que se ajusten las probabilidades, deber establecer la marca de modelado NOT_NULL en la columna de la estructura de minera de datos. 2.6.8.2.5 Administrar de manera especial los valores ausentes en los modelos de rbol de decisin El algoritmo de rboles de decisin de Microsoft calcula las probabilidades para los valores ausentes de manera diferente que otros algoritmos. En lugar de limitarse a agregar 1 al nmero total de casos, el algoritmo de rboles de decisin se ajusta para el estado Missing usando una frmula algo diferente. En un modelo de rbol de decisin, la probabilidad del estado Missing se calcula de la forma siguiente: StateProbability = (NodePriorProbability)* (StateSupport + 1) / (NodeSupport + TotalStates) Adems, en SQL Server 2012 Analysis Services (SSAS), el algoritmo de rboles de decisin proporciona un ajuste adicional que ayuda al algoritmo a compensar la presencia de filtros en el modelo, lo que puede conllevar la exclusin de muchos estados durante el proceso de entrenamiento. En SQL Server 2012, si un estado est presente durante el proceso de entrenamiento pero el soporte es cero en un nodo determinado, se realiza el ajuste estndar. Sin embargo, si un estado nunca aparece durante el proceso de entrenamiento, el algoritmo establece la probabilidad exactamente en cero. Este ajuste no solo se aplica al estado Missing, sino tambin a los otros estados que existen en los datos de entrenamiento, pero que tienen un soporte cero como resultado del filtrado de modelos. Este ajuste adicional da como resultado la frmula siguiente: StateProbability = 0.0 si ese estado tiene un soporte 0 en el conjunto de entrenamiento ELSE StateProbability = (NodePriorProbability)* (StateSupport + 1) / (NodeSupport + TotalStatesWithNonZeroSupport) El efecto neto de este ajuste es mantener la estabilidad del rbol. 2.6.8.2.5.1 Definicin de los valores ausentes en la minera de datos 134
Un valor ausente puede tener distintos significados. Es posible que el campo no fuera aplicable, que el evento no se produjera o que los datos no estuvieran disponibles.Tambin puede deberse a que la persona que escribi los datos no conoca el valor correcto, o no se preocup de rellenar un campo. Sin embargo, hay muchos escenarios de minera de datos en los que los valores ausentes proporcionan informacin importante. El significado de los valores ausentes depende en gran parte del contexto. Por ejemplo, un valor de fecha ausente en una lista de facturas tiene un significado sustancialmente diferente de la ausencia de una fecha en la columna que indica la fecha de contratacin de un empleado. Generalmente, Analysis Services trata los valores ausentes como informativos y ajusta las probabilidades para incorporarlos en sus clculos. De esta forma, puede asegurarse de que los modelos estn equilibrados y no dan demasiada importancia a los casos existentes. Por consiguiente, Analysis Services proporciona dos mecanismos totalmente distintos para administrar y calcular los valores ausentes. El primer mtodo controla la administracin de los valores NULL en el nivel de la estructura de minera de datos. La implementacin del segundo mtodo difiere para cada algoritmo, pero normalmente define cmo se procesan y cuentan los valores ausentes en los modelos que admiten valores NULL. 2.6.8.2.6 Administrar de manera especial los valores ausentes en los modelos de rbol de decisin El algoritmo de rboles de decisin de Microsoft calcula las probabilidades para los valores ausentes de manera diferente que otros algoritmos. En lugar de limitarse a agregar 1 al nmero total de casos, el algoritmo de rboles de decisin se ajusta para el estado Missing usando una frmula algo diferente. En un modelo de rbol de decisin, la probabilidad del estado Missing se calcula de la forma siguiente: StateProbability = (NodePriorProbability)* (StateSupport + 1) / (NodeSupport + TotalStates) Adems, en SQL Server 2012 Analysis Services (SSAS), el algoritmo de rboles de decisin proporciona un ajuste adicional que ayuda al algoritmo a compensar la presencia de filtros en el modelo, lo que puede conllevar la exclusin de muchos estados durante el proceso de entrenamiento. En SQL Server 2012, si un estado est presente durante el proceso de entrenamiento pero el soporte es cero en un nodo determinado, se realiza el ajuste estndar. Sin embargo, si un estado nunca aparece durante el proceso de entrenamiento, el algoritmo establece la probabilidad exactamente en cero. Este ajuste no solo se aplica al estado Missing, sino tambin a los otros estados que existen en los datos de entrenamiento, pero que tienen un soporte cero como resultado del filtrado de modelos. Este ajuste adicional da como resultado la frmula siguiente: StateProbability = 0.0 si ese estado tiene un soporte 0 en el conjunto de entrenamiento ELSE StateProbability = (NodePriorProbability)* (StateSupport + 1) / (NodeSupport + TotalStatesWithNonZeroSupport) El efecto neto de este ajuste es mantener la estabilidad del rbol.
135
2.6.8.3 Seleccin de caractersticas La seleccin de caractersticas es un trmino usado habitualmente en la minera de datos para describir las herramientas y las tcnicas disponibles para reducir las entradas a un tamao apropiado para su procesamiento y anlisis. La seleccin de caractersticas no solo implica la reduccin de cardinalidad, es decir, la imposicin de un lmite arbitrario o predefinido en el nmero de atributos que se pueden considerar al crear un modelo, sino tambin la eleccin de atributos, lo que significa que el analista o la herramienta de modelado debe seleccionar o descartar activamente los atributos en funcin de su utilidad para el anlisis. La capacidad de aplicar la seleccin de caractersticas es esencial para un anlisis eficiente, ya que los conjuntos de datos suelen contener mucha ms informacin de la necesaria para la generacin del modelo. Por ejemplo, un conjunto de datos puede contener 500 columnas que describen las caractersticas de los clientes, pero si los datos de algunas de ellas estn muy dispersos, no obtendr muchas ventajas al agregarlas al modelo. Si mantiene las columnas innecesarias durante la generacin del modelo, se necesitarn ms CPU y memoria durante el proceso de entrenamiento, as como ms espacio de almacenamiento para el modelo completado. Aunque los recursos no sean un problema, normalmente se deben quitar las columnas innecesarias porque pueden degradar la calidad de los patrones detectados por las razones siguientes: Algunas columnas son ruidosas o redundantes. Este ruido dificulta la deteccin de patrones significativos a partir de los datos. Para detectar patrones de calidad, la mayora de los algoritmos de minera de datos requieren un conjunto de datos de entrenamiento mucho ms grande en un conjunto de datos multidimensional. Sin embargo, en algunas aplicaciones de minera de datos se dispone de muy pocos datos de entrenamiento. Si solo 50 de las 500 columnas del origen de datos tienen informacin til para la generacin de un modelo, puede dejar fuera del modelo las que no son tiles o usar tcnicas de seleccin de caractersticas para detectar automticamente las mejores caractersticas y excluir los valores estadsticamente no significativos. La seleccin de caractersticas ayuda a resolver el problema de tener demasiados datos de escaso valor o muy pocos datos de mucho valor. Seleccin de caractersticas en minera de datos de Analysis Services Normalmente, la seleccin de caractersticas se realiza automticamente en Analysis Services, y cada algoritmo tiene un conjunto de tcnicas predeterminadas para aplicar de forma inteligente la reduccin de caractersticas. La seleccin de caractersticas siempre se realiza antes del entrenamiento del modelo y permite elegir automticamente en un conjunto de datos los atributos que con toda probabilidad se usarn en el mismo. Sin embargo, tambin puede establecer parmetros manualmente para influir en el comportamiento de la seleccin de caractersticas. En general, la seleccin de caractersticas funciona calculando una puntuacin para cada atributo y seleccionando a continuacin solo los atributos que han obtenido las mejores puntuaciones. Tambin puede ajustar el umbral para las puntuaciones ms altas. Analysis Services proporciona varios mtodos para calcular estas puntuaciones, y el mtodo exacto que se aplica en un modelo depende de estos factores: El algoritmo usado en el modelo El tipo de datos del atributo Otros parmetros que se hayan podido establecer en el modelo La seleccin de caractersticas se aplica a las entradas, a los atributos de prediccin o a los estados de una columna. Una vez completada la puntuacin para la seleccin de caractersticas, solo se incluyen en el proceso de generacin del modelo y se pueden usar en 136
la prediccin los atributos y los estados que selecciona el algoritmo. Si elige un atributo de prediccin que no alcanza el umbral para la seleccin de caractersticas, dicho atributo se puede usar en la prediccin, pero las predicciones se basarn nicamente en las estadsticas globales que existen en el modelo. 2.6.8.3.1 Definicin de los mtodos de seleccin de caractersticas Hay muchas maneras de implementar la seleccin de caractersticas, dependiendo del tipo de datos con los que se est trabajando y del algoritmo que se elija para el anlisis. SQL Server Analysis Services proporciona varios mtodos conocidos y consolidados para puntuar los atributos. El mtodo que se aplica en los algoritmos o conjuntos de datos depende de los tipos de datos, as como del uso de las columnas. La puntuacin interestingness (medida del inters) se usa para clasificar y ordenar los atributos de las columnas que contienen datos numricos continuos no binarios. La entropa de Shannon y dos puntuaciones bayesianas estn disponibles para las columnas que contengan datos discretos y discretizados. Sin embargo, si el modelo contiene columnas continuas, se usar la puntuacin de grado de inters para evaluar todas las columnas de entrada, con objeto de asegurarse de que son coherentes. 2.6.9 Contenido del modelo de minera de datos Despus de disear y procesar un modelo de minera de datos utilizando los datos de la estructura de minera de datos subyacente, el modelo est completo con su contenido. Puede utilizar este contenido para realizar predicciones o analizar los datos. El contenido del modelo de minera de datos incluye los metadatos sobre el modelo, estadsticas de los datos y los patrones detectados por el algoritmo de minera de datos. Segn el algoritmo que se utilizara, el contenido del modelo puede incluir frmulas de regresin, definiciones de reglas y conjuntos de elementos, o pesos y otras estadsticas. Independientemente del algoritmo utilizado, el contenido del modelo de minera de datos se presenta en una estructura estndar. Puede examinar la estructura en el Visor de rboles de contenido genrico de Microsoft, proporcionado en SQL Server Data Tools (SSDT), y despus cambiar a uno de los visores personalizados para ver cmo se interpreta la informacin y se muestra grficamente para cada tipo de modelo. Tambin puede crear consultas en el contenido del modelo de minera de datos utilizando cualquier cliente que admita el conjunto de filas de esquema MINING_MODEL_CONTENT. 2.6.9.1 Estructura del contenido del modelo de minera de datos El contenido de cada modelo se presenta como una serie de nodos. Un nodo es un objeto dentro de un modelo de minera de datos que contiene metadatos e informacin sobre una parte del mismo. Los nodos estn organizados en una jerarqua. La organizacin exacta de los nodos en la jerarqua y el significado de esta dependen del algoritmo utilizado. Por ejemplo, si crea un modelo de rboles de decisin, puede contener varios rboles, todos conectados a la raz del modelo; si crea un modelo de red neuronal, el modelo puede contener una o varias redes, adems de un nodo de estadsticas. El primer nodo de cada modelo se denomina nodo raz o nodo primario del modelo. Cada modelo tiene un nodo raz (NODE_TYPE = 1). El nodo raz suele contener algunos metadatos sobre el modelo y el nmero de nodos secundarios, pero poca informacin adicional sobre los patrones detectados por el modelo. Segn el algoritmo que se usara para crear el modelo, el nodo raz tiene un nmero variable de nodos secundarios. Los nodos segundarios tienen significados diferentes y contenidos distintos, segn el algoritmo y la profundidad y complejidad de los datos. 137
2.6.9.2 Nodos en el contenido del modelo de minera de datos En un modelo de minera de datos, un nodo es un contenedor de uso general que almacena una parte de informacin sobre todo o parte del modelo. La estructura de cada nodo siempre es la misma y contiene las columnas definidas por el conjunto de filas de esquema de minera de datos. Cada nodo incluye los metadatos sobre el nodo, incluido un identificador que es nico dentro de cada modelo, el identificador del nodo primario y el nmero de nodos secundarios que tiene el nodo. Los metadatos identifican el modelo al que pertenece el nodo y el catlogo de la base de datos donde ese modelo en particular est almacenado. El contenido adicional que se proporciona en el nodo difiere en funcin del tipo de algoritmo que se usara para crear el modelo y podra incluir lo siguiente: El recuento de casos en los datos de entrenamiento que admiten un valor de prediccin determinado. Estadsticas, como la media, desviacin estndar o varianza. Coeficientes y frmulas. La definicin de reglas y punteros laterales. Fragmentos XML que describen una parte del modelo. 2.6.9.3 Lista de tipos de nodos de contenido de minera de datos En la tabla siguiente se enumeran los diferentes tipos de nodos que se generan en los modelos de minera de datos. Dado que cada algoritmo procesa la informacin de manera diferente, cada modelo genera solo unos tipos concretos de nodos. Si cambia el algoritmo, el tipo de nodo puede cambiar. Adems, si vuelve a procesar el modelo, el contenido de cada nodo puede cambiar. NODE_TYPE ID Etiqueta de nodo Contenido de nodo 1 Modelo Los metadatos y el nodo de contenido raz. Se aplica a todos los tipos de modelos. 2 Tree Nodo raz de un rbol de clasificacin. Se aplica a los modelos del rbol de decisin. 3 Interior Nodo de divisin interior en un rbol. Se aplica a los modelos del rbol de decisin. 4 Distribution Nodo terminal de un rbol. Se aplica a los modelos del rbol de decisin. 5 Cluster Clster detectado por el algoritmo. Se aplica a los modelos de agrupacin en clsteres y a los modelos de clsteres de secuencia. 6 Unknown Tipo de nodo desconocido. 7 ItemSet Conjunto de elementos detectado por el algoritmo. Se aplica a modelos de asociacin o modelos de agrupacin en clsteres de secuencia. 8 AssociationRule Regla de asociacin detectada por el algoritmo. Se aplica a modelos de asociacin o modelos de agrupacin en clsteres de secuencia. 138
9 PredictableAttribute Atributo de prediccin. Se aplica a todos los tipos de modelos. 10 InputAttribute Atributo de entrada. Se aplica a los rboles de decisin y los modelos Bayes Nave. 11 InputAttributeState Estadsticas sobre los estados de un atributo de entrada. Se aplica a los rboles de decisin y los modelos Bayes Nave. 13 Sequence Nodo superior para un componente del modelo Markov de un clster de secuencia. Se aplica a los modelos de agrupacin en clsteres. 14 Transition Matriz de transicin de Markov. Se aplica a los modelos de agrupacin en clsteres. 15 TimeSeries Nodo no raz de un rbol de serie temporal. Solo se aplica a los modelos de serie temporal. 16 TsTree Nodo raz de un rbol de serie temporal que corresponde a una serie temporal de prediccin. Se aplica a los modelos de serie temporal y solo si el modelo se cre utilizando el parmetro MIXED. 17 NNetSubnetwork Una subred. Se aplica a los modelos de red neuronal. 18 NNetInputLayer Grupo que contiene los nodos del nivel de entrada. Se aplica a los modelos de red neuronal. 19 NNetHiddenLayer Grupos que contiene los nodos que describen el nivel oculto. Se aplica a los modelos de red neuronal. 21 NNetOutputLayer Grupos que contiene los nodos del nivel de salida. Se aplica a los modelos de red neuronal. 21 NNetInputNode Nodo en el nivel de entrada que coincide un atributo de entrada con los estados correspondientes. Se aplica a los modelos de red neuronal. 22 NNetHiddenNode Nodo en el nivel oculto. Se aplica a los modelos de red neuronal. 23 NNetOutputNode Nodo en el nivel de salida. Este nodo normalmente coincidir con un atributo de salida y los estados correspondientes.Se aplica a los modelos de red neuronal. 24 NNetMarginalNode Estadsticas marginales sobre el conjunto de entrenamiento. Se aplica a los modelos de red neuronal. 25 RegressionTreeRoot Raz de un rbol de regresin. Se aplica a los modelos de regresin lineal y a los modelos de rboles de decisin que contiene atributos de entrada continuos. 139
26 NaiveBayesMarginalStat Node Estadsticas marginales sobre el conjunto de entrenamiento. Se aplica a los modelos Bayes Nave. 27 ArimaRoot Nodo raz de un modelo ARIMA. Se aplica solo a los modelos de serie temporal que utilizan el algoritmo ARIMA. 28 ArimaPeriodicStructure Estructura peridica en un modelo ARIMA. Se aplica solo a los modelos de serie temporal que utilizan el algoritmo ARIMA. 29 ArimaAutoRegressive Coeficiente de regresin automtica para un nico trmino en un modelo ARIMA. Se aplica solo a los modelos de serie temporal que utilizan el algoritmo ARIMA. 30 ArimaMovingAverage Coeficiente de la media mvil para un nico trmino en un modelo ARIMA. Se aplica solo a los modelos de serie temporal que utilizan el algoritmo ARIMA. 1000 CustomBase Punto inicial para los tipos de nodo personalizados. Los tipos de nodo personalizados deben ser nmeros enteros mayores que esta constante. Se aplica a los modelos creados utilizando algoritmos complementarios personalizados. 2.6.9.4 Identificador de nodo, nombre, ttulo y descripcin El nodo raz de cualquier modelo siempre tiene el identificador nico 0 (NODE_UNIQUE_NAME). Analysis Services asigna automticamente todos los identificadores de nodo y no se pueden modificar. El nodo raz para cada modelo tambin contiene algunos metadatos bsicos sobre el modelo. Estos metadatos incluyen la base de datos de Analysis Services donde el modelo est almacenado (MODEL_CATALOG), el esquema (MODEL_SCHEMA) y el nombre del modelo (MODEL_NAME). Sin embargo, esta informacin se repite en todos los nodos del modelo, de modo que no necesita consultar el nodo raz para obtener estos metadatos. Adems de un nombre utilizado como identificador nico, cada nodo tiene un nombre (NODE_NAME). Este nombre lo crea automticamente el algoritmo para la presentacin y no se puede modificar. El algoritmo genera automticamente el ttulo y la descripcin para cada nodo, que actan como etiquetas para ayudarle a entender el contenido del nodo. El texto generado para cada campo depende del tipo de modelo. En algunos casos, el nombre, el ttulo y la descripcin pueden contener exactamente la misma cadena, pero, en algunos modelos, la descripcin puede contener informacin adicional. Consulte el tema sobre el tipo de modelo individual para obtener detalles de la implementacin. 2.6.9.5 Nodo primarios, nodos secundarios y cardinalidad de los nodos La relacin entre los nodos primarios y los nodos secundarios en una estructura de rbol se determina mediante el valor de la columna PARENT_UNIQUE_NAME. Este valor est almacenado en el nodo secundario y le indica el identificador del nodo primario. A continuacin se proporcionan algunos ejemplos de cmo se podra utilizar esta informacin: Una columna PARENT_UNIQUE_NAME que sea NULL significa que el nodo es el nodo superior del modelo. 140
Si el valor de PARENT_UNIQUE_NAME es 0, el nodo debe ser un descendiente directo del nodo superior en el modelo. Esto se debe a que el identificador del nodo raz es 0 siempre. Puede utilizar funciones dentro de una consulta de Extensiones de minera de datos (DMX) para encontrar los descendientes o los elementos primarios de un nodo determinado. La cardinalidad hace referencia al nmero de elementos en un conjunto. En el contexto de un modelo de minera de datos procesado, la cardinalidad indica el nmero de elementos secundarios de un nodo determinado. Por ejemplo, si un modelo de rbol de decisin tuviera un nodo para [Ingresos anuales] y ese nodo tuviera dos nodos secundarios, uno para la condicin [Ingresos anuales] = Altos y otro para la condicin [Ingresos anuales] = Bajos, el valor de CHILDREN_CARDINALITY para el nodo [Ingresos anuales] sera 2. Aunque la cardinalidad se contabiliza de la misma manera para todos los modelos, la forma en que se interpreta o usa el valor de la cardinalidad difiere segn el tipo del modelo. Por ejemplo, en un modelo de agrupacin en clsteres, la cardinalidad del nodo superior indica el nmero total de clsteres que se encontraron. En otros tipos de modelos, la cardinalidad puede tener siempre un valor establecido que depende del tipo de nodo. Para obtener ms informacin sobre cmo interpretar la cardinalidad, vea el tema sobre el tipo de modelo individual. 2.6.9.6 Distribucin de nodos La columna NODE_DISTRIBUTION contiene una tabla anidada que en muchos nodos proporciona informacin importante y detallada sobre los modelos que detecta el algoritmo. Las estadsticas exactas que se proporcionan en esta tabla cambian segn el tipo de modelo, la posicin del nodo en el rbol y si el atributo de prediccin es un valor numrico continuo o discreto; sin embargo, pueden incluir los valores mnimo y mximo de un atributo, los pesos asignados a los valores, el nmero de casos de un nodo, los coeficientes que se usan en una frmula de regresin y medidas estadsticas como la desviacin estndar y la varianza. Para obtener ms informacin sobre cmo interpretar la distribucin de los nodos, consulte el tema correspondiente al tipo especfico de modelo con el que est trabajando. La tabla anidada, NODE_DISTRIBUTION, siempre contiene las columnas siguientes. El contenido de cada columna vara segn el tipo del modelo. 2.6.9.7 Puntuacin del nodo El significado de la puntuacin del nodo difiere en funcin del tipo de modelo y tambin puede ser especfico del tipo de nodo. Para obtener informacin sobre cmo se calcula NODE_SCORE para cada modelo y tipo de nodo. 2.6.9.8 Probabilidad de nodo y probabilidad marginal El conjunto de filas de esquema de modelos de minera de datos incluye las columnas NODE_PROBABILITY y MARGINAL_PROBABILITY para todos los tipos de modelos. Estas columnas solo contienen valores en los nodos en los que un valor de probabilidad es significativo. Por ejemplo, el nodo raz de un modelo nunca contiene una puntuacin de probabilidad. En aquellos nodos que proporcionan puntuaciones de probabilidad, la probabilidad de nodo y las probabilidades marginales representan clculos diferentes. La probabilidad marginal es la probabilidad de alcanzar el nodo a partir de su elemento primario. La probabilidad de nodo es la probabilidad de alcanzar el nodo desde la raz. 141
La probabilidad de nodo siempre es mayor o igual que la probabilidad marginal. Por ejemplo, si la poblacin de todos los clientes en un rbol de decisin est dividida por igual por el gnero (y no falta ningn valor), la probabilidad de los nodos secundarios debera ser 5. Sin embargo, suponga que cada uno de los nodos correspondientes al gnero se divide por igual en los niveles de ingresos: Altos, Medios y Bajos. En este caso, la puntuacin MARGINAL_PROBABILITY de cada nodo secundario siempre debera ser 0,33, pero el valor NODE_PROBABILTY ser el producto de todas las probabilidades que conducen a ese nodo y, por tanto, siempre ser menor que el valor de MARGINAL_PROBABILITY. Nivel de nodo/atributo y valor Probabilidad marginal Probabilidad de nodo Raz del modelo Todos los clientes de destino 1 1 Los clientes de destino divididos por gnero .5 .5 Los clientes de destino divididos por gnero y divididos de nuevo de tres maneras por ingresos .33 .5 * .33 = .165 2.6.9.9 Regla de nodo y regla marginal El conjunto de filas de esquema de modelos de minera de datos tambin incluye las columnas NODE_RULE y MARGINAL_RULE para todos los tipos de modelos. Estas columnas contienen fragmentos XML que se pueden utilizar para serializar un modelo o para representar alguna parte de la estructura del modelo. Estas columnas pueden estar en blanco para algunos nodos, si un valor careciera de sentido. Se proporcionan dos tipos de reglas XML, similares a los dos tipos de valores de probabilidad. El fragmento XML en MARGINAL_RULE define el atributo y el valor para el nodo actual, mientras que el fragmento XML en NODE_RULE describe la ruta de acceso al nodo actual desde la raz del modelo. 2.6.9.10 Contenido del modelo de minera de datos por tipo de algoritmo Cada algoritmo almacena tipos diferentes de informacin como parte de su esquema de contenido. Por ejemplo, el algoritmo de clsteres de Microsoft genera muchos nodos secundarios, cada uno de los cuales representa un posible clster. Cada nodo de clster contiene las reglas que describen las caractersticas que comparten los elementos en el clster. Por el contrario, el algoritmo de regresin lineal de Microsoft no contiene ningn nodo secundario; en su lugar, el nodo primario para el modelo contiene la ecuacin que describe la relacin lineal detectada mediante el anlisis. En la tabla siguiente se proporcionan vnculos a temas correspondientes a cada tipo de algoritmo. Temas de contenido del modelo: explican el significado de cada tipo de nodo para cada tipo de algoritmo y proporcionan orientacin sobre qu nodos son de ms inters en un tipo de modelo determinado. 142
Temas de consulta: proporcionan ejemplos de consultas de un tipo de modelo determinado y orientacin para interpretar los resultados. Herramientas para ver el contenido del modelo de minera de datos Cuando se examina o explora un modelo en SQL Server Data Tools (SSDT), se puede ver la informacin en el Visor de rbol de contenido genrico de Microsoft, que est disponible en SQL Server Data Tools (SSDT) y SQL Server Management Studio. El Visor de contenido genrico de Microsoft muestra las columnas, las reglas, las propiedades, los atributos, los nodos y otro tipo de contenido del modelo utilizando la misma informacin que est disponible en el conjunto de filas de esquema de contenido del modelo de minera de datos. El conjunto de filas de esquema de contenido es un marco genrico para presentar informacin detallada sobre el contenido de un modelo de minera de datos. Puede ver el contenido del modelo en cualquier cliente que admita conjuntos de filas jerrquicos. El visor de SQL Server Data Tools (SSDT) presenta esta informacin en un visor de tablas HTML que representa todos los modelos en un formato coherente, lo que facilita la comprensin de la estructura de los modelos que se crean. 2.6.9.11 Herramientas para consultar el contenido del modelo de minera de datos Para recuperar el contenido del modelo de minera de datos, debe crear una consulta que lo use. La manera ms fcil de crear una consulta de contenido es ejecutar la instruccin DMX siguiente en SQL Server Management Studio: SELECT * FROM [<mining model name>].CONTENT Tambin puede consultar el contenido del modelo de minera de datos utilizando los conjuntos de filas de esquema de minera de datos. Un conjunto de filas de esquema es una estructura estndar que los clientes utilizan para detectar, examinar y consultar informacin sobre las estructuras de minera de datos y los modelos. Puede consultar los conjuntos de filas de esquema utilizando instrucciones de XMLA, Transact-SQL o DMX. En SQL Server 2012, tambin puede tener acceso a la informacin de los conjuntos de filas de esquema de minera de datos abriendo una conexin con la instancia de Analysis Services y consultando las tablas del sistema. 2.6.10 Obtencin de detalles en modelos de minera de datos La obtencin de detalles se refiere a la capacidad de consultar un modelo o una estructura de minera de datos y obtener datos detallados que no se exponen en el modelo. SQL Server 2012 proporciona dos opciones diferentes para obtener detalles sobre los datos de los casos. Puede obtener detalles tanto de los casos usados para generar los datos como de los casos de la estructura de minera de datos. Obtencin de detalles de los casos del modelo frente aobtencin de detalles de la estructura La obtencin de detalles de los casos del modelo resulta til para buscar detalles adicionales sobre las reglas, los patrones o los clsteres de un modelo. Por ejemplo, no usara informacin de contacto de cliente para el anlisis en un modelo de clsteres, incluso si los datos estuvieran disponibles, mediante la obtencin de detalles podra obtener acceso a la informacin del modelo. En cambio, la obtencin de detalles de los datos de la estructura pretende proporcionar acceso a la informacin que no est disponible en el modelo. Por ejemplo, algunas columnas de la estructura se han excluido de un modelo porque el tipo de datos era compatible o los datos no eran tiles para el anlisis. 143
2.6.10.1 Habilitar la obtencin de detalles en un modelo Para utilizar la obtencin de detalles en un modelo de minera de datos, se deben cumplir las condiciones siguientes: Es posible configurar la obtencin de detalles solo en los casos de modelos y no en la estructura de minera de datos, pero no al contrario. Es decir, la obtencin de detalles debe estar habilitada en el modelo de minera de datos para permitir la obtencin de detalles en la estructura de minera de datos. La obtencin de detalles en el modelo y la estructura est deshabilitada de forma predeterminada. Si usa el Asistente para minera de datos, la opcin para habilitar la obtencin de detalles en los casos del modelo est en la pgina final del asistente. Puede agregar la capacidad de obtener detalles a un modelo de minera de datos existente pero, si lo hace, hay que volver a procesar el modelo para poder obtener detalles de los datos. La obtencin de detalles no funcionar a menos que se haya mantenido la memoria cach creada durante el proceso de entrenamiento. 2.6.10.2 Modelos compatibles con la obtencin de detalles Si se ha configurado un modelo de minera de datos para permitir la obtencin de detalles y tiene los permisos adecuados, al examinar el modelo puede hacer clic en un nodo en el visor adecuado y recuperar la informacin detallada sobre los casos de ese nodo concreto. No todos los modelos son compatibles con la obtencin de detalles; depende del algoritmo utilizado para crear el modelo. En la tabla siguiente se enumeran los tipos de modelos que no son compatibles con la obtencin de detalles o que lo son con limitaciones. Si el tipo de modelo no aparece, es compatible con la obtencin de detalles. Nombre del algoritmo Es compatible con la obtencin de detalles Algoritmo Bayes Nave de Microsoft No compatible. Estos algoritmos no asignan casos a nodos especficos del contenido. Algoritmo de red neuronal de Microsoft No compatible. Estos algoritmos no asignan casos a nodos especficos del contenido. Algoritmo de regresin logstica de Microsoft No compatible. Estos algoritmos no asignan casos a nodos especficos del contenido. Algoritmo de regresin lineal de Microsoft Compatible. Sin embargo, dado que el modelo crea un nico nodo, All, la obtencin de detalles devuelve todos los casos de entrenamiento para el modelo.Si el conjunto de entrenamiento es grande, la carga de resultados puede tardar mucho tiempo. Algoritmo de serie temporal de Microsoft Compatible. Sin embargo, no puede obtener informacin de estructuras o casos mediante el Visor de modelos de minera de datos en el 144
Diseador de minera de datos. En su lugar, debe crear una consulta de DMX. Tampoco puede obtener detalles de nodos especficos, ni escribir una consulta DMX para recuperar casos en nodos especficos de un modelo de serie temporal. Puede recuperar datos de casos del modelo o la estructura usando otros criterios, como valores de fecha o de atributo. 2.6.11 Filtros para modelos de minera El filtrado de modelos basado en datos ayuda a crear modelos de minera de datos que usan subconjuntos de datos en una estructura de minera de datos. El filtrado proporciona flexibilidad a la hora de disear orgenes de datos y estructuras de minera de datos propios, porque se puede crear una estructura de minera de datos nica basndose en una vista del origen de datos completa. A continuacin, puede crear filtros para usar solo una parte de esos datos para aprendizaje y probar una variedad de modelos, en lugar de generar una estructura diferente y un modelo relacionado para cada subconjunto de datos. Por ejemplo, define la vista del origen de datos en la tabla Customers y las tablas relacionadas. Luego define una estructura de minera de datos nica que incluye todos los campos necesarios. Por ltimo, crea un modelo que se filtra en un atributo de cliente determinado, como Regin. A continuacin, puede realizar fcilmente una copia de ese modelo y cambiar la condicin de filtro para generar un nuevo modelo basado en una regin diferente. Algunos escenarios de uso real donde podra aprovechar las ventajas de esta caracterstica son los siguientes: Creacin de modelos independientes para valores discretos como gnero, regiones, etc. Por ejemplo, un almacn de ropa podra usar los datos demogrficos de los clientes para generar modelos independientes por gnero, aunque los datos de ventas procedan de un origen de datos nico para todos los clientes. Experimentar con modelos creando y probando a continuacin varias agrupaciones de los mismos datos, como edades de 20 a 30 frente a edades de 20 a 40 y de 20 a 25 aos. Especificacin de los filtros complejos en el contenido de las tablas anidadas, como requerir que un caso se incluya en el modelo solo si el cliente ha comprado al menos dos artculos de un producto determinado.
2.6.12 Sintaxis y ejemplos del filtro de modelos (Analysis Services: Minera de datos) 2.6.12.1 Sintaxis de filtro Las expresiones de filtro generalmente equivalen al contenido de una clusula WHERE. Puede conectar varias condiciones usando los operadores lgicos AND, OR y NOT. En tablas anidadas, tambin puede usar los operadores EXISTS y NOT EXISTS. Una condicin EXISTS se evala como true si la subconsulta devuelve al menos una fila. Esto es til en casos en los que desea restringir el modelo a los casos que contienen un valor determinado en la tabla anidada: por ejemplo, los clientes que han comprado un artculo al menos una vez. 145
Una condicin NOT EXISTS se evala como true si la condicin especificada en la subconsulta no existe. Un ejemplo es cuando se desea restringir el modelo a los clientes que nunca han comprado un artculo determinado. La sintaxis general es la siguiente: <filter>::=<predicate list> | ( <predicate list> ) <predicate list>::= <predicate> | [<logical_operator> <predicate list>] <logical_operator::= AND| OR <predicate>::= NOT <predicate>|( <predicate> ) <avPredicate> | <nestedTablePredicate> | ( <predicate> ) <avPredicate>::= <columnName> <operator> <scalar> | <columnName> IS [NOT] NULL <operator>::= = | != | <> | > | >= | < | <= <nestedTablePredicate>::= EXISTS (<subquery>) <subquery>::=SELECT * FROM <columnName>[ WHERE <predicate list> ] 2.6.12.2 Limitaciones en la sintaxis de filtro A los filtros se les aplican las restricciones siguientes: Un filtro solamente puede contener predicados simples. Entre estos se incluyen operadores matemticos, escalares y nombres de columna. No se admiten las funciones definidas por el usuario en la sintaxis del filtro. No se admiten los operadores no booleanos, como los signos ms o menos, en la sintaxis del filtro. Ejemplos de filtros Los ejemplos siguientes muestran el uso de filtros aplicados a un modelo de minera de datos. Si crea la expresin de filtro usando SQL Server Data Tools (SSDT), en la ventana Propiedad y el panel Expresin del cuadro de dilogo de filtros, vera solamente la cadena que aparece despus de las palabras clave WITH FILTER. Aqu, la definicin de la estructura de minera de datos est incluida para facilitar la comprensin del uso y del tipo de columna. 2.6.12.3 Ejemplo 1: Filtrado de nivel de caso tpico Este ejemplo muestra un filtro simple que restringe los casos usados en el modelo a los clientes cuya profesin sea arquitecto y sean mayores de 30 aos. ALTER MINING STRUCTURE MyStructure ADD MINING MODEL MyModel_1 ( CustomerId, Age, Occupation, MaritalStatus PREDICT ) WITH FILTER (Age > 30 AND Occupation=Architect) 2.6.12.4 Ejemplo 2: filtrado de nivel de caso usando atributos de tabla anidada Si su estructura de minera de datos contiene tablas anidadas, puede filtrar por la existencia de un valor en una tabla anidada o filtrar en filas de tabla anidada que contienen un valor concreto. Este ejemplo restringe los casos usados para el modelo a los clientes mayores de 30 aos que realizaron al menos una compra que inclua la leche. Como se muestra en este ejemplo, no es necesario que el filtro use solamente las columnas incluidas en el modelo. La tabla anidada Products forma parte de la estructura de minera de datos pero no est incluida en el modelo de minera de datos. Sin embargo, todava 146
puede filtrar por los valores y atributos de la tabla anidada. Para ver los detalles de estos casos, la obtencin de detalles debe estar habilitada. ALTER MINING STRUCTURE MyStructure ADD MINING MODEL MyModel_2 ( CustomerId, Age, Occupation, MaritalStatus PREDICT ) WITH DRILLTHROUGH, FILTER (Age > 30 AND EXISTS (SELECT * FROM Products WHERE ProductName=Milk) ) 2.7 Prueba y validacin La validacin es el proceso de evaluar cul sera el rendimiento de sus modelos de minera de datos con datos reales. Es importante que valide sus modelos de minera de datos entendiendo su calidad y sus caractersticas antes de implementarlos en un entorno de produccin. Mtodos de prueba y validacin de los modelos de minera de datos Existen muchos enfoques a la hora de evaluar la calidad y las caractersticas de un modelo de minera de datos. Use varias medidas de validez estadstica para determinar si existen problemas en los datos o en el modelo. Separe los datos en conjuntos de entrenamiento y de prueba con el fin de probar la precisin de predicciones. Solicite a los expertos comerciales que revisen los resultados del modelo de minera de datos para determinar si los patrones detectados tienen sentido en un escenario empresarial concreto. Todos estos mtodos son tiles para la metodologa de minera de datos y se usan de forma iterativa a la hora de crear, probar y refinar modelos para responder a un problema concreto. No hay ninguna regla completa nica que pueda indicarle si un modelo es suficientemente bueno, o si cuenta con suficientes datos. Definicin de los criterios para validar los modelos de minera de datos Las medidas de minera de datos se suelen agrupar en las categoras de precisin, confiabilidad y utilidad. La precisin es una medida que indica hasta qu punto el modelo pone en correlacin un resultado con los atributos de los datos que se han proporcionado. Existen varias medidas de precisin, pero todas ellas dependen de los datos que se utilicen. En realidad, podran faltar valores o stos ser aproximados, o incluso diferentes procesos podran cambiar los datos. En particular, en la fase de exploracin y desarrollo, podra decidir aceptar una cierta cantidad de errores en los datos, sobre todo si stos son suficientemente uniformes en sus caractersticas. Por ejemplo, un modelo que predice las ventas para un almacn determinado en base a las ventas pasadas puede estar muy correlacionado y ser muy preciso, incluso si ese almacn ha utilizado un mtodo de contabilidad equivocado continuamente. Por tanto, es necesario equilibrar las mediciones de precisin mediante las valoraciones de confiabilidad. La confiabilidad evala la manera en la que se comporta un modelo de minera de datos en conjuntos de datos diferentes. Un modelo de minera de datos es confiable si genera el mismo tipo de predicciones o encuentra los mismos tipos generales de patrones independientemente de los datos de prueba que se proporcionen. Por ejemplo, el modelo que ha generado para el 147
almacn que utiliz un mtodo de contabilidad equivocado no podra extrapolarse correctamente a otros almacenes, y por tanto, no sera confiable. La utilidad incluye diferentes mtricas que le indican si el modelo proporciona informacin til. Por ejemplo, un modelo de minera de datos que pone en correlacin la ubicacin del almacn con las ventas podra ser preciso y fiable, pero podra no ser til, ya que no se podra generalizar ese resultado si se agregaran ms almacenes en la misma ubicacin. Es ms, no responde a la pregunta comercial fundamental de porqu ciertas ubicaciones tienen ms ventas que otras. Tambin podra descubrir que un modelo que parece correcto, en realidad no tiene sentido porque est basado en correlaciones cruzadas de los datos. Herramientas de prueba y validacin de modelos de minera de datos Analysis Services admite varios enfoques para la validacin de soluciones de minera de datos, que abarcan todas las fases de la metodologa de prueba de la minera de datos. Crear particiones de los datos de los conjuntos de prueba y entrenamiento. Filtrar modelos para entrenar y probar combinaciones diferentes de los mismos datos de origen. Medir la mejora respecto al modelo predictivo y la ganancia. Un grfico de mejora respecto al modelo predictivo es un mtodo para visualizar la mejora que obtendr de usar un modelo de minera de datos, si lo compara con una estimacin aleatoria. Realizar una validacin cruzada de los conjuntos de datos. Generar matrices de clasificacin. Estos grficos ordenan las estimaciones buenas y malas en una tabla, lo que permite analizar rpida y fcilmente con qu precisin predice el modelo el valor de destino. Crear grficos de dispersin para evaluar el ajuste de una frmula de regresin. Crear grficos de beneficios que permiten asociar ganancias o costos financieros con el uso de cierto modelo de minera de datos, para poder evaluar el valor de las recomendaciones. Estas mtricas no pretenden responder a la pregunta de si el modelo de minera de datos resuelve sus preguntas empresariales, sino que proporcionan medidas objetivas que puede usar para evaluar la confiabilidad de los datos para los anlisis predictivos, y le ofrecen ayuda a la hora de decidir si debe usar una iteracin determinada en el proceso de desarrollo. 2.7.1 Conjuntos de datos de entrenamiento y de prueba Separar los datos en conjuntos de entrenamiento y de prueba es una parte importante de la evaluacin de los modelos de minera de datos. Normalmente, al dividir un conjunto de datos en un conjunto de entrenamiento y un conjunto de prueba, la mayora de los datos se usan para el entrenamiento y una parte menor se emplea para las pruebas. Analysis Services muestrea los datos de forma aleatoria para asegurarse de que los conjuntos de entrenamiento y de prueba son similares. Si usa datos similares para el entrenamiento y las pruebas, puede minimizar los efectos de las diferencias en los datos y comprender mejor las caractersticas del modelo. Una vez procesado un modelo utilizando el conjunto de entrenamiento, se prueba realizando predicciones con el conjunto de pruebas. Dado que los datos del conjunto de prueba ya contienen valores conocidos para el atributo que desea predecir, es fcil determinar si las estimaciones del modelo son correctas. Crear conjuntos de entrenamiento y de prueba para las estructuras de minera de datos En SQL Server 2012, el conjunto de datos original se separa en el nivel de la estructura de minera de datos. La informacin sobre el tamao de los conjuntos de datos de entrenamiento y de prueba, y qu filas pertenecen a cada conjunto, se almacena junto con la estructura, y todos los modelos basados en esa estructura pueden usar los conjuntos de entrenamiento y de prueba. 148
Para definir un conjunto de datos de prueba en una estructura de minera de datos puede realizar una de las acciones siguientes: Usar el Asistente para minera de datos para dividir la estructura de minera de datos en el momento de crearla. Modificar las propiedades de la estructura en la pestaa Estructura de minera de datos del Diseador de minera de datos. Crear y modificar estructuras mediante programacin si usa Objetos de administracin de anlisis (AMO) o el Lenguaje de definicin de datos XML (DDL). 2.7.1.1 Usar el Asistente para minera de datos para dividir una estructura de minera de datos De forma predeterminada, despus de haber definido los orgenes de datos para una estructura de minera de datos, el Asistente para minera de datos dividir los datos en dos conjuntos: uno con el 70 por ciento de los datos de origen para entrenar el modelo y otro con el 30 por ciento para probarlo. Se ha elegido este valor predeterminado porque la proporcin 70-30 se usa a menudo en la minera de datos, pero con Analysis Services puede cambiarla para que se ajuste a sus requisitos. Tambin puede configurar el asistente para establecer un nmero mximo de casos de entrenamiento o bien, puede combinar los lmites para permitir un porcentaje mximo de casos hasta un nmero mximo especificado de casos. Al especificar ambos un porcentaje mximo de casos y un nmero mximo de casos, Analysis Services usa el menor de los dos lmites como el tamao del conjunto de pruebas. Por ejemplo, si especifica una exclusin del 30 por ciento para los casos de pruebas, y el nmero mximo de casos de pruebas como 1000, el tamao del conjunto de pruebas nunca superar 1000 casos. Esto puede ser til si desea asegurarse de que el tamao de su conjunto de pruebas permanece coherente incluso si se agregan ms datos de aprendizaje al modelo. Si usa la misma vista del origen de datos para diferentes estructuras de minera de datos, y desea asegurarse de que los datos se dividen aproximadamente de la misma manera para todas las estructuras de minera de datos y sus modelos, debe especificar el valor de inicializacin que se usa para inicializar el muestreo aleatorio. Al especificar un valor para HoldoutSeed, Analysis Services usar dicho valor para comenzar el muestreo. De lo contrario, el muestreo aplica un algoritmo hash al nombre de la estructura de minera de datos para crear el valor de inicializacin. 2.7.1.2 Modificar las propiedades de la estructura para crear un conjunto de datos de prueba Si crea y procesa una estructura de minera de datos y, a continuacin, decide que desea reservar un conjunto de datos de prueba, puede modificar las propiedades de la estructura de minera de datos. Para cambiar la manera en que se crean las particiones de los datos, modifique las propiedades siguientes:
149
Propiedad Descripcin HoldoutMaxCases Especifica el nmero mximo de casos que se van a incluir en el conjunto de pruebas. HoldoutMaxPercent Especifica el nmero de casos que se van a incluir en el conjunto de pruebas como porcentaje del conjunto de datos completo. Para no tener ningn conjunto de datos, especificara 0. HoldoutSeed Especifica un valor entero para usarlo como valor de inicializacin al seleccionar los datos para las particiones de forma aleatoria. Este valor no afecta al nmero de casos del conjunto de entrenamiento, sino que se asegura de que se puede repetir la particin. Si agrega un conjunto de datos de prueba a una estructura existente, o lo cambia, deber volver a procesar la estructura y todos los modelos asociados. Adems, dado que dividir el origen de datos hace que el modelo se entrene con un subconjunto diferente de los datos, podra ver resultados diferentes del modelo. 2.7.1.3 Especificar los datos de exclusin mediante programacin Puede definir conjuntos de datos de entrenamiento y de prueba en una estructura de minera de datos usando instrucciones DMX, AMO o XML DDL. La instruccin ALTER MINING STRUCTURE no admite el uso de parmetros de datos de exclusin. DMX En el lenguaje de Extensiones de minera de datos (DMX), la instruccin CREATE MINING STRUCTURE se ha extendido para incluir una clusula WITH HOLDOUT. ASSL Puede crear una nueva estructura de minera de datos o agregar un conjunto de datos de prueba a una estructura de minera de datos existente, usando el lenguaje de scripting de Analysis Services (ASSL). AMO Tambin puede ver y modificar los conjuntos de datos de exclusin mediante AMO. Para ver informacin sobre el conjunto de datos de exclusin de una estructura de minera de datos existente, haga una consulta en el conjunto de filas de esquema de minera de datos. Para hacer esto, puede realizar una llamada a DISCOVER ROWSET o puede usar una consulta DMX. Recuperar informacin acerca de los datos de exclusin De forma predeterminada, toda la informacin sobre los conjuntos de datos de entrenamiento y de prueba se almacena en la memoria cach con el fin de que pueda usar los datos existentes para entrenar y probar los nuevos modelos. Tambin puede definir filtros y aplicarlos a los datos de exclusin almacenados en cach para evaluar el modelo con los subconjuntos de los datos. La manera en que los casos se dividen en conjuntos de datos de entrenamiento y de prueba depende de la forma en que se configuren los datos de exclusin y en los datos que se proporcionen. Si desea determinar el nmero de casos usados para el entrenamiento o las pruebas, o buscar detalles adicionales sobre los casos incluidos en los conjuntos de entrenamiento y de prueba, puede consultar la estructura de modelo creando una consulta 150
DMX. Por ejemplo, la consulta siguiente devuelve los casos usados en el conjunto de entrenamiento del modelo. SELECT * from <structure>.CASES WHERE IsTrainingCase() Para recuperar solo los casos de prueba y adems filtrarlos segn el valor contenido en una de las columnas de la estructura de minera de datos, use la sintaxis siguiente: SELECT * from <structure>.CASES WHERE IsTestCase() AND <structure column name> = '<value>' Limitaciones en el uso de los datos de exclusin Para usar los datos de exclusin, la propiedad MiningStructureCacheMode de la estructura de minera de datos debe estar establecida en el valor predeterminado,KeepTrainingCases. Si cambia la propiedad CacheMode a ClearAfterProcessing y, a continuacin, vuelve a procesar la estructura de minera de datos, se perder la particin. No puede quitar datos de un modelo de serie temporal; por consiguiente, no puede dividir los datos de origen en conjuntos de entrenamiento y de prueba. Si empieza a crear una estructura y un modelo de minera de datos, y elige el algoritmo de serie temporal de Microsoft, la opcin que permite crear un conjunto de datos de exclusin aparece deshabilitada. Tambin se deshabilita el uso de datos de exclusin si la estructura de minera de datos contiene una columna KEY TIME en el nivel de tabla anidada o caso. Se puede configurar accidentalmente el conjunto de datos de exclusin de tal manera que el conjunto de datos completo se use para las pruebas y no queden datos para el entrenamiento. Sin embargo, si lo hace, Analysis Services mostrar un error para que pueda corregir el problema. Analysis Services tambin le advierte si al procesar la estructura ms del 50 por ciento de los datos se han reservado para las pruebas. En la mayora de los casos, el valor de exclusin predeterminado de 30 proporciona un buen equilibrio entre los datos de pruebas y los de entrenamiento. No es fcil determinar lo grande que debera ser el conjunto de datos para proporcionar entrenamiento suficiente, ni el grado de dispersin que puede alcanzar el conjunto de entrenamiento antes de que se llegue al sobreajuste. Sin embargo, despus de haber generado un modelo, puede usar la validacin cruzada para evaluar el conjunto de datos con respecto a un modelo determinado. Adems de las propiedades enumeradas en la tabla anterior, se proporciona una propiedad de solo lectura, HoldoutActualSize, en AMO y XML DDL. Sin embargo, dado que el tamao real de una particin no se puede determinar con precisin hasta que se ha procesado la estructura, debera comprobar si se ha procesado el modelo antes de recuperar el valor de la propiedad HoldoutActualSize. 2.7.2 Grfico de mejora respecto al modelo predictivo Un Grfico de mejora respecto al modelo predictivo representa grficamente la mejora que proporciona un modelo de minera de datos en comparacin con una estimacin aleatoria, y mide el cambio en trminos de puntuacin de la mejora respecto al modelo predictivo. Al comparar las puntuaciones de mejora respecto al modelo predictivo para las distintas partes del conjunto de datos y para los distintos modelos, puede determinar cul es el mejor modelo y qu porcentaje de casos del conjunto de datos se beneficiara de aplicar las predicciones del modelo. Con un grfico de mejora respecto al modelo predictivo, puede comparar la precisin de las predicciones para varios modelos que tienen el mismo atributo de prediccin.Tambin puede evaluar la exactitud de la prediccin para un nico resultado (un nico valor del atributo de prediccin) o para todos los resultados (todos los valores del atributo especificado). 151
Un grfico de beneficios es un tipo de grfico relacionado que contiene la misma informacin que un grfico de mejora respecto al modelo predictivo, pero que tambin muestra el aumento proyectado en los beneficios asociado al uso de cada modelo. Descripcin del grfico de mejora respecto al modelo predictivo Puede resultar difcil entender los grficos de mejora respecto al modelo predictivo como concepto abstracto. Por consiguiente, para ilustrar el uso de las herramientas del grfico de mejora respecto al modelo predictivo y la informacin del grfico, en esta seccin se muestra un escenario en el que se usa un grfico de mejora respecto al modelo predictivo para calcular la respuesta a una campaa de envo de correo directo. El departamento de marketing de este escenario sabe que las campaas de correo suelen tener ms o menos una tasa de respuesta del 10 por ciento. Tienen una lista de 10.000 clientes potenciales almacenada en una tabla de la base de datos. Segn el ndice tpico de respuesta, normalmente pueden esperar que solo respondan unos 1.000 clientes potenciales. Sin embargo, el dinero presupuestado para el proyecto no es suficiente para llegar a los 10.000 clientes de la base de datos, y desean mejorar la tasa de respuesta. Para este escenario, supongamos que el presupuesto solo les permite enviar un anuncio a 5.000 clientes. El departamento de marketing tiene dos opciones: Seleccionar aleatoriamente 5.000 clientes como objetivo. Usar un modelo de minera de datos para dirigirse a los 5.000 clientes con mayores probabilidades de respuesta. Mediante un grfico de mejora respecto al modelo predictivo, puede comparar los resultados esperados de ambas opciones. Por ejemplo, si la compaa seleccionara de forma aleatoria 5.000 clientes, podran esperar recibir solo 500 respuestas, segn la tasa de respuesta tpica. La lnea aleatoria del grfico de mejora respecto al modelo predictivo representa esta situacin. Sin embargo, si el departamento de marketing usara un modelo de minera de datos para dirigir la distribucin de correo, podra esperar un mejor ndice de respuesta debido a que el modelo identificara los clientes que tienen ms probabilidades de responder. Si el modelo fuera perfecto, creara predicciones infalibles y la empresa podra esperar recibir 1.000 respuestas con solo enviar la distribucin de correo a los 1.000 clientes potenciales recomendados por el modelo. La lnea ideal del grfico de mejora respecto al modelo predictivo representa esta situacin. La realidad es que el modelo de minera de datos probablemente se sita entre estos dos extremos, entre una estimacin aleatoria y una prediccin perfecta. Cualquier mejora con respecto a la estimacin aleatoria se considera una "mejora respecto al modelo predictivo". Al crear un grfico de mejora respecto al modelo predictivo, puede ponerse como objetivo un valor especfico y medir la mejora respecto al modelo predictivo solo para ese resultado o puede crear una evaluacin general del modelo que mida las mejoras respecto al modelo predictivo para todos los resultados posibles. Estas selecciones afectan al grfico final, como se describe en las secciones siguientes. 2.7.2.1 Grfico de mejora respecto al modelo predictivo con un valor de destino En este grfico, el atributo de destino es [Bike Buyer] y el valor de destino es 1, lo que significa que se prev que el cliente compre una bicicleta. El grfico de mejora respecto al modelo predictivo muestra as la mejora proporcionada por el modelo al identificar a estos posibles clientes. Este grfico contiene varios modelos basados en los mismos datos. Uno de ellos se ha personalizado para dirigirse a clientes concretos. Puede personalizar un modelo agregando filtros para los datos usados para entrenarlo. Este filtro restringe los casos que se usan tanto en el entrenamiento como en la evaluacin a los clientes menores de 30 aos. Observe que un efecto del filtrado es que el modelo bsico y el modelo filtrado usan conjuntos de datos 152
distintos, por lo que el nmero de casos usados para la evaluacin en el grfico de mejora respecto al modelo predictivo tambin es diferente. Es importante recordar este punto al interpretar los resultados de prediccin y otras estadsticas.
Ilustracin 37. Modelo predictivo para la compra de una bicicleta El eje X del grfico representa el porcentaje del conjunto de datos de prueba que se usa para comparar las predicciones. El eje Y del grfico representa el porcentaje de valores de prediccin. La lnea recta diagonal, mostrada aqu en azul, aparece en cada grfico. Representa los resultados de la estimacin aleatoria y es la lnea base con la que evaluar la mejora respecto al modelo predictivo. Con cada modelo que agrega a un grfico de mejora respecto al modelo predictivo, obtiene dos lneas adicionales: una muestra los resultados ideales para los conjuntos de datos de entrenamiento establecidos, si pudiera crear un modelo que siempre predijera perfectamente; y la segunda lnea muestra la mejora respecto al modelo predictivo real, o mejora en los resultados, para el modelo. En este ejemplo, la lnea ideal para el modelo filtrado se muestra en azul marino y la lnea para la mejora respecto al modelo predictivo real en amarillo. Puede deducir del grfico que la lnea ideal alcanza el mximo cerca del 40 por ciento, lo que significa que si tuviera un modelo perfecto, podra llegar al 100 por ciento de los clientes de destino enviando correo nicamente al 40 por ciento de la poblacin total. La mejora respecto al modelo predictivo real para el modelo filtrado al destinarse al 40 por ciento de la poblacin est entre el 60 y el 70 por ciento, lo que significa que se podra llegar al 60 70 por ciento de los clientes de destino enviando correo al 40 por ciento de la poblacin total de clientes. La Leyenda de minera de datos contiene los valores reales de cualquier punto de las curvas. Puede cambiar el lugar que se mide haciendo clic en la barra gris vertical y movindola. En el grfico, la lnea gris se ha movido al 30 por ciento, porque se trata del punto donde tanto el modelo filtrado como el modelo sin filtrar parecen ser ms eficientes, y despus de este punto la cantidad de mejora respecto al modelo predictivo decae. 153
La Leyenda de minera de datos tambin contiene puntuaciones y estadsticas que ayudan a interpretar el grfico. Estos resultados representan la exactitud del modelo en la lnea gris, que en este escenario est situada para que incluya el 30 por ciento de los casos de prueba totales. Serie y modelo Puntuacin Poblacin de destino Probabilidad de prediccin Correo destinado a todos 0.71 47.40% 61.38% Correo destinado a menores de 30 0.85 51.81% 46.62% Modelo de estimacin aleatoria 31.00% Modelo ideal para: correo destinado a todos 62.48% Modelo ideal para: correo destinado a menores de 30 65.28% 2.7.2.2 Interpretacin de los resultados En estos resultados puede ver que, cuando se mide en el 30 por ciento de todos los casos, el modelo general, [Correo destinado a todos], puede predecir el comportamiento de compra de bicicletas en el 47,40% de la poblacin de destino. En otras palabras, si enviara correo directo solo al 30 por ciento de los clientes de la base de datos, podra llegar a algo menos de la mitad de los destinatarios pretendidos. Si usara el modelo filtrado, podra obtener resultados ligeramente mejores y llegar aproximadamente al 51 por ciento de los clientes de destino. El valor de Probabilidad de prediccin representa el umbral necesario para incluir un cliente entre los casos "con probabilidad de comprar". Para cada caso, el modelo calcula la exactitud de cada prediccin y almacena ese valor, que puede utilizar para filtrar o elegir clientes. Por ejemplo, para identificar los clientes del modelo bsico que son compradores probables, utilizara una consulta para recuperar los casos con una probabilidad de prediccin de al menos el 61 por ciento. Para obtener los clientes de destino del modelo filtrado, creara una consulta que recuperara los casos que cumplieran todos los criterios: la edad y un valor de PredictProbability de al menos el 46 por ciento. Es interesante comparar los modelos. El modelo filtrado parece capturar ms clientes potenciales, pero al elegir a los clientes con una puntuacin de probabilidad de prediccin del 46 por ciento, tambin tiene una posibilidad del 53 por ciento de enviar correo a alguien que no va a comprar una bicicleta. Por consiguiente, si estuviera decidiendo qu modelo es mejor, sera conveniente equilibrar la mayor precisin y el menor tamao de destino del modelo filtrado con respecto a la capacidad de seleccin del modelo bsico. El valor de Puntuacin ayuda a comparar los modelos calculando la efectividad del modelo a travs de una poblacin normalizada. Una mayor puntuacin es mejor, de modo que en 154
este caso podra decidir que seleccionar a los clientes menores de 30 aos es la estrategia ms eficiente, a pesar de la menor probabilidad de prediccin. 2.7.2.3 Grfico de mejora respecto al modelo predictivo para un modelo sin valor de destino Si no especifica el estado de la columna de prediccin, puede crear el tipo de grfico que se muestra en el diagrama siguiente. Este grfico muestra el modo en que el modelo se comporta para todos los estados del atributo de prediccin. Por ejemplo, este grfico le indicara hasta qu punto el modelo predice bien tanto los clientes que es probable que compren una bicicleta como los que no es probable que la compren. El eje X es el mismo que en el grfico con la columna de prediccin especificada, pero ahora el eje Y representa el porcentaje de predicciones correctas. Por consiguiente, la lnea ideal es la lnea diagonal, que muestra que en el 50 por ciento de los datos, el modelo predice correctamente el 50 por ciento de los casos, el mximo que se puede esperar.
Ilustracin 38. Modelo de prediccin de compra de una bicicleta
Puede hacer clic en el grfico para mover la barra gris vertical y la Leyenda de minera de datos muestra el porcentaje de casos total y el porcentaje de casos que se predijeron correctamente. Por ejemplo, si coloca la barra deslizante gris en la marca del 50 por ciento, la Leyenda de minera de datos muestra las puntuaciones de precisin siguientes. Estas cifras se basan en el modelo TM_Decision Tree creado en el Tutorial bsico de minera de datos. Serie, Modelo Puntuacin Poblacin de destino Probabilidad de prediccin TM_Decision Tree 0.77 40.50% 72.91% Modelo ideal 50.00% En esta tabla se indica que, en el 50 por ciento de la poblacin, el modelo que cre predice correctamente el 40 por ciento de los casos. Podra considerar este un modelo bastante preciso. Sin embargo, recuerde que este modelo determinado predice todos los valores del atributo de prediccin. Por consiguiente, el modelo podra ser preciso para predecir que el 90 por ciento de los clientes no comprarn una bicicleta. 155
2.7.2.4 Restricciones de los grficos de mejora respecto al modelo predictivo Los grficos de mejora respecto al modelo predictivo requieren que el atributo de prediccin sea un valor discreto. Es decir, no puede usar grficos de mejora respecto al modelo predictivo para medir la exactitud de los modelos que predicen valores numricos continuos. La exactitud de la prediccin para todos los valores discretos del atributo de prediccin se muestra en una nica lnea. Si desea ver las lneas de exactitud de la prediccin para cualquier valor individual del atributo de prediccin, debe crear un grfico de mejora respecto al modelo predictivo independiente para cada valor de destino. Puede agregar varios modelos a un grfico de mejora respecto al modelo predictivo, siempre que todos los modelos tengan el mismo atributo de prediccin. Los modelos que no compartan el atributo no estarn disponibles para la seleccin en la pestaa Entrada. No puede mostrar modelos de serie temporal en un grfico de mejora respecto al modelo predictivo ni en un grfico de beneficios. Una prctica comn para medir la precisin de las predicciones de serie temporal consiste en reservar una parte de los datos histricos y comparar estos datos con las predicciones. 2.7.3 Grfico de beneficios Un grfico de beneficios muestra el aumento de beneficios estimado asociado al uso de un modelo de minera de datos. Por ejemplo, si un modelo predice con qu clientes debe ponerse en contacto con una compaa en un escenario empresarial, el grfico de beneficios incorpora informacin sobre el costo que supone realizar la campaa de envo de correo directo para ponerse en contacto con x clientes, y calcula el beneficio previsto. Un grfico de beneficios tpico muestra un incremento en los beneficios hasta un determinado punto, despus del cual los beneficios disminuyen a medida que crece la poblacin con la que se entra en contacto. 2.7.3.1 Descripcin del grfico de beneficios Un grfico de beneficios es similar a un grfico de mejora respecto al modelo predictivo. Al igual que un grfico de mejora respecto al modelo predictivo, un grfico de beneficios se puede usar para comparar varios modelos, siempre y cuando todos ellos predigan el mismo atributo discreto. No hay una interfaz independiente para crear un grfico de beneficios; se comienza usando la pestaa Grfico de mejora respecto al modelo predictivo de la pestaa Grfico de precisin de minera de datos del Diseador de minera de datos, y luego se agrega la informacin de costo y beneficios especfica de los grficos de beneficios. Para mostrar cmo funciona, este tema le gua a travs de un grfico de beneficios que se ha creado para predecir qu clientes potenciales es ms probable que compren una bicicleta, y cunto beneficio es posible que consiga si se dirige selectivamente a estos posibles compradores. Para seguir este escenario, use el modelo de rbol de decisin, TM_Decision Tree, que cre en el tutorial bsico de minera de datos. Se comienza seleccionando un modelo y un atributo de prediccin, tal como se hara para un grfico de mejora respecto al modelo predictivo, pero eligiendo Grfico de beneficios en la lista. Despus de elegir el grfico de beneficios como tipo de grfico, se abre automticamente el cuadro de dilogo Configuracin del grfico de beneficios. Este cuadro de dilogo ayuda a especificar los costos y los beneficios asociados con una campaa de envo de correo directo. Una vez establecidos los parmetros que definen un grfico de beneficios, el grfico que se muestra cambiar automticamente a un grfico de beneficios. Para el grfico que se muestra en estos ejemplos, se usaron los valores siguientes: 156
2.7.3.2 Interpretacin de los resultados El diagrama siguiente muestra un grfico basado en estos parmetros. El eje Y del grfico representa el beneficio, en tanto que el eje X representa el porcentaje de la poblacin con la que la empresa se ha puesto en contacto. Configuracin Valor Elija un modelo TM_DecisionTree Especifique el atributo de prediccin y el valor de prediccin En este escenario, en realidad solo desea los clientes que es probable que compren una bicicleta, de modo que elija [Bike Buyer] =1 En otros escenarios, podra ser ms importante modelar costos negativos: es decir, el grfico de beneficios debera reflejar el costo de realizar una prediccin falsa. En ese escenario, no se especificara ningn valor de prediccin determinado, y se mediran todos los resultados. Elija el conjunto de datos de prueba, o los datos usados para evaluar la precisin y la rentabilidad de modelo Si desea evaluar solo la precisin general de la rentabilidad del modelo, puede usar el conjunto de pruebas que se gener cuando se cre la estructura de minera de datos. Sin embargo, si desea predecir la precisin y la rentabilidad del modelo con datos reales, use el conjunto de datos que contiene los clientes potenciales y sus atributos. Establezca el valor de la poblacin total de destino La base de datos puede contener muchos clientes, pero para ahorrar gastos de envo piensa dirigirse solo a los 20.000 clientes que el modelo identifique con ms probabilidades de responder. Especifique el costo de preparar una vez una campaa de envo de correo directo para 20.000 personas 500 Especifique el costo por unidad de la campaa de envo de correo directo. Esta cifra se multiplicar por un nmero menor o igual que 20.000, dependiendo de cuntos clientes prediga el modelo que son buenos candidatos. 3 Escriba un valor que representa la cantidad de beneficios o de ingresos que 25 157
Ilustracin 39. Grfico de interpretacin de resultados El grfico de beneficios contiene una lnea vertical gris que marca un porcentaje de la poblacin de destino. Puede mover la lnea haciendo clic en una ubicacin en el grfico. Cada vez que mueve la lnea, la Leyenda de minera de datos se actualiza para mostrar el valor porcentual, una puntuacin de ganancia y la probabilidad de prediccin asociada al porcentaje de poblacin en la lnea gris vertical. Si mueve la lnea gris al punto del grfico donde las ganancias son mayores, puede utilizar el valor de probabilidad de prediccin con el fin de determinar una estrategia para ponerse en contacto con clientes. se pueden esperar de un resultado correcto. Esta cantidad se usar para proyectar la ganancia total asociada a los casos de probabilidad alta. 158
Porcentaje de casos Serie, modelo Beneficios Probabilidad de prediccin 30 $103,000 67.23% 40 TM_Decision Tree $128,500 60.90% 50 $149,500 50.70% 60 $168,000 44.05% Experimentando con este grfico podra determinar que el mximo de la curva de beneficio est en el 55 por ciento de la poblacin y la probabilidad de prediccin asociada es del 20 por ciento. Estos resultados indican que para lograr las mayores ganancias solo habra que ponerse en contacto con los clientes cuya respuesta tenga una prediccin de una probabilidad del 20 por ciento o mayor. 2.7.4 Matriz de clasificacin Una matriz de clasificacin ordena todos los casos del modelo en categoras, determinando si el valor de prediccin coincide con el valor real. A continuacin, se cuentan todos los casos de cada categora y los totales se muestran en la matriz. La matriz de clasificacin es una herramienta estndar de evaluacin de modelos estadsticos a la que a veces se denomina matriz de confusin. El grfico que se crea cuando se elige la opcin Matriz de clasificacin compara los valores reales con los valores de prediccin para cada estado de prediccin especificado. Las filas de la matriz representan los valores de prediccin para el modelo, mientras que las columnas representan los valores reales. Las categoras usadas en el anlisis son falso positivo, verdadero positivo, falso negativo y verdadero negativo. Una matriz de clasificacin es una herramienta importante para evaluar los resultados de la prediccin, ya que hace que resulte fcil entender y explicar los efectos de las predicciones errneas. Al ver la cantidad y los porcentajes en cada celda de la matriz, podr saber rpidamente en cuntas ocasiones ha sido exacta la prediccin del modelo. En esta seccin se explica cmo se crea una matriz de clasificacin y cmo se interpretan los resultados. 2.7.4.1 Descripcin de la matriz de clasificacin Considere el modelo que cre como parte del Tutorial bsico de minera de datos. El modelo [TM_DecisionTree] se usa para crear una campaa de distribucin de correo directo y se puede usar para predecir qu clientes tienen ms probabilidad de comprar una bicicleta. Para probar esta utilidad esperada del modelo, se usa un conjunto de datos para el que ya se conocen los valores del atributo de resultados, [Bike Buyer]. Normalmente, se usa el conjunto de datos de prueba que se reserv al crear la estructura de minera de datos que se usa para entrenar el modelo. Solo hay dos resultados posibles: s (es probable que el cliente compre una bicicleta) y no (no es probable que el cliente compre una bicicleta). Por consiguiente, la matriz de clasificacin resultante es relativamente sencilla. 159
2.7.4.2 Interpretacin de los resultados En la tabla siguiente se muestra la matriz de clasificacin para el modelo TM_DecisionTree. Recuerde que para este atributo de prediccin, 0 significa No y 1 significa S. Predicho 0 (Real) 1 (Real) 0 362 144 1 121 373 La primera celda de resultados, que contiene el valor 362, indica el nmero de verdaderos positivos para el valor 0. Dado que 0 indica que el cliente no compr una bicicleta, esta estadstica indica que el modelo predijo el valor correcto para quienes no compraron bicicleta en 362 casos. La celda situada directamente debajo de esa, que contiene el valor 121, indica el nmero de falsos positivos, o nmero de veces que el modelo predijo que alguien comprara una bicicleta cuando en realidad no lo hizo. La celda que contiene el valor 144 indica el nmero de falsos positivos para el valor 1. Dado que 1 significa que el cliente compr una bicicleta, esta estadstica indica que, en 144 casos, el modelo predijo que alguien no comprara una bicicleta cuando s lo hizo. Finalmente, la celda que contiene el valor 373 indica el nmero de verdaderos positivos para el valor de destino 1. En otras palabras, en 373 casos el modelo predijo correctamente que alguien comprara una bicicleta. Sumando los valores de las celdas contiguas diagonalmente, se puede determinar la exactitud total del modelo. Una diagonal indica el nmero total de predicciones exactas y la otra indica el nmero total de predicciones errneas. 2.7.4.3 Usar varios valores de prediccin El caso [Bike Buyer] es especialmente fcil de interpretar porque hay solo dos valores posibles. Cuando el atributo de prediccin tiene varios valores posibles, la matriz de clasificacin agrega una columna nueva por cada valor real posible y, a continuacin, cuenta el nmero de coincidencias para cada valor predicho. En la tabla siguiente se muestran los resultados en un modelo diferente, donde hay tres valores (0, 1, 2) posibles. Predicho 0 (Real) 1 (Real) 2 (Real) 0 111 3 5 1 2 123 17 2 19 0 20 Aunque la existencia de columnas adicionales hace que el informe parezca ms complejo, el detalle adicional puede ser muy til cuando se desea evaluar el costo acumulativo de realizar una prediccin errnea. Para sumar las diagonales o comparar los resultados de combinaciones diferentes de filas, puede hacer clic en el botnCopiar que se proporciona en la pestaa Matriz de clasificacin y pegar el informe en Excel. Tambin puede usar un cliente como el Cliente de minera de datos para Excel, que admite SQL Server 2005 y versiones posteriores, para crear directamente un informe de clasificacin en Excel que 160
incluya recuentos y porcentajes. Para obtener ms informacin, vea Minera de datos de SQL Server. Restricciones en la matriz de clasificacin Una matriz de clasificacin solo se puede usar con atributos de prediccin discretos. Aunque puede agregar varios modelos mientras selecciona modelos en la pestaa Seleccin de entrada del diseador Grfico de precisin de minera de datos, la pestaa Matriz de clasificacin mostrar una matriz independiente para cada modelo.
161
2.7.4.4 Grfico de dispersin (Analysis Services - Minera de datos) SQL Server 2012 Otras versiones
Personas que lo han encontrado til: 1 de 1 - Valorar este tema Un grfico de dispersin representa los valores reales de los datos con respecto a los valores previstos por el modelo. El grfico de dispersin presenta los valores reales en el eje X y los valores previstos en el eje Y. Tambin presenta una lnea que ilustra la prediccin perfecta, en la que el valor previsto coincide exactamente con el valor real. La distancia de un punto desde esta lnea ideal que forma un ngulo de 45 grados indica el grado de acierto con que se realiz la prediccin. Descripcin del grfico de dispersin Considere un modelo en el que el departamento de marketing predice las ventas diarias en funcin del nmero de clics en un vnculo enviado en un mensaje de correo electrnico promocional. Dado que tanto el nmero de clics como la cantidad de ventas son valores numricos continuos, puede representar grficamente el nmero de clics como variable independiente y las ventas como variable dependiente. Cuando se hace as, la lnea recta muestra la relacin lineal esperada y los puntos dispersos en torno a esa lnea muestran la divergencia entre los datos reales y los esperados. Este anlisis indica a simple vista la precisin de la correlacin de un conjunto de resultados con una entrada determinada, y la magnitud de la variacin con respecto al modelo ideal Interpretacin de los resultados En el diagrama siguiente se muestra un ejemplo de grfico de dispersin, creado para el escenario que se acaba de describir. 162
Puede detener el mouse sobre cualquier punto disperso en torno a la lnea para ver los valores reales y los valores previstos en una informacin sobre herramientas. No hay ninguna Leyenda de minera de datos para un grfico de dispersin; sin embargo, el propio grfico contiene una leyenda que muestra la puntuacin asociada al modelo. Puede copiar la representacin visual del grfico en el Portapapeles, pero no los datos subyacentes ni la frmula. Si desea ver la frmula de regresin para la lnea, puede crear una consulta de contenido frente el modelo. Restricciones en los grficos de dispersin Un grfico de dispersin se puede crear solo si el modelo que elija en la pestaa Seleccin de entrada contiene un atributo predecible continuo. No es necesario realizar ninguna selecciones adicional; el tipo de grfico de dispersin muestra automticamente en la pestaa Grfico de elevacin segn el modelo y el tipo de atributo. Aunque los modelos de serie temporal predicen nmeros continuos, no puede medir la exactitud de un modelo de serie temporal utilizando un grfico de dispersin. Hay otros mtodos que puede utilizar, como reservar una parte de los datos histricos.
163
164
2.7.5 Validacin cruzada La validacin cruzada es una herramienta estndar de anlisis que resulta muy til a la hora de desarrollar y ajustar los modelos de minera de datos. La validacin cruzada se usa despus de crear una estructura de minera de datos y los modelos de minera de datos relacionados para determinar la validez del modelo. La validacin cruzada tiene las aplicaciones siguientes: Validar la solidez de un modelo de minera de datos determinado. Evaluar varios modelos de una instruccin nica. Generar varios modelos e identificar a continuacin el mejor modelo basndose en estadsticas. 2.7.5.1 Informacin general sobre el proceso de validacin cruzada La validacin cruzada consta de dos fases: entrenamiento y generacin de resultados. En estas fases se incluyen los pasos siguientes: Debe seleccionar una estructura de minera de datos de destino. Luego especifica los modelos que desea probar. Este paso es opcional; puede probar solo la estructura de minera de datos. Especifique los parmetros para probar los modelos entrenados. o El atributo de prediccin, el valor de prediccin y el umbral de precisin. o El nmero de plegamientos en los que desea crear particiones de los datos del modelo o de la estructura. Analysis Services crea y entrena tantos modelos como plegamientos. Analysis Services devuelve un conjunto de medidas de precisin para cada plegamiento de cada modelo o para el conjunto de datos en conjunto. 2.7.5.2 Configurar la validacin cruzada Puede personalizar el modo de funcionamiento de la validacin cruzada para controlar el nmero de secciones cruzadas, los modelos probados y la barra de precisin para las predicciones. Si usa los procedimientos almacenados de validacin cruzada, tambin puede especificar el conjunto de datos que se usa para validar los modelos.Esta variedad de opciones implica que puede producir con facilidad muchos conjuntos de resultados diferentes que a continuacin se deben comparar y analizar. En esta seccin se proporciona informacin para ayudarle a configurar la validacin cruzada correctamente. 2.7.5.3 Establecer el nmero de particiones Al especificar el nmero de particiones, se determina cuntos modelos temporales se van a crear. Para cada particin se marca una seccin transversal de los datos para su uso como conjunto de pruebas y se crea un nuevo modelo mediante entrenamiento en los datos restantes y no en la particin. Este proceso se repite hasta que Analysis Services ha creado y probado el nmero de modelos especificado. Los datos especificados como disponibles para validacin cruzada se distribuyen uniformemente entre todas las particiones. El ejemplo del diagrama muestra el uso de los datos si se especifican tres plegamientos. 165
Ilustracin 40. Estructura de Minera de Datos En el escenario del diagrama, la estructura de minera de datos contiene un conjunto de datos de exclusin que se usa para pruebas, pero el conjunto de datos de pruebas no se ha incluido para la validacin cruzada. Como resultado, todos los datos del conjunto de datos de aprendizaje, el 70 por ciento de los datos de la estructura de minera de datos, se usan para validacin cruzada. El informe de validacin cruzada muestra el nmero total de casos usados en cada particin. Tambin puede especificar la cantidad de datos que se usan durante la validacin cruzada si especifica el nmero de casos totales que se van a usar. Los casos se distribuyen de forma uniforme en todos los plegamientos. En las estructuras de minera de datos almacenada en una instancia de SQL Server Analysis Services, el valor mximo que puede establecer para el nmero de plegamientos es 256, o el nmero de casos, lo que sea menor. Si utiliza una estructura de minera de datos de sesin, el nmero mximo de plegamientos es 10. 2.7.5.4 Establecer el umbral de precisin El umbral de estado le permite establecer la barra de precisin para las predicciones. Para cada caso, el modelo calcula la probabilidad de prediccin, que indica la probabilidad de que el estado de prediccin sea correcto. Si la probabilidad de prediccin supera la barra de precisin, la prediccin se considera correcta; de no ser as, la prediccin se cuenta como incorrecta. Para controlar este valor, hay que establecer State Threshold en un nmero entre 0.0 y 1.0, donde los nmeros ms cercanos a 1 indican un alto nivel de confianza en las predicciones, y los nmeros ms prximos a 0 indican que hay mayor probabilidad de que la prediccin sea verdadera. El valor predeterminado para el umbral de estado es NULL, lo que significa que el estado de prediccin con la probabilidad superior se considera el valor de destino. Debe tener en cuenta que el valor del umbral de estado afecta a las medidas de precisin del modelo. Por ejemplo, suponga que tiene tres modelos que desea probar.Todos se basan en la misma estructura de minera de datos y todos predicen la columna [Bike Buyer]. Adems, desea predecir un nico valor 1, lo que significa s, comprar. Los tres modelos devuelven predicciones con probabilidades de prediccin de 0.05, 0.15 y 0.8. Si establece el umbral de estado en 0.10, dos de las predicciones se cuentan como correctas. Si establece el umbral de estado en 0.5, solo se cuenta que un modelo ha devuelto una prediccin correcta. Si usa el valor predeterminado, null, la prediccin ms probable se cuenta como correcta. En este caso, las tres predicciones se contaran como correctas. 166
2.7.5.5 Elegir los modelos y columnas para la validacin Al utilizar la pestaa Validacin cruzada del Diseador de minera de datos, debe seleccionar primero la columna de prediccin de la lista. Normalmente, una estructura de minera de datos puede admitir muchos modelos de minera, de los cuales no todos utilizan la misma columna de prediccin. Al ejecutar una validacin cruzada, solo se podrn incluir en el informe aquellos modelos que utilicen la misma columna de prediccin. Para elegir un atributo de prediccin, haga clic en Atributo de destino y seleccione la columna de la lista. Si el atributo de destino es una columna anidada o una columna de una tabla anidada, debe escribir el nombre de la columna anidada utilizando el formato <Nombre de tabla anidada>(clave).<Columna anidada>. Si la nica columna utilizada de la tabla anidada es la columna de clave, puede utilizar <Nombre de tabla anidada>(clave). Despus de seleccionar el atributo de prediccin, Analysis Services prueba todos los modelos que utilizan el mismo atributo de prediccin automticamente. Si el atributo de destino contiene valores discretos, despus de haber seleccionado la columna de prediccin, puede escribir un estado de destino, en caso de que haya un valor concreto que desee predecir. La seleccin del estado de destino afectar a las medidas que se devuelvan. Si especifica que un atributo de destino (es decir, un nombre de columna) no obtiene un valor concreto que el modelo deba predecir, el modelo se evaluar, de forma predeterminada, de acuerdo a su prediccin del estado ms probable. Cuando use una validacin cruzada con modelos de agrupacin en clsteres, no habr ninguna columna de prediccin; en su lugar, debe seleccionar N de clsteres de la lista, en el cuadro de lista Atributo de destino. Cuando haya seleccionado esta opcin, otras opciones que no son relevantes para los modelos de agrupacin en clsteres, como Estado del destino, se deshabilitarn. Analysis Services probar a continuacin todos los modelos de agrupacin en clsteres que estn asociados a la estructura de minera de datos. 2.7.5.6 Herramientas para la validacin cruzada Puede utilizar la validacin cruzada del Diseador de minera de datos o puede realizar la validacin cruzada ejecutando procedimientos almacenados. Si utiliza las herramientas del Diseador de minera de datos para realizar la validacin cruzada, puede configurar los parmetros de resultados de precisin y entrenamiento en un solo cuadro de dilogo. Esto facilita la configuracin y la visualizacin de resultados. Puede medir la precisin de todos los modelos de minera datos relacionados con una estructura de minera de datos nica y, a continuacin, ver inmediatamente los resultados en un informe HTML. Sin embargo, los procedimientos almacenados proporcionan algunas ventajas, como las personalizaciones agregadas y la capacidad de incluir en un script el proceso. 2.7.5.6.1 Validacin cruzada en el Diseador de minera de datos Puede realizar la validacin cruzada utilizando la pestaa Validacin cruzada de la vista Grfico de precisin de minera de datos en SQL Server Management Studio o SQL Server Development Studio. Para ver un ejemplo de cmo crear un informe de validacin cruzada mediante la interfaz de usuario. 2.7.5.6.2 Procedimientos almacenados de validacin cruzada Para los usuarios avanzados, la validacin cruzada tambin est disponible en forma de procedimientos almacenados del sistema totalmente parametrizados. Puede ejecutar los procedimientos almacenados conectndose a una instancia de SQL Server 2012 Analysis Services (SSAS) desde SQL Server Management Studio o desde cualquier aplicacin de cdigo administrado. 167
Los procedimientos almacenados se agrupan por tipo de modelo de minera de datos. Un conjunto de procedimientos funciona solo con modelos de agrupacin en clsteres. El otro conjunto de procedimientos funciona con otros modelos de minera de datos. Para cada tipo de modelo de minera de datos, en clster o sin clster, los procedimientos almacenados realizan la validacin cruzada en dos fases independientes. 2.7.5.6.3 Realizar particiones de datos y generar mtricas para particiones En la primera fase, llama a un procedimiento almacenado del sistema que crea tantas particiones como especifique dentro del conjunto de datos y devuelve los resultados de precisin para cada particin. Para cada mtrica, Analysis Services calcula entonces las desviaciones media y estndar para las particiones. 2.7.5.6.4 Generar mtricas para todo el conjunto de datos En la segunda fase, llama a otro conjunto de procedimientos almacenados. Estos procedimientos almacenados no crean particiones del conjunto de datos, pero generan resultados de precisin para el conjunto de datos especificados como un todo. Si ha creado particiones y ha procesado una estructura de minera de datos, puede llamar a este segundo conjunto de procedimientos almacenados para obtener los resultados. 2.7.5.7 Definir los datos de prueba Al ejecutar los procedimientos almacenados de validacin cruzada que calculan la precisin (SystemGetAccuracyResults o SystemGetClusterAccuracyResults), puede especificar el origen de los datos que se usan para realizar pruebas durante la validacin cruzada. Esta opcin no est disponible en la interfaz de usuario. Puede especificar como origen de datos de prueba cualquiera de las siguientes opciones: Usar solo los datos de aprendizaje. Incluir un conjunto de datos de pruebas existente. Usar solo el conjunto de datos de pruebas. Aplicar los filtros existentes a cada modelo. Cualquier combinacin del conjunto de entrenamiento, conjunto de pruebas y filtros de modelos. Para especificar un origen de datos de prueba, proporcione un valor entero para el parmetro DataSet del procedimiento almacenado. Para obtener una lista de los valores de argumento, vea la seccin Notas del tema de referencia sobre los procedimientos almacenados correspondiente. Si realiza una validacin cruzada mediante el informe Validacin cruzada en elDiseador de minera de datos, no puede cambiar el conjunto de datos que se usa. De forma predeterminada, se usan los casos de entrenamiento para cada modelo. Si un filtro est asociado a un modelo, se aplica dicho filtro. 2.7.5.8 Resultados de la validacin cruzada Si usa el Diseador de minera de datos, estos resultados se muestran en un visor Web similar a una cuadrcula. Si usa los procedimientos almacenados de validacin cruzada, estos mismos resultados se devuelven como una tabla. El informe contiene dos tipos de acciones: agregados que indican la variabilidad del conjunto de datos cuando se divide en subconjuntos y medidas especficas del modelo de la precisin para cada plegamiento. En los siguientes temas se proporciona ms informacin sobre estas mtricas: - Frmulas de validacin cruzada. Enumera todas las medidas por el tipo de prueba. Describe en general cmo se pueden interpretar las medidas. 168
- Medidas en el informe de validacin cruzada. Describe las frmulas para calcular cada medida y muestra el tipo de atributo en el que cada medida se puede aplicar. 2.7.5.9 Restricciones sobre la validacin cruzada Si realiza una validacin cruzada utilizando el informe de validacin cruzada de SQL Server Development Studio,, existen algunas limitaciones en los modelos que puede probar y en los parmetros que puede establecer. De forma predeterminada, se realizar una validacin cruzada de todos los modelos asociados a la estructura de minera de datos seleccionada. No puede especificar el modelo o una lista de modelos. No se admite el uso de la validacin cruzada en modelos que estn basados en el algoritmo de serie temporal de Microsoft o en el algoritmo de clsteres de secuencia de Microsoft. No se podr crear el informe si su estructura de minera de datos no contiene ningn modelo que pueda probar la validacin cruzada. Si la estructura de minera de datos contiene tanto modelos de agrupacin en clsteres como modelos de no agrupacin en clsteres y no elige la opcin N de clsteres, los resultados para ambos tipos de modelos se mostrarn en el mismo informe, incluso aunque el atributo, el estado y la configuracin del umbral no sean adecuados para el modelo de agrupacin en clsteres. Algunos valores de los parmetros estn restringidos. Por ejemplo, se mostrar una advertencia si el nmero de plegamientos es superior a 10, ya que generar tantos modelos podra provocar la ralentizacin de la presentacin del informe. Si prueba varios modelos de minera de datos y estos tienen filtros, cada modelo se filtra por separado. No se puede agregar a un modelo un nuevo filtro o cambiar uno existente durante la validacin cruzada. Dado que la validacin cruzada prueba de manera predeterminada todos los modelos de minera de datos asociados a una estructura, puede recibir resultados incoherentes si algunos modelos tienen un filtro y otros no. Para asegurarse de que compara solo los modelos que tienen el mismo filtro, debera usar los procedimientos almacenados y especificar una lista de modelos de minera de datos. O bien, use solo el conjunto de pruebas de la estructura de minera de datos sin filtros para asegurarse de que se usa un conjunto coherente de datos para todos los modelos. Si realiza una validacin cruzada utilizando procedimientos almacenados, tiene la opcin adicional de elegir el origen de datos de prueba. Si realiza una validacin cruzada utilizando el Diseador de minera de datos, debe utilizar el conjunto de datos de prueba que est asociado al modelo o a la estructura, si existe. Por lo general, si desea especificar la configuracin avanzada, debe utilizar los procedimientos almacenados de la validacin cruzada. La validacin cruzada no se puede utilizar con modelos de clsteres de secuencia o serie temporal. Concretamente, ningn modelo que contenga una columna KEY TIME o una columna KEY SEQUENCE puede incluirse en la validacin cruzada. 2.7.5.10 Medidas en el informe de validacin cruzada Durante la validacin cruzada, Analysis Services divide los datos de una estructura de minera de datos en varias secciones transversales y, a continuacin, va probando de forma iterativa la estructura y los modelos de minera de datos asociados. En funcin de este anlisis, genera un conjunto de medidas estndar de precisin para la estructura y para cada modelo. 169
El informe contiene cierta informacin bsica acerca del nmero de subconjuntos de los datos y de la cantidad de datos en cada subconjunto, adems de un conjunto de mtricas generales que describen la distribucin de los datos. Si compara las mtricas generales para cada seccin transversal, puede evaluar la confiabilidad de la estructura o el modelo. Analysis Services tambin muestra un conjunto de medidas detalladas para los modelos de minera de datos. Estas medidas dependen del tipo de modelo y del tipo de atributo que se est analizando: por ejemplo, si es discreto o continuo. En esta seccin se proporciona una lista de las medidas contenidas en el informe de Validacin cruzada y su significado. Para obtener informacin detallada sobre cmo se calcula cada medida 2.7.5.10.1 Lista de medidas del informe de validacin cruzada En la tabla siguiente se enumeran las medidas que aparecen en el informe de validacin cruzada. Las medidas se agrupan segn el tipo de prueba proporcionado en la columna izquierda de la tabla siguiente. La columna de la derecha contiene el nombre de la medida tal como aparece en el informe, junto con una breve explicacin de lo que significa. Tipo de prueba Medidas y descripciones Agrupacin en clsteres Medidas relacionadas con los modelos de agrupacin en clsteres
Probabilidad de casos Esta medida suele indicar la probabilidad de que un caso pertenezca a un clster determinado. Para la validacin cruzada, las puntuaciones se suman y luego se dividen entre el nmero de casos, de modo que aqu la puntuacin es una media de la probabilidad de los casos.
Clasificacin Medidas relacionadas con los modelos de clasificacin
Verdadero positivo Verdadero negativo Falso positivo Falso positivo Recuento de filas o valores de la particin cuyo estado predicho coincide con el estado de destino y cuya probabilidad de prediccin es mayor que el umbral de estado especificado. Se excluyen los casos a los que les faltan valores para el atributo de destino, lo que significa que los recuentos de todos los valores pueden no coincidir.
Sin errores/Error Recuento de filas o valores de la particin cuyo estado de prediccin coincide con el estado de destino y cuyo valor de probabilidad de prediccin es mayor que 0.
Probabilidad Las medidas de probabilidad se aplican a varios tipos de modelos.
Mejora respecto al modelo predictivo La proporcin entre la probabilidad de prediccin real y la probabilidad marginal en los casos de prueba. Se excluyen las filas a las que les falta el valor para el atributo de destino. 171
Esta medida normalmente muestra la mejora de la probabilidad del resultado de destino cuando se usa el modelo. Error cuadrtico medio La raz cuadrada del error promedio para todos los casos de particin, dividido por el nmero de casos en la particin, excluidas las filas que tienen valores ausentes para el atributo de destino. RMSE es un estimador popular para los modelos predictivos. La puntuacin calcula el promedio de los valores residuales para cada caso con objeto de producir un nico indicador del error del modelo. Logaritmo El logaritmo de la probabilidad real de cada caso, sumada y despus dividida por el nmero de filas del conjunto de datos de entrada, excluidas las filas que tienen valores ausentes para el atributo de destino. Como la probabilidad se representa como una fraccin decimal, las puntuaciones del registro son siempre nmeros negativos. Un nmero ms prximo a 0 es una puntuacin mejor. Mientras que las puntuaciones sin formato pueden tener distribuciones muy irregulares o sesgadas, una puntuacin de logaritmo es similar a un porcentaje.
Estimacin Medidas que solo se aplican a los modelos de estimacin, que predicen un atributo numrico continuo.
Error cuadrtico medio El error promedio cuando el valor predicho se compara con el valor real. RMSE es un estimador popular para los modelos predictivos. La puntuacin calcula el promedio de los valores residuales para cada caso con objeto de producir un nico indicador del error del modelo. Desviacin media El error promedio cuando los valores predichos se comparan con los valores reales, calculado como el promedio de la suma absoluta de los errores. La desviacin media es til para comprender lo cercanas que se encontraban las predicciones globales de los valores reales. Una puntuacin menor significa que las predicciones fueron ms precisas. Logaritmo El logaritmo de la probabilidad real de cada caso, sumada y despus dividida por el nmero de filas del conjunto de datos de entrada, excluidas las filas que tienen valores ausentes para el atributo de destino. 172
Como la probabilidad se representa como una fraccin decimal, las puntuaciones del registro son siempre nmeros negativos. Un nmero ms prximo a 0 es una puntuacin mejor. Mientras que las puntuaciones sin formato pueden tener distribuciones muy irregulares o sesgadas, una puntuacin del registro es similar a un porcentaje.
Agregados Las medidas agregadas proporcionan una indicacin acerca de la varianza en los resultados para cada particin.
Promedio La media de los valores de la particin para una medida determinada. Desviacin estndar La media de la desviacin con respecto al promedio para una medida concreta, para todas las particiones de un modelo. Para la validacin cruzada, un valor mayor para esta puntuacin implica una variacin sustancial entre los subconjuntos.
2.7.5.11 Frmulas de validacin cruzada Cuando se genera un informe de validacin cruzada, contiene medidas de precisin para cada modelo segn el tipo de modelo de minera de datos (es decir, el algoritmo utilizado para crear el modelo), el tipo de datos del atributo de prediccin y el valor de atributo de prediccin, si existe. En esta seccin se enumeran las medidas que se usan en el informe de validacin cruzada y se describe el mtodo de clculo. 2.7.5.11.1 Frmulas utilizadas para las medidas de validacin cruzada Medida Se aplica a Implementacin Verdadero positivo Atributo discreto, se especifica el valor. Recuento de casos que cumplen estas condiciones: El caso contiene el valor de destino. El modelo predijo que ese caso contena el valor de destino. Verdadero negativo Atributo discreto, se especifica el valor. Recuento de casos que cumplen estas condiciones: El caso no contiene el valor de destino. El modelo predijo que el caso no contiene el valor de destino. Falso positivo Atributo discreto, se especifica el valor. Recuento de casos que cumplen estas condiciones: El valor real es igual al valor de destino. El modelo predijo que ese caso contena el valor de destino. Falso negativo Atributo discreto, se especifica el valor. Recuento de casos que cumplen estas condiciones: El valor real no es igual al valor de destino. El modelo predijo que el caso no contiene el valor de destino. Sin errores/Error Atributo discreto, sin destino especificado Recuento de casos que cumplen estas condiciones: Sin errores en caso de que el estado predicho con la mxima probabilidad es igual al estado de entrada y la probabilidad es mayor que el valor de Umbral de estado. De lo contrario, se producir un error. Elevacin Atributo discreto. Se puede especificar el valor de destino pero no es necesario. La probabilidad de registro de la media de todas las filas con valores para el atributo de destino, donde la probabilidad de registro para cada caso se calcula como Log(ActualProbability/MarginalProbability). Para calcular la media, la suma de los valores de probabilidad logartmica se divide entre el nmero de filas del conjunto de datos de entrada, excluidas las filas sin valores para el atributo de destino. La mejora respecto al modelo predictivo puede ser un valor positivo o negativo. Un valor positivo indica que estamos ante un modelo eficaz que supera la estimacin aleatoria. 175
Puntuacin del registro Atributo discreto. Se puede especificar el valor de destino pero no es necesario. Logaritmo de la probabilidad real de cada caso, sumada y despus dividida entre el nmero de filas del conjunto de datos de entrada, excluidas las filas sin valores para el atributo de destino. Como la probabilidad se representa como una fraccin decimal, las puntuaciones del registro son siempre nmeros negativos.Una puntuacin ms cercana a 0 es una puntuacin mejor. Probabilidad de casos Clster Suma de las puntuaciones de probabilidad de clster para todos los casos, dividida entre el nmero de casos de la particin, excluidas las filas sin valores para el atributo de destino. Error absoluto medio Atributo continuo Suma del error absoluto para todos los casos de la particin, dividida entre el nmero de casos de la particin. Error cuadrtico medio Atributo continuo Raz cuadrada del error cuadrtico medio para la particin. Error cuadrtico medio Atributo discreto. Se puede especificar el valor de destino pero no es necesario. Raz cuadrada de la media de los cuadrados del complemento de la puntuacin de probabilidad, dividida entre el nmero de casos de la particin, excluidas las filas sin valores para el atributo de destino. Error cuadrtico medio Atributo discreto, sin destino especificado. Raz cuadrada de la media de los cuadrados del complemento de la puntuacin de probabilidad, dividida entre el nmero de casos de la particin, excluidos los casos sin valores para el atributo de destino. 2.8 Consultas de minera de datos Las consultas de minera de datos son tiles para muchos propsitos. Puede hacer lo siguiente: Aplicar el modelo a nuevos datos, para realizar una o varias predicciones. Proporcionar valores de entrada como parmetros o en un lote. Obtener un resumen estadstico de los datos utilizados para entrenar. Extraer patrones y reglas, o generar un perfil del caso tpico que representa un patrn del modelo. Extraer frmulas de regresin y otros clculos que expliquen los patrones. Obtener los casos que se ajusten a un patrn determinado. Recuperar detalles sobre casos individuales usados en el modelo, incluidos los datos no usados en el anlisis. Volver a entrenar un modelo agregando nuevos datos, o realizar predicciones cruzadas. Esta seccin proporciona informacin general sobre lo que debe saber para empezar a trabajar con consultas de minera de datos. Describe los tipos de consultas que puede crear con los objetos de minera de datos, presenta las herramientas y lenguajes de consulta y proporciona vnculos a ejemplos de consultas que puede crear con modelos que fueron compilados utilizando los algoritmos proporcionados en la minera de datos de SQL Server. 2.8.1 Descripcin de las consultas de minera de datos La minera de datos de Analysis Services admite los siguientes tipos de consultas: Consultas de prediccin (minera de datos). Consultas que realizan deducciones basadas en los patrones del modelo y partiendo de los datos de entrada. Consultas de contenido (minera de datos). Consultas que devuelven metadatos, estadsticas y otra informacin sobre el propio modelo. Consultas de obtencin de detalles (minera de datos). Consultas que pueden recuperar los datos de casos subyacentes del modelo o incluso los datos de la estructura que no se utiliz en el modelo. Consultas de definicin de datos (minera de datos). Consultas que no devuelven informacin sobre el modelo, sino que se usan para compilar modelos y estructuras o para actualizar los datos de un modelo o estructura. Antes de crear consultas, recomendamos que se familiarice con las diferencias que existen entre los modelos creados con cada uno de los algoritmos de minera de datos proporcionados por SQL Server. Examine y explore cada tipo de modelo utilizando los visores de minera de datos personalizados que se proporcionan para cada tipo de algoritmo. Revise el contenido del modelo para cada tipo modelo, utilizando el Visor de rbol de contenido genrico de Microsoft. 2.8.2 Herramientas e interfaces de consulta Puede compilar consultas de minera de datos de forma interactiva mediante una de las herramientas de consulta proporcionadas por SQL Server. El Generador de consultas de prediccin grfico est disponible en SQL Server Data Tools (SSDT) y en SQL Server Management Studio. 177
El Generador de consultas de prediccin es til para iniciar consultas que personalizar despus. Puede agregar orgenes de datos con facilidad y asignarlos a columnas y, a continuacin, pasar a la vista DMX y personalizar la consulta agregando una clusula WHERE u otras funciones. Una vez familiarizado con los modelos de minera de datos y con el modo de compilar consultas, tambin puede escribir consultas directamente utilizando Extensiones de minera de datos (DMX). DMX es un lenguaje de consultas que es similar a Transact- SQL y que puede utilizar en muchos clientes diferentes. DMX es la herramienta adecuada para crear predicciones personalizadas y consultas complejas. SQL Server Data Tools (SSDT) y SQL Server Management Studio disponen de editores DMX. Tambin puede utilizar el Generador de consultas de prediccin para iniciar sus consultas y, a continuacin, cambiar la vista al editor de texto y copiar la instruccin DMX en otro cliente. Puede crear instrucciones DMX mediante programacin y enviarlas de su cliente al servidor de Analysis Services mediante AMO o XMLA. Sin embargo, DMX es el lenguaje que debe utilizar para crear consultas en un modelo de minera de datos. Tambin puede consultar los metadatos, estadsticas y parte del contenido del modelo usando Vistas de administracin dinmica (DMV) basadas en los conjuntos de filas de esquema de minera de datos. Con estas DMV resulta fcil recuperar informacin sobre el modelo mediante instrucciones SELECT; sin embargo, no se pueden crear predicciones. 2.8.3 Consultas para los diferentes tipos de modelos El algoritmo utilizado al crear el modelo influye notablemente en el tipo de informacin que se puede recibir de una consulta de minera de datos. La razn de las diferencias es que cada algoritmo procesa los datos de forma diferente y almacena diferentes tipos de modelos. Por ejemplo, algunos algoritmos crean clsteres y otros crean rboles. Por consiguiente, podra tener que utilizar prediccin y funciones de consulta especializadas, segn el tipo de modelo con el que est trabajando. La siguiente lista proporciona un resumen de las funciones que puede utilizar en las consultas: Funciones de prediccin generales: la funcin Predict es polimrfica, lo que significa que funciona con todos los tipos de modelo. Esta funcin detectar automticamente el tipo de modelo con el que est trabajando y solicitar parmetros adicionales. Funciones de prediccin personalizadas: cada tipo modelo proporciona un conjunto de funciones de prediccin diseado para trabajar con los modelos creados por ese algoritmo. Por ejemplo, la funcin Lag se proporciona para los modelos de serie temporal, para que pueda ver los datos histricos utilizados para el modelo. Para los modelos de agrupacin en clsteres, las funciones como ClusterDistance tienen ms sentido. Tambin puede llamar a funciones VBA o crear sus propias funciones. Estadsticas generales: hay varias funciones que se pueden utilizar con casi cualquier tipo de modelo, que devuelven un conjunto estndar de estadsticas descriptivas, como la desviacin estndar. Por ejemplo, la funcin PredictHistogram devuelve una tabla que enumera todos los estados de la columna especificada. 178
Estadsticas personalizadas: se proporcionan funciones de apoyo adicionales para cada tipo de modelo, para generar estadsticas que sean pertinentes a la tarea analtica concreta. Por ejemplo, cuando trabaje con un modelo de agrupacin en clsteres, puede utilizar la funcin PredictCaseLikelihood para devolver la puntuacin de probabilidad asociada a un determinado caso y clster. Sin embargo, si creara un modelo de regresin lineal, le interesara ms recuperar el coeficiente y la interseccin, lo que puede hacer mediante una consulta de contenido. Funciones de modelo de contenido: el contenido de todos los modelos se representa en un formato normalizado que permite recuperar informacin con una consulta simple. Puede crear consultas en el modelo de contenido mediante DMX. Tambin puede obtener algn tipo de contenido del modelo de minera de datos utilizando los conjuntos de filas de esquema de minera de datos. En el contenido del modelo, el significado de cada fila o nodo de la tabla que se devuelve vara segn el tipo de algoritmo que se utiliz para compilar el modelo, as como el tipo de datos de la columna. 2.8.4 Requisitos Para poder crear una consulta en un modelo, el modelo de minera de datos se debe haber procesado. El procesamiento de objetos Analysis Services requiere permisos especiales. Para obtener ms informacin sobre cmo procesar modelos de minera de datos. Ejecutar consultas en un modelo de minera de datos requiere diferentes niveles de permisos, segn el tipo de consulta que se ejecuta. Por ejemplo, la obtencin de detalles de casos o datos de estructuras normalmente requiere permisos adicionales que se pueden establecer en el objeto de estructura de minera de datos u objeto de modelo de minera de datos. Sin embargo, si la consulta utiliza datos externos e incluye instrucciones como OPENROWSET u OPENQUERY, la base de datos que est consultando debe habilitar estas instrucciones, y usted debe tener permiso en los objetos de base de datos subyacentes. 2.9 Soluciones de minera de datos Una solucin de minera de datos es una solucin de Analysis Services que contiene uno o ms proyectos de minera de datos. En los temas de esta seccin se ofrece informacin acerca del diseo y la implementacin de una solucin de minera de datos integrada mediante SQL Server Analysis Services. Para obtener informacin general acerca del proceso de diseo de minera de datos y de las herramientas relacionadas. 2.9.1 Soluciones relacionales y multidimensionales Una solucin de minera de datos se puede basar en datos multidimensionales, es decir, en un cubo existente; o en datos puramente relacionales, como las tablas y las vistas de un almacenamiento de datos; o bien en archivos de texto, libros de Excel u otros orgenes de datos externos. Puede crear objetos de minera de datos en una solucin de base de datos multidimensional existente. 179
Normalmente, se creara una solucin como esta si ya ha creado un cubo y deseara realizar la minera de datos utilizando el cubo como origen de datos. Al mover y crear copias de seguridad de modelos basados en un cubo, el cubo tambin debe moverse o copiarse. Puede crear una solucin de minera de datos que solo contenga objetos de minera de datos, incluidos los orgenes de datos y vistas del origen de datos que admiten, y que use un origen de datos relacional solamente. Este es el mtodo preferido para crear modelos de minera de datos, dado que el procesamiento y la consulta normalmente es ms rpido en orgenes de datos relacionales. Tambin puede mover y hacer copia de seguridad fcilmente de los modelos entre servidores copiando los comandos EXPORT e IMPORT. 2.9.2 Implementar soluciones de minera de datos La instancia de Analysis Services en la que se implementa la solucin debe ejecutarse en un modo que admita objetos multidimensionales y objetos de minera de datos; es decir, no puede implementar objetos de minera de datos en una instancia que hospede modelos tabulares o datos de PowerPivot. Por consiguiente, al crear una solucin de minera de datos en Visual Studio, asegrese de utilizar la plantilla Proyecto multidimensional y de minera de datos de Analysis Services. Al implementar la solucin, los objetos utilizados para la minera de datos se crean en la instancia especificada de Analysis Services, en una base de datos con el mismo nombre que el archivo de solucin. Crear una estructura de minera de datos basada en los datos de un cubo OLAP. Los modelos que se crean a partir de datos OLAP se pueden guardar como una dimensin de minera de datos, o puede guardar el conjunto de datos y sus modelos como un cubo nuevo. 2.9.3 Proyectos de minera de datos Un proyecto de minera de datos forma parte de una solucin de Analysis Services. Durante el proceso de diseo, los objetos que crea en este proyecto estn disponibles para probarlos y consultarlos como parte de una base de datos del rea de trabajo. Cuando desee que los usuarios puedan consultar o examinar los objetos del proyecto, debe implementarlo en una instancia de Analysis Services que se ejecute en modo multidimensional. 2.9.3.1 Crear proyectos de minera de datos En SQL Server Data Tools (SSDT), los proyectos se crean con la plantilla Proyecto de minera de datos y OLAP. Tambin puede crear proyectos de minera de datos mediante programacin, mediante AMO. Los objetos individuales de minera de datos pueden crearse usando el lenguaje de scripting de Analysis Services (ASSL). Si crea un proyecto de minera de datos en una solucin existente, de forma predeterminada los objetos de minera de datos se implementan en una base de datos de Analysis Services con el mismo nombre que el archivo de solucin. Puede cambiar este nombre y el servidor de destino mediante el cuadro de dilogo Propiedades del proyecto. Dentro de cada proyecto de minera de datos que cree, seguir estos pasos: 180
1. Elija un origen de datos, como un cubo, una base de datos o incluso archivos de texto o de Excel, que contenga los datos sin formato que utilizar para generar los modelos. 2. Defina un subconjunto de los datos del origen de datos que se usarn para el anlisis y gurdelos como vista del origen de datos. 3. Defina una estructura de minera de datos para el modelado. 4. Agregue modelos de minera de datos a la estructura de minera de datos, elija un algoritmo y especifique el modo en que el algoritmo controlar los datos. 5. Entrene los modelos rellenndolos con los datos seleccionados o con un subconjunto filtrado de los datos. 6. Explore, pruebe y genere modelos. Cuando el proyecto est completo, puede implementarlo para que los usuarios lo examinen o lo consulten, o puede proporcionar acceso mediante programacin a los modelos de minera de datos en una aplicacin, para permitir las predicciones y el anlisis. 2.9.3.2 Objetos de proyectos de minera de datos Todos los proyectos de minera de datos contienen los cuatro tipos siguientes de objetos. Puede tener varios objetos de todos los tipos. Orgenes de datos Vistas del origen de datos Estructuras de minera de datos Modelos de minera de datos Por ejemplo, un solo proyecto de minera de datos puede contener una referencia a varios orgenes de datos y cada origen de datos puede admitir varias vistas del origen de datos. A su vez, cada vista del origen de datos puede admitir varias estructuras de minera de datos, cada una con varios modelos de minera de datos relacionados. Adems, el proyecto puede incluir algoritmos de complemento, ensamblados personalizados o procedimientos almacenados personalizados; sin embargo, estos objetos no se describen aqu. 2.9.3.2.1 Orgenes de datos El origen de datos define la cadena de conexin e informacin de autenticacin que el servidor Analysis Services utilizar para conectarse al origen de datos. El origen de datos puede contener varias varias tablas o vistas; puede ser tan simple como un nico libro de Excel o un archivo de texto, o tan complejo como una base de datos de procesamiento analtico en lnea (OLAP) o una base de datos relacional grande. Un solo proyecto de minera de datos puede hacer referencia a varios orgenes de datos. Aunque un modelo de minera de datos puede utilizar un origen de datos cada vez, el proyecto podra tener varios modelos que dibujen en orgenes de datos diferentes. Analysis Services admite datos de muchos proveedores externos y la minera de datos de SQL Server puede usar tanto los datos relacionales como los datos de cubo como origen de datos. Sin embargo, si desarrolla ambos tipos de proyecto (modelos basados en orgenes relacionales y modelos basados en cubos OLAP), puede que desee desarrollarlos y administrarlos en proyectos diferentes. Normalmente, los modelos que se basaban en un cubo OLAP se deben desarrollar dentro de la solucin de diseo OLAP. Una razn es que los 181
modelos basados en un cubo deben procesar el cubo para actualizar los datos. Generalmente, debe utilizar los datos de un cubo solo cuando ese sea el medio principal de almacenamiento y acceso de los datos, o cuando se requieran agregaciones, dimensiones y atributos creados por el proyecto multidimensional. Si el proyecto usa datos relacionales, solo debe crear modelos relacionales en un proyecto independiente, de modo que no vuelva a procesar innecesariamente otros objetos. En muchos casos, la base de datos de ensayo o el almacenamiento de datos utilizado para admitir la creacin del cubo ya contiene las vistas que se necesitan para realizar la minera de datos y puede utilizar estas vistas para la minera de datos en lugar de las agregaciones y las dimensiones del cubo. No puede usar los datos en memoria o PowerPivot directamente para crear modelos de minera de datos. El origen de datos solo identifica el servidor o el proveedor y el tipo general de los datos. Si tiene que cambiar las agregaciones y el formato de los datos, utilice el objeto de vista del origen de datos. Para controlar la manera en que los datos del origen de datos se controlan, puede agregar columnas derivadas o clculo, modificar los agregados o cambiar el nombre de las columnas de datos en la vista del origen de datos. (Tambin puede trabajar con los datos de nivel inferior, modificando las columnas de la estructura de minera de datos o empleando marcas de modelado y filtros en la columna de minera de datos). Si se requiere una limpieza de los datos o los datos del almacn de datos deben modificarse para crear variables adicionales, cambiar los tipos de datos o crear agregaciones alternativas, puede que tenga que crear tipos de proyecto adicionales que sirvan para la minera de datos. 2.9.3.2.2 Vistas del origen de datos Despus de definir esta conexin a un origen de datos, crea una vista que identifica los datos concretos pertinentes para el modelo. La vista del origen de datos tambin le permite personalizar la manera en que los datos del origen de datos se proporcionan al modelo de minera de datos. Puede modificar la estructura de los datos para hacerla ms pertinente para el proyecto o elegir nicamente ciertos tipos de datos. Por ejemplo, mediante el Asistente para vistas del origen de datos, puede: Crear columnas derivadas, como partes, subcadenas, etc. Agregar valores mediante instrucciones de Transact-SQL como GROUP BY Restringir los datos temporalmente o los datos de ejemplo Observe que la vista del origen de datos que cree puede contener datos adicionales que no se usen directamente para el anlisis. Por ejemplo, puede agregar a la vista del origen de datos los datos que se utilizan para las pruebas, las predicciones o para la obtencin de detalles.
182
2.9.3.2.3 Estructuras de minera de datos Cuando haya creado la vista del origen de datos y el origen de datos, debe seleccionar las columnas de datos que sean ms pertinentes para el problema de negocio definiendo estructuras de minera de datos dentro del proyecto. Una estructura de minera de datos indica al proyecto qu columnas de datos de la vista del origen de datos se deben utilizar realmente en el modelado, el entrenamiento y las pruebas. Para agregar una nueva estructura de minera de datos, inicie el Asistente para minera de datos. El asistente define de forma automtica una estructura de minera de datos, le gua por el proceso de eleccin de los datos y, si lo desea, le permite agregar un modelo de minera de datos inicial a la estructura. En la estructura de minera de datos, elija las tablas y columnas de la vista del origen de datos o de un cubo OLAP, y defina relaciones entre las tablas, si los datos incluyen tablas anidadas. La eleccin de los datos ser muy diferente en el Asistente para minera de datos, en funcin de si utiliza orgenes de datos relacionales o de procesamiento analtico en lnea (OLAP). Si elige datos de un origen de datos relacional, la configuracin de una estructura de minera de datos es fcil: elija las columnas de datos en la vista del origen de datos y establezca personalizaciones adicionales como alias o defina el modo en que los valores de la columna deberan agruparse o discretizarse. Si usa los datos de un cubo OLAP, la estructura de minera de datos debe estar en la misma base de datos que la solucin OLAP. Para crear una estructura de minera de datos, puede seleccionar atributos de las dimensiones y las medidas relacionadas en la solucin OLAP. Los valores numricos se encuentran normalmente en las medidas y las variables de categoras en las dimensiones. Tambin puede definir estructuras de minera de datos mediante DMX. Despus de crear la estructura de minera de datos inicial, puede copiar, modificar y crear alias de las columnas de la estructura. Cada estructura de minera de datos puede contener varios modelos de minera de datos. Tambin tiene la opcin de separar los datos en un conjunto de datos de entrenamiento, que se usan para generar modelos y un conjunto de datos de exclusin para usarlos al probar o validar los modelos de minera de datos. 2.9.3.2.4 Modelos de minera de datos El modelo de minera de datos define el algoritmo o mtodo de anlisis que utilizar en los datos. Para cada estructura de minera de datos, agrega uno o varios modelos de minera de datos. Segn sus necesidades, puede combinar varios modelos en un solo proyecto o crear proyectos distintos para cada tipo de tarea analtica o modelo. Una vez creada una estructura y un modelo, procese cada modelo ejecutando los datos de la vista del origen de datos a travs del algoritmo, lo que genera un modelo matemtico de los datos. Este proceso tambin se conoce como entrenar el modelo. Una vez procesado el modelo, a continuacin puede explorar visualmente el modelo de minera de datos y crear las consultas de prediccin con l. Si los datos del 183
proceso de entrenamiento se almacenan en la memoria cach, puede utilizar las consultas de obtencin de detalles para devolver informacin detallada sobre los casos que se usan en el modelo. Si desea usar un modelo de produccin (por ejemplo, para usarlo en la realizacin de predicciones, o para la exploracin de los usuarios en general) puede implementar el modelo en un servidor diferente. Si necesita volver a procesar el modelo en el futuro, tambin debe exportar la definicin de la estructura de minera de datos subyacente (y, necesariamente, la definicin del origen de datos y de la vista del origen de datos) al mismo tiempo. Al implementar un modelo, tambin debe asegurarse de que las opciones de procesamiento correctas estn establecidas en la estructura y el modelo, y de que los posibles usuarios tienen los permisos que necesitan para realizar consultas, ver modelos u obtener detalles para estructurar o modelar los datos. 2.9.3.3 Usar el proyecto completado de minera de datos En esta seccin se resumen las formas en que puede utilizar el proyecto completado de minera de datos. Puede crear grficos de precisin, explorar y validar los datos, y colocar los modelos de minera de datos a disposicin de los usuarios. 2.9.3.3.1 Ver y explorar modelos Despus de crear un modelo, puede utilizar herramientas visuales y consultas para explorar los patrones del modelo y para obtener ms informacin sobre los patrones y las estadsticas subyacentes. En la pestaa Visor de modelos de minera de datos en el Diseador de minera de datos, Analysis Services proporciona visores para cada tipo de modelo de minera de datos, que puede utilizar para explorar los modelos. Estas visualizaciones son temporales y se cierran sin guardar cuando se cierra la sesin con Analysis Services. Por consiguiente, si necesita exportar estas visualizaciones a otra aplicacin para mostrarlas o realizar un anlisis adicional, utilice los comandos Copiar que se proporcionan en cada pestaa o panel de la interfaz del visor. Los Complementos de minera de datos de Excel tambin proporcionan una plantilla de Visio que puede utilizar para representar modelos en un diagrama de Visio y para comentar y modificar el diagrama mediante las herramientas de Visio. 2.9.3.3.2 Probar y validar modelos Despus de crear un modelo, puede investigar los resultados y decidir qu modelos se comportan mejor. Analysis Services proporciona varios grficos que puede usar para proporcionar las herramientas que permiten comparar directamente los modelos de minera de datos y elegir el ms preciso o til. Estas herramientas incluyen un grfico de elevacin, el grfico de beneficios y una matriz de clasificacin. Puede generar estos grficos utilizando la pestaa Grfico de precisin de minera de datos del Diseador de minera de datos. Tambin puede utilizar el informe de validacin cruzada para realizar un submuestreo reiterativo de los datos y determinar si el modelo se inclina a un conjunto determinado de datos. Las estadsticas que el informe proporciona se 184
pueden utilizar para comparar objetivamente los modelos y evala la calidad de los datos de entrenamiento. Tenga en cuenta que estos informes y grficos no se almacenan con el proyecto o en la base de datos de Analysis Services, por lo que, si necesita mantener o duplicar los resultados, debe guardar los resultados o escribir los objetos utilizando DMX o AMO. Tambin puede utilizar procedimientos almacenados para la validacin cruzada. 2.9.3.3.3 Crear predicciones Analysis Services ofrece un lenguaje de consulta denominado Extensiones de minera de datos (DMX) que es la base para crear predicciones y es fcilmente convertible en scripts. Para ayudarle a generar consultas de prediccin DMX, SQL Server proporciona un generador de consultas, disponible en SQL Server Management Studio. Tambin hay muchas plantillas DMX para el editor de consultas en SQL Server Management Studio. Si no est familiarizado con las consultas de prediccin, se recomienda utilizar el generador de consultas que se proporciona en el Diseador de minera de datos y SQL Server Management Studio. Para obtener ms informacin. Las predicciones que cree en SQL Server Data Tools (SSDT) o en SQL Server Management Studio no son persistentes, de modo que si las consultas son complejas o necesita reproducir los resultados, se recomienda que guarde las consultas de prediccin en archivos de consulta DMX, los incluya en scripts o inserte las consultas como parte de un paquete de Integration Services. 2.9.3.4 Acceso a objetos de minera de datos mediante programacin Analysis Services proporciona varias herramientas que puede usar para trabajar mediante programacin con proyectos de minera de datos y con los objetos contenidos en ellas. El lenguaje DMX proporciona instrucciones que puede usar para crear orgenes de datos y vistas del origen de datos, y para crear, entrenar y usar estructuras y modelos de minera de datos. Tambin puede llevar a cabo estas tareas mediante el Lenguaje de scripting de Analysis Services (ASSL) o bien usando Objetos de administracin de anlisis (AMO).
185
CAPITULO IV: CONCLUSIONES Y RECOMENDACIONES 186
3.1 CONCLUSI ONES - La Minera de Datos, bien empleada, se convierte en una herramienta estratgica que eleva los niveles de competencia en el cambiante mundo de los negocios. La toma de decisiones efectivas depende de la rapidez con que se identifica y analiza informacin importante. La existencia de metodologas innovadoras para desarrollar el proceso de identificacin y anlisis, debe necesariamente mejorar la ventaja competitiva para incrementar el mayor nmero de clientes. - Nuestra capacidad para almacenar datos ha crecido exponencialmente los ltimos aos, pero la capacidad de procesarlos no ha ido a la par. Por tal motivo, es necesario contar con tcnicas que tengan la capacidad de procesar y entender datos tanto estructurados como no estructurados, para apoyar la toma de decisiones en cualquier mbito del conocimiento. - La Minera de Datos ha tenido una reciente inclusin en los negocios, debido a la enorme preocupacin de las empresas por conocer ms all de los datos que stos manejan. - Entre las ventajas de la Minera de Datos est su facilidad de uso y la aplicabilidad de un conocimiento adecuado de los distintos tipos de algoritmos empleados, ya que stos brindan los mismos resultados y cada uno, con una eficiencia diferente. Como desventaja destaca que hay que dedicar mucho ms esfuerzo al establecimiento de medidas de evaluacin del resultado derivado de la aplicacin del Data Mining. - Para el aprovechamiento de la gran cantidad de conocimiento en la Minera de Datos es necesario reducir la cantidad de datos, quedndonos slo con la informacin mnima necesaria, para disminuir el esfuerzo computacional y humano. El resto de la informacin se vuelve redundante, trayendo consigo ruido y dependencias que deben tratar de evitarse; esto se basa en un axioma fundamental: la hiptesis ms simple . - No todos los datos son apropiados para la minera. La bsqueda de patrones debe centrarse en aqullos que tengan un impacto significativo en el negocio. Si bien los datos de poca utilizacin se encuentran mezclados con los de alta utilizacin, contar con un motor de consultas que permita realizar ordenamientos y seleccin de datos ayuda a determinar cules sern aqullos que se extraern. - Un Data Warehouse est diseado para realizar procesamientos veloces de consultas, lo cual representa una herramienta de suma utilidad en la tarea de identificacin del subconjunto de datos requerido. - Hacer Data Mining sobre datos que se actualizan a menudo es un desafo. Por consiguiente, hay varios problemas que necesitan ser investigados extensamente, antes de que se pueda llevar a cabo lo que se conoce como Data Mining en tiempo real. El uso de indicadores en pro de medir la bondad, aplicabilidad, la relevancia y la novedad, de los resultados de la Minera de Datos, pueden resultar en ocasiones muy subjetivos, pero los negocios necesitan contar con algn medio que les permita medir el inters y el impacto del conocimiento que se puede obtener al aplicar Minera de Datos. De igual manera, la intervencin y experiencia del tomador de decisiones es relevante para establecer algunas medidas y poder calcular los indicadores antes mencionados. - La tenencia de datos no es el elemento esencial en una toma de decisin acertada. Al convertir dichos datos en informacin evaluada y sta en conocimiento para la accin, se proporciona el apoyo necesario para la toma de una decisin argumentada, que oriente a la empresa hacia el cumplimiento de sus metas y objetivos. 187
- Con Data Mining, las organizaciones cuentan con una nueva forma de ver sus datos, prometiendo beneficios a la solucin de una gran variedad de problemas como: planeacin econmica, inteligencia empresarial, finanzas, anlisis de mercados y anlisis de perfiles de clientes. 3.2 RECOMENDACI ONES - Se recomienda analizar la estructura de la base de datos, la consistencia de stos y la historicidad de los mismos. - Se recomienda la aplicacin de los algoritmos de minera de datos de Analysis Services a los datos lo que le permitir predecir tendencias, identificar patrones, crear reglas y recomendaciones, analizar la secuencia de eventos en conjuntos de datos complejos y obtener nuevos puntos de vista. - El uso de la normalizacin se recomienda en los modelos de agrupacin en clsteres para mejorar el resultado del modelo. - En un entorno de produccin, se recomienda crear las consultas utilizando DMX, AMO o XMLA. - El algoritmo de rboles de decisin de Microsoft proporciona tres frmulas para puntuar la obtencin de informacin: la entropa de Shannon, la red bayesiana con prioridad K2 y la red bayesiana con una distribucin Dirichlet uniforme de prioridades. Los tres mtodos estn bien consolidados en el campo de la minera de datos. Se recomienda que experimente con parmetros y mtodos de puntuacin diferentes para determinar cules son los que proporcionan mejores resultados. - Dado que los resultados de prediccin pueden ser especficos del sistema operativo, se recomienda que evale los modelos sobre el mismo sistema operativo que utilizar en produccin. - Se recomienda revisar el trabajo de Box y Jenkins para entnder el modelo ARIMA.
188
Bibliografa Gervilla Garca, E., Jimnez Lpez, R., Montao Moreno, J. J., Ses Abad, A., Cajal Blasco, B., & Palmer Pol, A. (2011). La metodologa del Data Mining.Una aplicacin al consumo de alcohol en adolescentes. Islas Baleares: Universidad Internacional de Islas Baleares. Gonzalo, M., Marbn, O., Gonzles, ., & Segovia, J. (Noviembre de 2010). Hacia la Ingeniera de Data Mining: Un modelo de proceso paranjg geee. Madrid. Espaa.: Universidad Politcnica de Madrid. Han, J., & Kamber, M. (2007). Data Mining: Conceptos y Tcnicas. Toronto: Universidad Simon Fraser.
189
GLOSARIO DE TRMINOS 190
Algoritmos genticos: Tcnicas de optimizacin que usan procesos tales como combinacin gentica, mutacin y seleccin natural en un diseo basado en los conceptos de evolucin natural. Anlisis de series de tiempo (time-series): Anlisis de una secuencia de medidas hechas a intervalos especficos. El tiempo es usualmente la dimensin dominante de los datos. Anlisis prospectivo de datos: Anlisis de datos que predice futuras tendencias, comportamientos o eventos basado en datos histricos. Anlisis exploratorio de datos: Uso de tcnicas estadsticas tanto grficas como descriptivas para aprender acerca de la estructura de un conjunto de datos. Anlisis retrospectivo de datos: Anlisis de datos que provee una visin de las tendencias, comportamientos o eventos basado en datos histricos. rbol de decisin: Estructura en forma de rbol que representa un conjunto de decisiones. Estas decisiones generan reglas para la clasificacin de un conjunto de datos. Ver CART y CHAID. Base de datos multidimensional: Base de datos diseada para procesamiento analtico on-line (OLAP). Estructurada como un hipercubo con un eje por dimensin. CART rboles de clasificacin y regresin: Una tcnica de rbol de decisin usada para la clasificacin de un conjunto da datos. Provee un conjunto de reglas que se pueden aplicar a un nuevo (sin clasificar) conjunto de datos para predecir cules registros darn un cierto resultado. Segmenta un conjunto de datos creando 2 divisiones. Requiere menos preparacin de datos que CHAID. CHAID Deteccin de interaccin automtica de Chi cuadrado: Una tcnica de rbol de decisin usada para la clasificacin de un conjunto da datos. Provee un conjunto de reglas que se pueden aplicar a un nuevo (sin clasificar) conjunto de datos para predecir cules registros darn un cierto resultado. Segmenta un conjunto de datos utilizando tests de chi cuadrado para crear mltiples divisiones. Antecede, y requiere ms preparacin de datos, que CART. Clasificacin: Proceso de dividir un conjunto de datos en grupos mutuamente excluyentes de tal manera que cada miembro de un grupo est lo "ms cercano" posible a otro, y grupos diferentes estn lo "ms lejos" posible uno del otro, donde la distancia est medida con respecto a variable(s) especfica(s) las cuales se estn tratando de predecir. Por ejemplo, un problema tpico de clasificacin es el de dividir una base de datos de compaas en grupos que son lo ms homogneos posibles con respecto a variables como "posibilidades de crdito" con valores tales como "Bueno" y "Malo". Clustering (agrupamiento): Proceso de dividir un conjunto de datos en grupos mutuamente excluyentes de tal manera que cada miembro de un grupo est lo "ms cercano" posible a otro, y grupos diferentes estn lo "ms lejos" posible uno del otro, donde la distancia est medida con respecto a todas las variables disponibles. 191
Computadoras con multiprocesadores: Una computadora que incluye mltiples procesadores conectados por una red. Ver procesamiento paralelo. Data cleansing: Proceso de asegurar que todos los valores en un conjunto de datos sean consistentes y correctamente registrados. Data Mining: La extraccin de informacin predecible escondida en grandes bases de datos. Data Warehouse: Sistema para el almacenamiento y distribucin de cantidades masivas de datos Datos anormales: Datos que resultan de errores (por ej.: errores en el tipeado durante la carga) o que representan eventos inusuales. Dimensin: En una base de datos relacional o plana, cada campo en un registro representa una dimensin. En una base de datos multidimensional, una dimensin es un conjunto de entidades similares; por ej.: una base de datos multidimensional de ventas podra incluir las dimensiones Producto, Tiempo y Ciudad. Modelo analtico: Una estructura y proceso para analizar un conjunto de datos. Por ejemplo, un rbol de decisin es un modelo para la clasificacin de un conjunto de datos Modelo lineal: Un modelo analtico que asume relaciones lineales entre una variable seleccionada (dependiente) y sus predictores (variables independientes). Modelo no lineal: Un modelo analtico que no asume una relacin lineal en los coeficientes de las variables que son estudiadas. Modelo predictivo: Estructura y proceso para predecir valores de variables especificadas en un conjunto de datos. Navegacin de datos: Proceso de visualizar diferentes dimensiones, "fetas" y niveles de una base de datos multidimensional. Ver OLAP. OLAP Procesamiento analtico on-line (On Line Analitic prossesing): Se refiere a aplicaciones de bases de datos orientadas a array que permite a los usuarios ver, navegar, manipular y analizar bases de datos multidimensionales. Outlier: Un item de datos cuyo valor cae fuera de los lmites que encierran a la mayora del resto de los valores correspondientes de la muestra. Puede indicar datos anormales. Deberan ser examinados detenidamente; pueden dar importante informacin. Procesamiento paralelo: Uso coordinado de mltiples procesadores para realizar tareas computacionales. El procesamiento paralelo puede ocurrir en una computadora con mltiples procesadores o en una red de estaciones de trabajo o PCs. RAID: Formacin redundante de discos baratos (Redundant Array of inexpensive disks). Tecnologa para el almacenamiento paralelo eficiente de datos en sistemas de computadoras de alto rendimiento. 192
Regresin lineal: Tcnica estadstica utilizada para encontrar la mejor relacin lineal que encaja entre una variable seleccionada (dependiente) y sus predicados (variables independientes). Regresin logstica: Una regresin lineal que predice las proporciones de una variable seleccionada categrica, tal como Tipo de Consumidor, en una poblacin. Vecino ms cercano: Tcnica que clasifica cada registro en un conjunto de datos basado en una combinacin de las clases del/de los k registro (s) ms similar/es a l en un conjunto de datos histricos (donde k 1). Algunas veces se llama la tcnica del vecino k- ms cercano. SMP Multiprocesador simtrico (Symmetric multiprocessor): Tipo de computadora con multiprocesadores en la cual la memoria es compartida entre los procesadores