Quantcast
Channel: data mining
Viewing all 29 articles
Browse latest View live

Quiterian firma una alianza con AnalayzIT para ampliar la red de distribución de Dynamic Data Web en España

$
0
0
Empresa: 
Quiterian

Quiterian, empresa dedicada al desarrollo de software de Análisis Avanzado de Datos y AnalayzIT, proveedor de servicios y soluciones de análisis de datos, controles y monitorización continua, establecen un acuerdo de distribución de DDWeb

 

Barcelona, 24 de enero de 2011 – Quiterian, responsable del desarrollo de Dynamic Data Web –plataforma de Business Intelligence 2.0 basada en técnicas de Data Mining y Análisis Predictivo, firma un acuerdo estratégico con AnalayzIT. Con sede en Madrid, el nuevo partner de Quiterian cuenta con más de cinco años de experiencia en la implementación de servicios y soluciones de análisis de datos, controles y monitorización continua para áreas tan diversas como la Auditoría, el Cumplimiento Normativo, el Control Interno y de Gestión, la Dirección Financiera, el Riesgo Corporativo o la Detección de Fraudes. De acuerdo con esta alianza entre ambas compañías, AnalayzIT comercializará de ahora en adelante DDWeb como parte de su cartera de servicios y soluciones.

 

Según el CEO de AnalayzIT, Jacobo Bautista, se trata de una oportunidad estratégica que ofrece a los clientes de la cartera de AnalayzIT crecer hacia el BI 2.0, donde Quiterian es líder. “Hemos visto muchas aplicaciones, plataformas, utilidades,…no era sencillo sorprendernos, sin embargo, no necesitamos más de 15 minutos para constatar que Dynamic Data Web de Quiterian era un producto diferencial y de altas prestaciones.”

 

Por su parte, el CEO de Quiterian, Josep Arroyo, destaca el expertise del nuevo partner y pone de manifiesto que el crecimiento de la compañía a nivel nacional es absolutamente complementario a sus planes de expansión internacional. “Pese a que nos hallamos en pleno proceso de internacionalización, esta alianza refuerza nuestro compromiso con el mercado local, en el que no dejaremos de invertir, y nos brinda la oportunidad de hacerlo de la mano de una empresa especializada en ofrecer servicios locales a medida a través de herramientas de primer nivel”, explica Arroyo. Y añade: “Quiterian aporta valor añadido al portfolio de servicios y soluciones de AnalayzIT, ofreciendo a sus clientes una plataforma de BI 2.0 que pone avanzadas técnicas de Data Mining y Análisis Predictivo al servicio de los usuarios del negocio”.

 

De este modo, Quiterian refuerza su red de partners en España, afianzando su apuesta por el mercado nacional, sin dejar de lado el proceso de internacionalización en que la compañía se halla inmersa.

  

Sobre Quiterian

Quiterian es una empresa tecnológica fundada el 2003 por Josep Arroyo, experimentado emprendedor tecnológico.

Quiterian ha desarrollado el software Dynamic Data Web (DDWeb), un innovador software de Business Intelligence para analizar grandes volúmenes de datos al instante. DDWeb incluye avanzadas técnicas de análisis propias del Data Mining, con la particularidad de que por la sencillez y intuitividad de la plataforma, cualquier usuario de negocio puede utilizarla.

Entre sus clientes en España se encuentran empresas líderes en sus sectores (El Corte Inglés, BBVA, La Caixa, Inversis, Telefonica, Vodafone, Orange, Telepizza, Volkswagen, Travel Club, Bayer, Sanofi, Asistència Sanitària Col·legial) así como algunas de las instituciones públicas más avanzadas (Presidencia del Gobierno, Junta de Andalucía, Generalitat de Catalunya, Generalitat de Valencia , Junta de Extremadura, CSIC, Ayuntamiento de Madrid, Ayuntamiento de Bilbao, Metro de Madrid, Metro de Bilbao, ATM, Muface, Muprespa, ENESA, etc.)

Quiterian, con sede en Sant Just Desvern (Barcelona) y que cuenta con oficinas en Madrid, Sevilla, Valencia, Lisboa, Miami y México DF, ha empezado este año 2010 su expansión internacional y ya ha extendido su área de influencia mediante acuerdos estratégicos con partners a Argentina, Brasil, Colombia, Costa Rica, Chile, Venezuela, Estados Unidos, Canadá, Polonia, Oriente Medio, Egipto y Turquía.

Quiterian apuesta por la investigación, el desarrollo de productos innovadores, la globalización y la creación de puestos de trabajo altamente cualificados.

 

Para más información:

www.quiterian.com

Noelia Llorente – Responsable de Comunicación – nllorente@quiterian.com

AdjuntoTamaño
Logo Quiterian.JPG18.22 KB
logo_analayzit.gif8.27 KB

Quiterian signs an alliance with AnalayzIT in order to expand Dynamic Data Web’s distribution network in Spain

$
0
0
Empresa: 
Quiterian

Quiterian, company that developes Advanced Data Analysis software and AnalayzIT, supplier of data analysis services and solutions, testing and continuous monitoring, establish an agreement for DDWeb’s distribution

 

Barcelona, January 24, 2011 – Quiterian, responsible for Dynamic Data Web’s development –Business Intelligence 2.0 platform based on Data Mining and Predictive techniques, signs a strategic agreement with AnalayzIT. With headquarters in Madrid, Quiterian’s new partner counts on more than five years experience in the implementation of data analysis services and solutions, testing and continuous monitoring for such different areas as Audit, Regulations Compliance, Internal and Management Control, Financial Direction, Corporate Risk or Fraud Detection. According to this alliance between both companies, AnalayzIT will commercialize from now on DDWeb as part of its services and solutions portfolio.

 

According to AnalayzIT’s CEO, Jacobo Bautista, this is a strategic opportunity that offers AnalayzIT’s customers to grow towards 2.0 BI, where Quiterian is the leader. “We have seen many applications, platforms, utilities,… it was not simply to be surprised; however, we didn’t need more than 15 minutes to verify the fact that Dynamic Data Web is a differential product and it does offer high performance”.

 

On his part, Quiterian’s CEO, Josep Arroyo, stands out the new partner’s expertise and highlights the fact that the company’s growth in the national market is absolutely complementary to its international expansion plans. “Though we are immersed in an international expansion process, this alliance reinforces our commitment with the local market, where we won’t stop investing, and it brings us the chance of promoting it together with a company that has specialized in offering local and tailor-made services using top level tools”, explains Arroyo. And he adds: “Quiterian provides added value to AnalayzIT’s services and solutions portfolio, offering its customers a 2.0 BI platform that makes advanced Data Mining and Predictive Analysis techniques accessible to all business users”.

 

This way, Quiterian reinforces its network of partners in Spain, enhancing its commitment with the national market, but does not leave its international expansion process aside.

 

 

 

About Quiterian:

Quiterian is a technological company founded in 2003 by Josep Arroyo, experienced technology entrepreneur.

Quiterian has developed Dynamic Data Web (DDWeb), an innovative business intelligence software that analyzes large volumes of data instantly. DDWeb includes advanced Data Mining analysis techniques, but because of the simplicity and intuitiveness of the platform, any business user can use it.

Among its clientsin Spain are leader companies in their sectors (El Corte Inglés, BBVA, La Caixa, Inversis, Telefonica, Vodafone, Orange, Telepizza, Volkswagen, Travel Club, Bayer, Sanofi) and some of the most advanced government institutions (Governments of Andalusia, Catalonia, Valencia, Extremadura, Madrid City Council, Bilbao City Council, Metro of Madrid, Metro of Bilbao, ATM, Muface, Muprespa, ENESA).

Quiterian, based in Sant Just Desvern (Barcelona) with offices in Madrid, Seville, Valencia, Lisbon, Miami and Mexico DF, has started this year 2010 its international expansion and has expanded its area of influence through strategic partnerships with partners in Argentina, Brazil, Colombia, Chile, Costa Rica, Venezuela, United States, Canada, Poland, Middle East, Egypt and Turkey.

Quiterian has a commitment with research, innovative product development, globalization and the creation of highly skilled jobs.

For more information:
www.quiterian.com
Noelia Llorente – Communications Responsible - nllorente@quiterian.com

AdjuntoTamaño
Logo Quiterian.JPG18.22 KB
logo_analayzit.gif8.27 KB

La importancia de las TICs desde la perspectiva de los alumnos y su relación con el rendimiento académico

$
0
0

La Red Martinez, David L., Acosta, Julio, Cutro, Alfonso, Uribe, Valeria E., Rambo, Alice R.

RESUMEN

El relativamente bajo % de alumnos promocionados y regularizados (éxito académico) en Sistemas Operativos de la Licenciatura en Sistemas de Información (LSI) de la Facultad de Ciencias Exactas y Naturales y Agrimensura (FACENA) de la Universidad Nacional del Nordeste (UNNE), motivó un proyecto de investigación del cual este trabajo es una pequeña parte, cuyo objetivo es determinar las variables que inciden en el rendimiento académico, considerando la situación final del alumno según la Res. N° 185/03 CD (régimen de evaluación y promoción): promocionado, regular o libre. Las variables consideradas son: situación del alumno, nivel educacional de los padres, educación secundaria, nivel socio-económico, edad, género, si trabaja y la actitud hacia el estudio y las TICs. En este trabajo se considera especialmente el aspecto relacionado con las TICs. Se utilizaron técnicas de Almacén de Datos (Data Warehouses: DW) y de Minería de Datos (Data Mining: DM), para buscar perfiles de los alumnos y determinar situaciones de éxito o de fracaso académico.

 

Palabras Claves: TICs, Almacén de Datos, Minería de Datos, Clustering, Cluster Demográfico, Rendimiento Académico, Perfiles de Alumnos, Sistemas Operativos.

 

ABSTRACT

The relatively low % of students promoted and regularized (academic success) in Operating Systems Cathedra of the Bachelor's Degree in Information Systems (LSI) of the Faculty of Sciences and Natural Surveying (FACENA) of the Northeast National University (UNNE), has motivated an project research which this work is a small part, whose objective is to determine the variables that affect the academic performance, whereas the final status of the student according to the Res. 185/03 CD (scheme for evaluation and promotion): promoted, regular or free [1]. The variables considered are: status of the student, educational level of parents, secondary education, social and economic level, age, nature, if it works and the attitude towards study and ICTs.This work especially considers ICT aspect. Data Warehouse (DW) and Data Mining (DM) techniques were used, to search for profiles of the students and identify situations of success or failure academic.

 

Keywords: ICTs, Data Warehouse, Data Mining, Clustering, Demographic Cluster, Academic Performance, Student’s Profiles, Operating Systems.



 

1. INTRODUCCIÓN

Tomando como referencia la información oficial de la UNNE [2], la carrera de Sistemas de la FACENA ha registrado una matrícula considerable de alumnos de la UNNE (2005: 4,42%; 2006: 3,93%; 2007: 3,82%; 2008: 3,53%; 2009: 3,34% (aspirantes); 2010: 2,79% (aspirantes)); ha sido la carrera de mayor número de alumnos en la FACENA (2005: 37,64%; 2006: 34,77%; 2007: 33,23%; 2008: 30,32%; 2009: 26,47% (aspirantes); 2010: 24,80% (aspirantes)), la de mayor cantidad de nuevos inscriptos en la FACENA (2005: 33,92%; 2006: 29,89%; 2007: 29,71%; 2008: 38,74%; 2009: 23,70%; 2010: 23,30%) y la que más egresados ha producido en la FACENA (2004: 56,05%; 2005: 41,99%; 2006: 44,02%; 2007: 54,30%; 2008: 46,63%). Estos datos demuestran de manera elocuente la importancia de la carrera de Sistemas (Licenciatura en Sistemas de Información: LSI) de la FACENA de la UNNE.

Un análisis más detallado permite observar los relativamente bajos porcentajes de egresados respecto de nuevos inscriptos en la LSI; estos porcentajes varían si se considera solamente el título terminal de grado (Licenciado en Sistemas de Información) o si además se considera el título intermedio (Programador Universitario de Aplicaciones):

  • Sin considerar el título intermedio: 2005: 4,81%, 2006: 5,27%, 2007: 9,49%, 2008: 5,42%.
  • Considerando el título intermedio: 2005: 21,81%, 2006: 20,22%, 2007: 18,98%, 2008: 15,51%.

Estos porcentajes relativamente bajos en la relación egresados respecto de nuevos inscriptos se observan también considerando a la FACENA y a la UNNE en su totalidad:

  • FACENA: 2005: 17,62%, 2006: 13,73%, 2007: 10,39%, 2008: 12,89%.
  • UNNE: 2005: 22,57%, 2006: 22,11%, 2007: 20,49%, 2008: 22,36%.

Lo señalado en los párrafos precedentes permite afirmar que la relación entre egresados y nuevos inscriptos es en general relativamente baja, y especialmente baja si se considera a la LSI sin los egresados con título intermedio.

 

Las relativamente bajas tasas de egresados respecto de nuevos inscriptos mencionadas en el apartado anterior, que podríamos considerar el “rendimiento académico global” de una Carrera, Facultad o Universidad, se observan también en numerosas asignaturas de la LSI, considerando “rendimiento académico particular” o simplemente “rendimiento académico”, a los resultados de las evaluaciones de los alumnos durante el cursado de una asignatura, y la condición final lograda por los mismos en el marco de la Res. N° 185/03 CD (régimen de evaluación y promoción): promocionado, regular o libre.

 

Para la asignatura Sistemas Operativos los valores de los últimos años son los siguientes:

  • Alumnos promocionados y regularizados respecto de los que rindieron algún examen parcial: 2006: 21,05%, 2007: 32,89%, 2008: 34,86%, 2009: 13,51%.

 

Además se ha observado que un considerable porcentaje de alumnos se inscriben para cursar la asignatura, pero luego de realizar alguna actividad abandonan el cursado (45,45% en el 2009), o se inscriben para cursar y no cursan, es decir no realizan actividad alguna (29,19% en el 2009).

 

Asimismo, reiteradamente se ha observado una escasa concurrencia de los alumnos a las tutorías establecidas para brindarles apoyo en la realización de las diferentes actividades planificadas (teorías, prácticos, laboratorios).

 

Ante la situación mencionada se consideró de gran importancia efectuar una investigación que permita determinar las variables que inciden en el relativamente bajo rendimiento académico de los alumnos de Sistemas Operativos de la LSI de la FACENA de la UNNE, identificar los perfiles de alumnos exitosos (los que promocionan o regularizan la asignatura), como así también los perfiles de alumnos que no lo logran (los que quedan en la condición de libres).Una vez determinados los perfiles de alumnos con bajo rendimiento académico, se podrán encarar acciones tendientes a evitar potenciales fracasos académicos. Para la determinación de los perfiles de alumnos se consideró apropiado utilizar técnicas de DW y DM.

Este artículo se ha estructurado de la siguiente manera: primeramente se planteará el objetivo principal del mismo, luego se hará una muy breve revisión de los principales conceptos involucrados en cuanto a DW y DM, seguidamente se indicará brevemente el software utilizado, para continuar con la metodología seguida y la presentación de algunos resultados obtenidos relacionados con las TICs, para finalizar con las conclusiones y líneas futuras de acción, los reconocimientos y las referencias.

 

2. OBJETIVO PRINCIPAL

El objetivo principal de este trabajo es encontrar perfiles de alumnos por medio de la aplicación de técnicas de DM a un DW con datos académicos, socio económicos y demográficos correspondientes a alumnos de SO de la Licenciatura en Sistemas de Información (LSI) de la FACENA de la UNNE, especialmente desde la perspectiva que de las TICs tienen los alumnos.

 

3. REVISIÓN CONCEPTUAL

Un DW es una colección de datos orientado a temas, integrado, no volátil, de tiempo variante, que se usa para el soporte del proceso de toma de decisiones gerenciales (Kubski, 2005), (Cutro, 2008). Es también un conjunto de datos integrados orientados a una materia, que varían con el tiempo, y que no son transitorios, los cuales soportan el proceso de toma de decisiones de una administración (Inmon, 1992), (Inmon, 1996), (Simon, 1997), (Trujillo, Palomar & Gómez, 2000).

La DM es la etapa de descubrimiento en el proceso de KDD (Knowledge Discovery from Databases), es el paso consistente en el uso de algoritmos concretos que generan una enumeración de patrones a partir de los datos preprocesados (Fayyad, Grinstein & Wierse, 2001), (Fayyad, Piatetskiy-Shapiro, Smith,  & Ramasasmy, 1996), (Han & Kamber, 2001), (Hand, Mannila & Smyth, 2000).

Es también un mecanismo de explotación, consistente en la búsqueda de información valiosa en grandes volúmenes de datos. Está muy ligada a los DW ya que los mismos proporcionan la información histórica con la cual los algoritmos de minería obtienen la información necesaria para la toma de decisiones (Gutiérrez, 2001), (IBM Software Group, 2003).

La DM es un conjunto de técnica de análisis de datos que permiten extraer patrones, tendencias y regularidades para describir y comprender mejor los datos y extraer patrones y tendencias para predecir comportamientos futuros (Simon, 1997), (Berson & Smith, 1997), (Frawley, Piatetsky-Shapiro & Matheus, 1992), (White, 2001).

 

4. SOFTWARE UTILIZADO

Se ha utilizado el IBM Data Warehouse Edition (DWE) V.9.5, que incluye al DB2 Enterprise Server Edition (DB2 ESE), al Design Studio (DS) y al Intelligent Miner (IM), que se han obtenido de la empresa IBM Argentina S.A. en el marco de la Iniciativa Académica de dicha empresa y de los Acuerdos realizados entre la misma y la FACENA de la UNNE (Acuerdo del 18/06/04 D, Res. N° 1417/04 D, Res. N° 858/06 CD).

  

5. METODOLOGÍA SEGUIDA

El presente estudio se realizó sobre datos obtenidos mediante encuestas realizadas al alumnado de SO, considerando además los resultados de las distintas instancias de evaluación previstas durante el cursado de dicha asignatura. Se utilizó un entorno integrado de gestión de bases de datos y data warehouse (DB2 versión 9.5), obtenido de la empresa IBM mediante los Acuerdos firmados entre dicha empresa y la UNNE; dicho entorno permite la extracción de conocimiento en bases de datos y DW  mediante técnicas de DM como ser clustering (o agrupamiento de datos) que consiste en  la partición de un conjunto de individuos en subconjuntos lo más homogéneos posible, el objetivo es maximizar la similitud de los individuos del cluster y maximizar la diferencia entre clusters. El cluster demográfico es un algoritmo desarrollado por IBM  e implementado en el IM, componente del DWE, entorno antes mencionado, que resuelve automáticamente los problemas de definición de métricas de distancia / similitud, proporcionando criterios para definir una segmentación óptima (Grabmeier, & Rudolph, 1998), (Baragoin, Chan, Gottschalk, Meyer, Pereira & Verhees, 2002), (Ballard, Rollins, Ramos, Perkins, Hale, Dorneich, Cas Milner & Chodagam, 2007), Ballard, Beaton, Chiou, Chodagam, Lowry, Perkins, Phillips & Rollins, 2006).

Los pasos realizados durante el presente trabajo han sido los siguientes:

  • Recolección de los datos.
  • Tratamiento y depuración de los datos.
  • Preparación de la base de datos y del DW correspondiente sobre la plataforma de trabajo seleccionada.
  • Selección de la técnica de minería de datos para la realización del estudio (predominantemente clustering).
  • Generación de diferentes gráficos para el estudio de los resultados.
  • Estudio de los resultados obtenidos.
  • Obtención de las conclusiones.

En esta etapa se trabajó con una porción (Data Mart: DMa) del DW, cuya estructura se muestra en la figura 1.

 

6. RESULTADOS OBTENIDOS

Se obtuvieron diferentes clasificaciones mediante la utilización (preferentemente) de técnicas de clustering, según diferentes criterios de agrupación de los datos.

Se utilizó la tabla 1 de nombres y significados de variables.

Seguidamente se muestran algunos de los resultados obtenidos, especialmente en relación con la percepción que de las TICs tienen los alumnos, pregunta a la cual no respondió el 60% de los alumnos, el 20% contestó que facilitan el proceso de enseñanza – aprendizaje, el 12 % consideró que será imprescindible su dominio, y el 8% expresó que son una realidad.

En la figura 2 se muestra la razón para estudiar manifestada por quienes no respondieron la pregunta relativa a la importancia de las TICs. Se observa que el 83% de este grupo no contestó la pregunta referida a la razón para estudiar; el 10% manifestó que estudia para aprender integralmente y el 6% que lo hace para aprender a aprender.

 

Figura 1: Estructura del DMa utilizado, parte del DW.

 

En la figura 3 se muestra el estado civil de quienes no respondieron la pregunta relativa a la importancia de las TICs. Se observa que el 98% de este grupo son solteros y el 2% casados.

 

 Figura 2: Razón para estudiar.

 

En la figura 4 se muestra la importancia concedida al estudio manifestada por quienes no respondieron la pregunta relativa a la importancia de las TICs. Se observa que el 83% de este grupo no contestó la pregunta referida a la importancia de estudiar; el 14% manifestó que concede al estudio más importancia que a la diversión y el 3% que considera al estudio más importante que al trabajo.

En la figura 5 se muestra la situación final del alumno lograda por quienes no respondieron la pregunta relativa a la importancia de las TICs. Se observa que el 48% de este grupo al final del cursado quedó en condición de “libre”; el 29% logró la condición de “regular” y el 23% “promocionó” la asignatura.

En la figura 6 se muestra la razón para estudiar manifestada por quienes consideran que las TICs facilitan el proceso de enseñanza - aprendizaje. Se observa que el 56% de este grupo expresó que la razón para estudiar es aprender integralmente; el 21% manifestó que estudia para aprender a aprender y el 21% que lo hace para aprobar.

En la figura 7 se muestra el estado civil de quienes consideran que las TICs facilitan el proceso de enseñanza - aprendizaje. Se observa que el 91% de este grupo son solteros, el 6% casados y el 3% se encuentra en unión consensual.

 

Figura 3: Estado civil.

Figura 4: Importancia concedida al estudio.

 

En la figura 9 se muestra la situación final del alumno lograda por quienes consideran que las TICs facilitan el proceso de enseñanza - aprendizaje. Se observa que el 70% de este grupo al final del cursado quedó en condición de “libre”; el 15% logró la condición de “regular” y el 15% “promocionó” la asignatura.

 

Figura 5: Situación final del alumno.

 

 

Figura 6: Razón para estudiar.

En la figura 10 se muestra la razón para estudiar manifestada por quienes consideran que será imprescindible el dominio de las TICs. Se observa que el 48% de este grupo expresó que la razón para estudiar es aprender integralmente; el 42% manifestó que estudia para aprender a aprender y el 5% que lo hace para aprobar. 

 

Figura 7: Estado civil.

 

Figura 8: Importancia concedida al estudio.

  

 

Figura 9: Situación final del alumno.

 

 

Figura 10: Razón para estudiar.

 

En la figura 11 se muestra el estado civil de quienes consideran que será imprescindible el dominio de las TICs. Se observa que el 90% de este grupo son solteros y el 10% casados.

En la figura 12 se muestra la importancia concedida al estudio manifestada por quienes consideran que será imprescindible el dominio de las TICs. Se observa que el 71% de este grupo manifestó que concede al estudio más importancia que a la diversión, el 24% que considera al estudio más importante que al trabajo y el 5% que considera al estudio más importante que a la familia.

 

Figura 11: Estado civil.

 

En la figura 14 se muestra la razón para estudiar manifestada por quienes consideran que las TICs son una realidad. Se observa que el 69% de este grupo expresó que la razón para estudiar es aprender integralmente y el 31% manifestó que estudia para aprender a aprender.

En la figura 15 se muestra el estado civil de quienes consideran que las TICs son una realidad. Se observa que el 92% de este grupo son solteros y el 8% divorciados legalmente.

En la figura 16 se muestra la importancia concedida al estudio manifestada por quienes consideran que las TICs son una realidad. Se observa que el 62% de este grupo manifestó que concede al estudio más importancia que a la diversión, el 23% que considera al estudio más importante que al trabajo y el 8% que considera al estudio más importante que a la familia.

 

Figura 12: Importancia concedida al estudio.

 

Figura 13: Situación final del alumno.

 

En la figura 17 se muestra la situación final del alumno lograda por quienes consideran que las TICs son una realidad. Se observa que el 62% de este grupo al final del cursado quedó en condición de “libre”; el 23% logró la condición de “regular” y el 15% “promocionó” la asignatura.

 

Figura 14: Razón para estudiar.

 

 

Figura 15: Estado civil.

 

Figura 16: Importancia concedida al estudio.

 

 

Figura 17: Situación final del alumno.

 

7. CONCLUSIONES Y LÍNEAS FUTURAS

Se ha podido comprobar las grandes ventajas de la utilización de tecnologías y software de última generación que soportan sistemas multiplataforma.

Se hace notar que los resultados mostrados corresponden a sólo una parte de la etapa preliminar de los diversos estudios que se están realizando.

Se destaca que los mayores porcentajes de “éxito académico” (regularizados + promocionados) corresponden a las siguientes categorías respecto de la opinión acerca de las TICs: no contestaron (52% de éxito académico), consideran que las TICs son una realidad (38% de éxito académico), consideran que es imprescindible el dominio de las TICs (34% de éxito académico), consideran que las TICs facilitan el proceso de enseñanza – aprendizaje (30% de éxito académico).

Se tiene previsto desarrollar las siguientes líneas futuras de acción:

  • Avanzar en la investigación con la utilización de minería de datos como ser redes neuronales, redes bayesianas, arboles de decisión, etc., aplicadas al almacén de datos utilizado hasta ahora generalmente con las técnicas de clustering.
  • Aplicar las técnicas de minería de datos utilizadas, pero sobre otras bases de datos de alumnos de otras asignaturas y carreras para comparar los resultados obtenidos.

 

8. RECONOCIMIENTOS

El presente trabajo se encuadra en el Proyecto de Investigación “El Desigual Aprovechamiento de las TICs en el Proceso de Enseñanza – Aprendizaje de los Sistemas Operativos en la FACENA de la UNNE”, acreditado por la Secretaría de Ciencia y Técnica de la UNNE como PI-120-07 (Res. N° 369/08 CS).

 

9. REFERENCIAS

Ballard, Ch.; Beaton, A.; Chiou, D.; Chodagam, J.; Lowry, M.; Perkins, A.; Phillips, R. & Rollins, J. (2006). Leveraging DB2 Data Warehouse Edition for Business Intelligence. IBM International Technical Support Organization. IBM Press. USA.

Ballard, Ch.; Rollins, J.; Ramos, J.; Perkins, A.; Hale, R.; Dorneich, A.; Cas Milner, E. & Chodagam, J. (2007). Dynamic Warehousing: Data Mining Made Easy. IBM International Technical Support Organization. IBM Press. USA.

Baragoin, C.; Chan, R.; Gottschalk, H.; Meyer, G.; Pereira, P. & Verhees, J. (2002). IBM International Technical Support Organization Enhance Your Business Applications. Simple Integration of Advanced Data Mining Functions. IBM Press.

Berson, A. & Smith, S. J. (1997). Data Warehouse, Data Mining & OLAP. Mc Graw Hill. USA.

Bolaños Calvo, B. (2001). Las Nuevas Tecnologías y los Desafíos Teórico – Prácticos en los Sistemas de Educación a Distancia: Caso UNED de Costa Rica. Temática: Universidades Virtuales y Centros de Educación a Distancia. UNED. Costa Rica.

Cutro, A. (2008). Minería de Datos Aplicada a la Encuesta Permanente de Hogares. Trabajo Final de Aplicación de la Licenciatura en Sistemas de Información dirigido por el Prof. David Luis la Red Martínez.Corrientes. Argentina.

Fayyad, U.M.; Grinstein, G. & Wierse, A. (2001). Information Visualization in Data Mining and Knowledge Discovery. Morgan Kaufmann. Harcourt Intl.

Fayyad, U.M.; Piatetskiy-Shapiro, G.; Smith, P.; Ramasasmy, U. (1996). Advances in Knowledge Discovery and Data Mining. AAAI Press / MIT Press. USA.

Frawley, W. J.; Piatetsky-Shapiro, G & Matheus, Ch. J. (1992). Knowledge Discovery in Database An Overview. Al Magazine.

Grabmeier, J. & Rudolph, A. (1998). Techniques of Cluster Algorithms in Data Mining version 2.0. IBM Deutschland Informationssysteme GmbH. GBIS (Global Business Intelligence Solutions). Germany.

Gutiérrez, J. M. (2001). Data Mining, Extracción de Conocimiento en Grandes Bases de Datos. España.

Han, J. & Kamber, M. (2001). Data Mining: Concepts and Techniques. Morgan Kaufmann.

Hand, D.J.; Mannila, H. & Smyth, P. (2000). Principles of Data Mining. The MIT Press. USA.

IBM Software Group. (2003). Enterprise Data Warehousing whit DB2: The 10 Terabyte TPC-H Benchmark. IBM Press. USA.

Inmon, W. H. (1992). Data Warehouse Performance. John Wiley & Sons. USA.

Inmon, W. H. (1996). Building the Data Warehouse. John Wiley & Sons. USA.

Joyanes Aguilar, L. (1997). Cibersociedad. Mc Graw Hill. España.

Kubski, M. (2005). Aplicación Orientada al Descubrimiento de Conocimiento en Bases de Datos. Trabajo Final de Aplicación de la Licenciatura en Sistemas de Información dirigido por el Prof. David Luis la Red Martínez. Corrientes. Argentina.

Peiró, J. M. (2001). Las competencias en la sociedad de la información: nuevos modelos formativos.Centro Virtual Cervantes. España.

Simon, A. (1997). Data Warehouse, Data Mining and OLAP. John Wiley & Sons. USA.

Taquini, A. C. (h). (2001). Educación Superior y Ciberespacio.

Trujillo, J. C., Palomar M. & Gómez, J. (2000). Applying Object-Oriented Conceptual Modeling Techniques To The Design of Multidimensional Databases and OLAP Applications. First International Conference On Web-Age Information Management (WAIM’00). Lecture Notes in Computer Science 1846:83-94.


 

[1]“Promoted” refers to students that to be exempt from the final exam. “Regularized” Refers to students that approve the partial examinations; they test theoretical concepts in the final exam. A student is "Free" when he reproves the partial examinations and he should make again the course or must to test out of the course.

[2] Fuente: Secretaría General Académica UNNE: http://www.unne.edu.ar/institucional/, última consulta: 15/07/10.
 

 

Apara celebra su décimo aniversario ampliando su línea de servicios

$
0
0
Empresa: 
Apara

La compañía Apara, especializada en servicios de consultoría de negocio y Tecnologías de la Información, amplía su línea de servicios centrándose principalmente en cuatro áreas de negocio:  

  • Servicios de Business Intelligence
  • Desarrollo de Tecnologías Móviles
  • Desarrollo de Software
  • Servicios de Outsourcing

Para ello, crea la división Apara Soluciones, respaldada por 10 años de experiencia en el sector tecnológico. Partiendo de su larga trayectoria en el área del Business Intelligence y el Predictive Analytics, Apara decide fortalecer esta línea ampliando sus alianzas y reforzando su equipo de profesionales. Con este fin, crea Centros de Excelenciacapaces de generar elementos de valor añadido y ofrecer un amplio catálogo de servicios para dar respuestas ágiles y eficientes a las distintas necesidades del mercado.

Respecto a su línea de Tecnologías Móviles cabe destacar la reciente integración de la empresa Rigel Mobile Solutions en Apara Soluciones. Más de diez años ofreciendo servicios, soluciones y productos relacionados con las tecnologías móviles avalan la trayectoria de Rigel Mobile Solutions que convierten esta línea en un pilar indispensable en el catálogo de servicios de Apara. La compañía es consciente de que en un sector marcado por una evolución vertiginosa, su compromiso está basado en la adaptación y rápida respuesta para ofrecer resultados eficientes.

Apara Soluciones es especialista en el desarrollo de software. Basando sus desarrollos en metodologías ágiles es capaz de garantizar la calidad del servicio y minimizar así los riesgos. Esta flexibilidad unida a la alta especialización de sus recursos le permite ofrecer desarrollos marcados por la rentabilidad y la rapidez.

Para completar su abanico, Apara Soluciones ofrece servicios de outsourcing dirigidos a incrementar la eficiencia de los procesos de negocio de las empresas. Siempre con el objetivo de mejorar la calidad y reducir los costes operativos de sus clientes.

Tal y como nos comenta Santiago González Lobo, Director General de Apara Soluciones“La idea de ampliar los servicios que ofrece Apara surge como consecuencia de la adaptación continua a las necesidades que nos demanda el mercado. De ahí que hayamos apostado por la especialización de nuestros profesionales para ofrecer un amplio abanico de soluciones basadas en la eficiencia y la innovación”.
 

Apara cumple diez años como compañía, convirtiéndose en este tiempo en todo un referente en el sector tecnológico. Con un crecimiento continuo tiene previsto aumentar su facturación en un 15% para el presente año. La compañía atribuye estos buenos resultados a su estrategia de negocio, basada en la integración de empresas especializadas en cada una de sus áreas de actividad y en la ampliación de nuevos servicios.

 

 

AdjuntoTamaño
apara_amplia_servicios_contenido.png84.12 KB
cuadro_logo_aniversario.png8.42 KB

Séptimas Jornadas Argentinas de Data Mining

$
0
0
fecha: 
25 October, 2012 - 14:00 - 27 October, 2012 - 00:00
Ubicación: 
Buenos Aires, Argentina

 Séptimas Jornadas Argentinas de Data Mining

25 y 26 de Octubre de 2012

 

Horario

Tutorial 1 - Jueves 25 de Octubre

09:00 - 18:00

 

"Sistema de Respuesta a Preguntas: Métodos de Data Mining aplicados al procesamiento de la lengua"

Dr. Horacio Rodríguez

Universidad Politécnica de Cataluña

 

 

Horario

Tutorial 2 - Sábado 27 de Octubre

09:00 - 16:00

 

"Building semantical spaces using Deep Relational Embeddings"

Salah Rifai

University of Montréal

 

El Tutorial será dictado en Español.

 

 

Horario

Jornada - Viernes 26 de Octubre

08:30 - 09:00

Acreditación

09:00 - 09:30

Apertura

09:30 - 10:30

"Uso de técnicas empíricas en el Procesamiento del Lenguaje Natural"

Dr. Horacio Rodríguez

Universidad Politécnica de Cataluña

10:30 - 11:30

"Análisis de redes sociales con Text Analytics"

Alberto Teszkiewicz

SPSS

11:30 - 11:45

Coffee Break

11:45 - 12:45

"Minado de opiniones"

Lic. Ernesto Mislej

DC - FCEyN (UBA)

12:45 - 13:30

"Plataforma para la Identificación de Gene Signatures con poder de pronóstico en cáncer"

Mg. Matías Butti

13:30 - 14:45

Almuerzo
14:45 - 15:30

"Extracción de Información"

Dr. José Castaño

DC - FCEyN (UBA)

15:30 - 16:15

"Minería de Texto utilizando SAS: Text Miner en tres dominios"

Alejandro Renato

SAS

16:15 - 16:30Coffee Break
16:30 - 18:00

Presentaciones de Alumnos de la Maestría en Data Mining - UBA

18:00 - 19:00

"Machine Learning and Knowledge Discovery in Relational Databases"

(La presentación es en Español)

Salah Rifai

University of Montréal

19:00 - 19:30Cierre

 

Mas informacion

http://www-2.dc.uba.ar/materias/mdmkd/jadm/index_1024.html

 

 

 

 

Cómo hacer Social Intelligence con Pentaho?

$
0
0
Tipo de recurso: 
Estudio

 

Social Media, Marketing y Business Intelligence

¿Como hacer Social Intelligence?

¿Cómo podemos unir Social Media, Marketing y Business Intelligence?

 

Estudio Social Media, Marketing y Business Intelligence 

Hemos realizado un amplio estudio sobre cómo hacer Social Intelligence, recogido en el siguiente documento, de descarga gratuita, donde lo explicamos con ejemplos.

Además, tiene su aplicación práctica con el uso de herramientas que usan Business Intelligence Open Source Pentaho. También contamos cómo podemos usar técnicas de Data Mining, para Sentiment Analysis.

Puedes descargar el documento pulsando en la imagen siguiente >>

 

 

Herramienta Social Intelligence Monitor

Hoy en día, podemos hacer Social Intelligence con gran potencia y agilidad utilizando soluciones Open Source, para potenciar nuestro Marketing.

Os contamos como hacerlo con Social Intelligence Monitor

  

Esta herramienta de analítica social dará libertad al profesional para poder analizar los datos desde diferentes dimensiones y requisitos propios:
  • Analizar los "me gustas", "compartidos", "comentarios" por información de los usuarios: ciudad, universidad, deportista favorito, serie de tv...
  • Analizar el sentimiento de los comentarios en Facebook, Twitter o en otros medios de internet: ¿qué han dicho de la compañía? ¿qué han dicho de nuestro Hashtag?
  • Mezclar la información de los clientes de la empresa que reside en el CRM de la misma con los datos de redes sociales. Con ello se conseguirá saber más de los clientes y crear campañas de marketing más dirigidas a los sectores.
  • Clasificar las personas que están interactuando con las campañas de marketing, ¿estas personas son mujeres que les gusta un deportista o son hombres que prefieren peliculas?
  • Y mucho más dependiendo de los indicadores que se quieran analizar!

 

Cuáles son algunos de los beneficios de usar esta herramienta?
  • Identificación efectiva de la visión del consumidor sobre los productos y servicios ofrecidos
  • Creación de ofertas personalizadas basadas en las demandas o gustos de los consumidores
  • Integración con otras áreas de la empresa, optimizando procesos de calidad, cobros, producción y desarrollo.
  • Identificación de mejoras en productos y servicios
  • Implementación de programas de satisfacción
  • Creación de gráficos, informes y cubos analíticos
  • Aumento de la visión de calidad de los servicios

 

AdjuntoTamaño
SocialMedia_BI_Marketing_Spanish.pdf2.08 MB

Potenciando acciones de marketing con data mining

$
0
0

Introducción

El post se divide en la interpretacion de los datos de entrada, el analisis de sus resultados y la extracción de reglas de negocio a lo largo del mismo. Por último se elaboran las conclusiones pero sientase libres realizar las propias. Sin duda, es un tema que requiere de mucho tiempo, sobretodo para el desarrollo de un buen modelo de Clustering, como no es objetivo del Post explicar la realización del mismo, al final hay un link para mas información (Ref. 1)

 

 Este caso es solo una ejemplificación muy resumida de la realidad, que pretende mostrar didacticamente como pueden extraerse algunas conclusiones con herramientas visuales de un modelo ya realizado. Seguramente pueden hallarse muchas más conclusiones... solo es cuestion de seguir los datos con el objetivo que deseen...



Acerca de los datos

Los datos ficticios analizados son de comportamiento bancario, en donde la cantidad de casos son poco más de 800, y cada uno representa una cuenta. Los mismos se encuentran disponibles para su descarga.

 

Las columnas (o variables) de cada  cuenta son las siguientes:
●    Edad: edad del titular de la cuenta    
●    Prom_Cant_compra_por_Mes: promedio de la cantidad de compras que realiza por mes
●    Prom_Monto_compra_por_mes: promedio del monto en u$s que gasta por mes    
●    Limite_Credito: límite de crédito que posee para gastar
●    Ingreso_Mensual: ingreso de u$s mensuales a la cuenta
●    Antiguedad: antiguedad desde la apertura de la cuenta     
●    Cant_Compras: cantidad de compras totales que realizo desde que la cuenta está activa
●    Total_Monto_compra: total de u$s que compró desde que se abrió la cuenta
●    Cluster: Es el cluster o segmento que el modelo data mining generó

 
En total se generaron 3 clusters, el Cluster 1 (C_1) tiene el 38% del total de la cartera, mientras que el  Cluster 2 (C_2) y Cluster 3 (C_3) tienen 51 y 11% respectivamente.

 Cluster de comportamiento bancario

 

Analisis Visual del Modelo

Vamos a empezar analizando una de las variables más comunes: Edad

 

 Análisis visual de un cluster (datamining)

En el gráfico podemos ver la distribución de la edad de acuerdo al cluster al que pertenecen (un tipo de gráfico muy útil por cierto).

Rápidamente y de manera visual podemos  observar que en el Cluster 1 está el segmento de “Jóvenes”, mientras que en el Cluster 3 estan los más “Adultos”. Por último en el Cluster 2 hay tanto Jóvenes como Adultos, lo cual no aporta mucha información.

 

→ Uno de los objetivos que se persigue con estos modelos es que cada segmento tenga características únicas y que lo diferencie del resto.

 
Otra cuestión muy útil para realizar tareas operativas (y que Marketing suele necesitar), es cuantificar, asignarle un valor numérico a “Jóvenes” y otro a “Adultos”: ¿Cuál es el valorque hace que un cliente caiga en una categoria u otra?

Para responder a esta cuestión rápidamente se puede utilizar el gráfico, en que se observa una flecha que separa esta brecha en los 35 años (aproximadamente).
Por lo que vamos viendo el modelo segmentó fuertemente de acuerdo a la edad: “Alguien es Jóven si tiene entre 20 y 35 años, y Adulto si tiene entre 35 y 60 años.”

 

Sin embargo, hace falta hacer este tipo de análisis para todas las variables, para luego armar un informe a la gerencia.

 
Vamos a concentrarnos debido a la acción que desea marketing, en los segmentos C_1 (Jóvenes, marcado con rojo) y C_3 (Adultos, marcado con azul).

Seguimos con otra variable: promedio de u$s que el cliente gasta por mes.
 

Grafica de cluster data mining

 

De nuevo, solamente utilizando el gráfico vemos que el segmento de Jóvenes (C_1) se caracteriza por tener casi todas sus compras por debajo de los u$s 800.
Mientras que los Adultos (C_3 ) gastan entre 800 y 3000 u$s.
 

Hasta aquí hemos podido caracterizar el modelo de clustering de acuerdo a la edad y al consumo mensual. Habiendo decidido quedarnos con los Jóvenes y Adultos, y cuantificando cuanto gasta cada grupo en promedio mensualmente.

 

Por último, y para finalizar nuestro análisis visual para marketing analizaremos la variable Ingresos_Mensuales:
 

Gráfica de Análisis visual para marketing

 

Observamos que el segmento Adultos (C_3) tiene ingresos mensuales entre 4.000 y 12.000 u$s, mientras que el segmento Jóvenes posee ingresos muy similares a los del segmento Adultos, y rondan entre 4.000 y 10.000 u$s.
Este dato puede resultar de mucho interés para marketing ya que significa que el segmento de Jóvenes estaría pudiendo gastar más, y sin embargo no lo hace.

Este comportamiento puede verse en nuestras vidas cuando por ejemplo tenemos dos tarjetas de crédito (emitidas por dos bancos distintos), y tenemos el límite de crédito en una de ellas completamente lleno. Si queremos seguir comprando probablemente empecemos a usar la del otro banco. El 1er banco se está perdiendo de canalizar más de nuestras compras por no tener un límite de crédito acorde a nuestro consumo (y claro está, suponiendo que somos buenos pagadores...)

 

Conclusiones

Podemos observar que existen 2 comportamientos marcados, el del segmento Jóvenes y el de Adultos.

Jóvenes: tienen una edad que oscila entre los 20 y 35 años, un gasto mensual menor a 800 u$s y unos ingresos mensuales que rondan entre los 4.000 y 10.000 u$s.

Adultos: su edad es mayor a 35 años, poseen un gasto mensual mayor a los Jóvenes, rondando entre los 800 y 3.000 u$s, así como también unos ingresos mensuales muy similares: entre 4.000 y 12.000 u$s

La Gerencia de Marketing podrá decidir un precio más adecuado para realizar una promoción en productos que estén acordes al perfil y gasto promedio de cada segmento. Además podrá buscar realizar una campaña de fidelización específica con el segmento Jóvenes ya que si el beneficio para ellos es atractivo, podría resultar en una alta rentabilidad a corto plazo.

 

 
Referencias
●   Ref. 1: Un modelo de clustering agrupa los datos en forma automática de acuerdo a la similitud entre los casos. Cada segmento debería reflejar características únicas que lo diferencie del resto. La técnica utilizada para el ejemplo es el K-Means. Para más información: http://es.wikipedia.org/wiki/Algoritmo_de_agrupamiento

 

AdjuntoTamaño
datos3_es.txt38.15 KB

Como crear una recta de Regresión Lineal en Excel 2010

$
0
0

El tutorial es la continuación (o parte práctica) de: http://www.dataprix.com/blog-it/business-intelligence/mineria-datos/data...

 

Lo primero, es tener el set de datos que deseen de interés abierto en Excel.

En él, seleccionen las dos columnas numéricas que desean analizar, en este ejemplo serán las ‘D’ y ‘E’, hagan lo siguiente:

1) Seleccionen ambas columnas:

Generar recta de regresion con excel

 

2) Vayan a la solapa “Insertar”, y hagan click en “Dispersión”:

Dispersion en excel

  

3) Una vez que les haya creado el gráfico, es momento de crear la recta de regresión lineal:

crear recta de regresion lineal en excel

 

4) Por último se configura la recta seleccionando “Lineal” y tildando la opción de “Presentar el valor de R cuadrado en el gráfico”, se cierra la ventana, y listo!:

Selección de tipo de regresión en Excel

 

5) Obtienen el gráfico:

 

Gráfico de regresion lineal

 

Pueden escribirme a la casilla de Data Prix:  capacitadores.bi@gmail.com por cualquier inquietud o interés en compartir conocimiento en estos temas.

Saludos y hasta la próxima!

 


Data Mining básico: correlaciones, regresiones, mercado de valores y… Excel!

$
0
0

Correlación:

Para explicarlo, empezaremos con un ejemplo: Supongamos un sitio web ficticio que vende productos, y hace descuentos variables con tarjetas de crédito, veremos que a mayor % de descuento mayor es la cantidad de ventas. Esto es una correlación positiva, cuando aumenta una variable (“% Descuento”), aumenta la otra (“Ventas”)

Correlacion negativa

Fig. 1

 

Por el contrario, si en vez de aumentar la cantidad de ventas, disminuyera, esto sería una correlación negativa.
 

¿Por qué es importante el concepto de correlación?

El análisis de correlación nos permite entender como se relacionan variables de nuestro negocio. Siguiendo el ejemplo del sitio web, al CEO le interesará saber cuales son las variables que determinan (o se correlacionan) con un aumento en las compras, mayor visitas al sitio, más tiempo navegando productos, etc.
 

¿Y cómo se mide?

El R2, (R cuadrado), mide el grado de correlación entre variables, (tiene sus particularidades dependiendo del caso de análisis). Es un número que varía entre 0 y 1: Un valor cercano a 0 indica que no hay relación entre las variables, por el contrario si es cercano a 1, indica que si hay relación.
Veamos algunos ejemplos:
 

Correlacion entre variables

Fig. 2

Cada punto representa un cliente,  y vemos  como a medida que aumenta la cantidad de compras, el precio promedio de los productos también aumenta.
En el grafico también se ve que la relación es lineal, si se traza una línea que represente a todos esos puntos, obtendremos lo siguiente:

Grafica R cuadrado

Fig. 3

La recta se construye de tal manera que pase lo “más cerca” de todos los puntos. Además vemos el R2, que es de 0,9 indicando que existe una correlación entre ambas variables.

Analicemos un caso contrario, para poder comparar:

Poca correlacion entre variables

En este caso el R2 da muy bajo, 0.0004, y es lógico viendo el gráfico, ya que a para todas las edades de nuestros clientes, el total vendido se mantiene “bastante” homogéneo… con lo cual podemos concluir que el total comprado en el sitio no depende de la edad del cliente.

 

Regresión:

La recta, se llama formalmente “Recta de Regresión lineal” y aunque parezca muy simple, es un Modelo de Data Mining! Por ejemplo, si nos basamos en la Fig. 3, podríamos influenciar a nuestros clientes con campañas de descuento para que los que compran 2 veces, empiecen a comprar 3.

Basándonos en el gráfico, podemos decir que pasarían a gastar u$s 50 más en promedio por producto. Esto surge de ver que los que compran 2 veces gastan u$s 200 mientras que los que compran 3 veces lo hacen por u$s 250 en promedio. Con esto podemos generar algunos escenarios “Si aumenta 1 vez la cantidad de compras, entonces la rentabilidad del negocio aumentara ‘X’ veces”
 

Ejemplo del Mercado de Valores: 

En el gráfico podemos ver como varia el varía el volúmen de la acción S&P para los últimos 5 años.

Obteniendo los datos de esa serie puede hacerse una recta de regresión, y podríamos (a modo didáctico) ver cuál es el crecimiento aproximado de la acción para el mes que viene. A estos modelos se los llama Forecasting Time Series

Para el que quiera saber como descargar datos de la bolsa usando Excel, acá un post que redacte hace un tiempo:  http://capacitaciones-bi.blogspot.com.ar/2013/02/obtener-datos-historicos-del-mercado-de.html
 

Hágalo Ud. mismo, en Excel!

Para poder hacer una explicación más didáctica, es entretenido hacerlo uno mismo, por eso pueden analizar los datos de su propio negocio en menos de 10 minutos, e ir descubriendo algunas relaciones que mejoren sus ingresos. Si bien es muy básico, es un punto de partida…

Para ello cree otro post con el paso a paso: http://www.dataprix.com/blog-it/business-intelligence/mineria-datos/como-crear-recta-regresion-lineal-excel-2010

--
Si quieres visitar otro post de análisis de data mining en Data Prix: http://www.dataprix.com/blog-it/business-intelligence/mineria-datos/potenciando-acciones-marketing-data-mining

Pueden escribirme a la casilla de Data Prix:  capacitadores.bi@gmail.com por cualquier inquietud o interés en compartir conocimiento en estos temas.

Saludos y hasta la próxima!
 

Data mining: correlación entre variables (caso en SAS)

$
0
0
 
Dentro de las actividades habituales en minería de datos, se encuentra el estudio de correlaciones entre variables. En este post vamos a realizar un ejemplo sencillo de estudio de correlación entre variables realizado con la herramienta SAS.

 

Correlación entre variables
 
 
Nuestro conjunto de datos de entrada es el que se muestra a continuación y nuestro objetivo es determinar si existe correlación entre las variables var1 y var2.
 
var1
var2
1

6
2

9
3

10
4

12
5

16
6

18
7

19
8

21
9

22
10

24
11

29
12

30
13

34
14

32
15

39
16

38
17

40
18

44
19

48
20

46
 
En primer lugar utilizamos el procedimiento proc corr de SAS con objeto de obtener la matriz de correlación entre las 2 variables.
 
proccorroutp=tabla outs=correl;
var var1 var2;
run;
 
MEAN
 
10.5
26.85
STD

 

59.160.797.831

13.031.439.715
N

 

20

20
CORR

var1

1

0.9954887218
CORR

var2

0.9954887218

1
 
En la matriz se obtiene el coeficiente de correlación de Pearson que al ser mayor que cero indica que existe una correlación positiva y al ser próxima a 1, indica que la correlación es fuerte.
 
Una vez detectada la correlación, el siguiente paso es obtener qué tipo de relación existe entre las variables. Como primer paso pintamos un gráfico con var2 en el eje-y y var1 en el eje-x, utilizando el procedimiento proc gplot.
 
procgplotdata=tabla;
plot var2*var1;
run;
 
Salida del procedimiento:
 

Correlación entre variables con SAS

 
El gráfico muestra una posible relación lineal, de modo que utilizamos el procedimiento proc reg, con objeto de obtener los coeficientes de la regresión lineal.
 
procregdata=tabla;
model var2=var1;
run;
 
Salida del procedimiento: 
 
The REG Procedure
Model: MODEL1
Dependent variable: var2

Number of Observations Read

20

Number of Observations Used

20
 

Analysis of Variance

Source

DF

Sum of Squares

Mean Square

F Value

Pr > F

Model

1

3190.06353

3190.06353

1573.77

<.0001

Error

18

36.48647

2.02703

 

 

Corrected Total

19

3226.55000

 

 

 
 

Root MSE

1.423737

R-Square

0.988692

Dependent Mean

26.850000

Adj R-Sq

0.988064

Coeff Var

5.302557

 
 

Parameter Estimates

Variable

DF

Parameter Estimate

Standard Error

t Value

Pr > |t|

Intercept

1

3.85263

0.66137

5.83

<.0001

var1

1

2.19023

0.05521

39.67

<.0001
 
Obtenemos como resultado la siguiente regresión lineal:
 
var2 = 2,19*var1 + 3,85
 
Lógicamente los pasos a dar una vez detectada una correlación entre variables dependerá del tipo de relación que hayamos detectado.

 

Do you think social media analytics are a relevant indicator of the election trends?

$
0
0

 

 

 Data2Action is an agile data mining platform with integrated components for rapid application development. 

One deliverable of Data2Action is SAM, for Social Analytics and Monitoring. 

With the upcoming Belgian Elections of the 25th May 2014, we are analysing tweets 

in Belgium and will publish the results on our blog ba4bi.blogspot.be 

We wonder what your ideas are on the predictibility of Twitter analytics. 

Give us your comments in English or in Spanish, we will be happy to reply.

Responda en castellano o en inglés, coma quiera!

 

Kind regards,

Y muchas gracias de antemano,

 

Bert Brijs

 

 

 

 

Data mining: análisis discriminante (caso en SAS)

$
0
0

En el presente post mostramos un sencillo ejemplo de análisis discriminante en SAS que puede servir para analizar relaciones entre variables en un conjunto de datos. En el caso que vamos a estudiar, este análisis permite discriminar qué variable de las que caracteriza a un conjunto de clientes tiene más peso en la tasa de bajas.

Análisis discriminante para analizar relaciones entre variables

El análisis discriminante es una técnica estadística multivariante cuya finalidad es describir (si existen) las diferencias entre grupos de objetos sobre los que se observan determinadas variables (variables discriminantes).

Los dos principales usos del análisis discriminante son la clasificación de objetos en grupos preestablecidos y la identificación de variables descriptivas que mejor definan la pertenencia a grupos.

En nuestro ejemplo tenemos una tabla con un listado de clientes en el que una variable de tipo flag (0,1) indica si el cliente ha sido baja (1) o permanece en cartera (0) en el último mes. Se incluyen otras variables que caracterizan al cliente, aunque nos vamos a centrar en las siguientes:

 

Compromiso (0/1): indica si el cliente tiene(1) o no (0) compromiso de permanencia en base a una acción comercial que haya realizado en el pasado (ejemplo: descuento, subvención a productos comprados).

Antiguedad: meses de antigüedad del cliente.

Consumo_medio: consumo medio en los últimos tres meses.

Edad: edad del cliente

 

El objetivo es ver qué variable es más discriminante para agrupar los clientes en bajas(1) o cartera(0) , con objeto de conocer qué variables tienen más peso en la tasa de bajas.

Para realizar el análisis dicriminante empleamos el procedimiento ‘proc discrim’.

 

procdiscrim

       data=bajas /* tabla de entrada */

       method=normal

       pool=yes

       slpool=0.001

       posterr

       out=results; /* tabla de salida */

class baja; /* variable que define los grupos 0 o 1 */

var compromiso consumo_medio antiguedad edad; /* variables de estudio para discriminación en grupos */

run;

 

La salida del procedimiento es la siguiente:

The SAS System

The DISCRIM Procedure


Observations


1000


DF Total


999


Variables


4


DF Within Classes


998


Classes


2


DF Between Classes


1

 


Class Level Information


baja


Variable Name


Frequency


Weight


Proportion


Prior Probability


0


0


751


751.0000


0.751000


0.500000


1


1


249


249.0000


0.249000


0.500000

 


Pooled Covariance Matrix Information


Covariance Matrix Rank


Natural Log of the Determinant of the Covariance Matrix


4


15.67471

 



The SAS System

The DISCRIM Procedure

 

Generalized Squared Distance to baja


From baja


0


1


0


0


1.03050


1


1.03050


0

 


Linear Discriminant Function for baja


Variable


0


1


Constant


-6.77361


-7.71848


compromiso


1.91613


4.11155


consumo_medio


0.06185


0.05995


antiguedad


0.18956


0.18389


edad


0.14238


0.13745

 

Centrándonos en la última tabla del output de SAS (del cual ponemos aquí sólo un extracto) podemos observar como la variable compromiso es la que más variación tiene entre los valores 0 o 1 en la variable baja, mientras que el resto de variables no presentan el mismo nivel de variación. Como era de esperar la variable compromiso es la más discriminante de cara a evaluar tasas de baja.

Lógicamente, se puede profundizar en este análisis discriminante, el objetivo de este post es la realización de una comprobación previa que nos pueda servir para evaluar de forma rápida qué variable tiene más peso en la tasa de bajas.

 

sasybi.blogspot.com.es

 

Segmentación de clientes: proceso de clusterización (caso en SAS).

$
0
0

En este post vamos a realizar un ejemplo de segmentación de datos de clientes, empleando un proceso de clusterización, concretamente el procedimiento proc fastclus de SAS.

 Segmentación de datos de clientes

Este procedimiento realiza agrupamiento de datos basándonse en el algoritmo k-medias. Este algoritmo, es un método de agrupamiento, que tiene como objetivo la partición de un conjunto de n observaciones en k grupos en el que cada observación pertenece al grupo más cercano a la media.

En nuestro caso, tenemos una tabla de clientes con el consumo medio realizado por los clientes en los últimos tres meses. El consumo medio está entre 0 y 50 euros, y vamos a generar 5 grupos  de clientes, entorno a 5 valores medios de consumo medio.

 Consumo medio de clientes

 El algoritmo k-means es iterativo de forma que tenemos que indicar en el procedimiento el número máximo de iteraciones.

 Utilizamos el procedimiento proc fastclus, indicamos el número de grupos a realizar en el parámetro maxc y el número máximo de iteraciones en maxiter. La tabla de entrada es clientes y la tabla de salida cluster_clientes, la variable que contiene el consumo medio en los últimos tres meses es arpu_m.

 

procfastclusdata=clientes maxc=5maxiter=100out=cluster_clientes replace=random;

var arpu_m;

run;  

 

En la tabla de salida se crea un campo adicional (cluster) que indica el grupo en el que queda clasificado el cliente y la distancia al valor medio de ese grupo (distance).

Clasificación de clientes 

 

Como validación, hacemos un agregado que nos permite ver el valor medio y la desviación media en ese grupo.

procsql;

createtable res as

(select cluster, count(*) as num_clientes, avg(arpu_m) as arpu_medio, avg(distance) as desv_media

from cluster_clientes

groupby cluster);

quit;

 

Vemos en la tabla resumen, los grupos generados, el número de clientes que cae en cada grupo, el valor medio y la desviación media.

 

 

Mostrarmos una gráfica la distribución de los grupos: 

procgplotdata=cluster_clientes;

       plot arpu_m*id_cliente = cluster;

run;

 

Grafica de distribución de grupos de clientes

 

Hay otros procedimientos de clusterización en SAS también basados en el algoritmo k-medias como: proc cluster.

 

Lógicamente se trata de un ejemplo sencillo, el proceso de clusterización se puede complicar mucho más, de entrada podemos hacer más grupos modificando el parámetro maxc ,podemos incluir más variables parámetro var en la agrupación y existen muchos otros parámetros (ejemplo inclusión de semillas) para modificar el proceso de clusterización.

 

sasybi.blogspot.com

 

SAS, SPSS y R: Ejemplos de componentes para tratamiento de datos. Equivalencias entre herramientas

$
0
0

 

Existen en el Mercado numerosas herramientas para tratamiento de datos. En este post, nos vamos a centrar en algunas de las más utilizadas: SAS, SPSS y R. Sin entrar a valorar la mejor o peor adecuación de cada una de ellas al tipo de proyecto en el que trabajemos, sus ventajas o sus inconvenientes,  lo que es evidente es que son tres herramientas muy extendidas.  

 

Equivalencias entre SAS, SPSS y R

 

En este post, mostraremos ejemplos de manipulación de datos en las tres herramientas, con hasta 19 casos comunes de manipulación de datos (lecturas, ordenaciones, filtrados, uniones, cruces, exportaciones, etc..), con objeto de tener el mismo código traducido a las tres herramientas. Estos ejemplos pretenden ser de ayuda para que usuarios de una de las tres herramientas puedan empezar a conocer las otras dos o también como ayuda en un proyecto de migración de procesos de una herramienta a otra.

 

Ejemplo 1. Obtener datos de una BBDD vía ODBC:

 

SAS:

proc sql;

connect to odbc(dsn=dm_demo uid=user pwd=****);

create table tabla1 as

select *

from connection to odbc(

select *

from tabla_bbdd

);

quit;

 

SPSS:

*tabla1.sps.

GET DATA /TYPE=ODBC /CONNECT=

'DSN=MS Access Database;DBQ=/examples/data/dm_demo.mdb;'+

'DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;'

/SQL = 'SELECT * FROM tabla_bbdd'.

EXECUTE.

 

R:

library(RODBC)

conndb <- odbcConnect("dsn1", uid = "user", pwd = "****")

tabla1 <- sqlQuery(conndb,"SELECT * FROM tabla_bbdd").

 

Ejemplo 2. Lectura fichero Excel (.xls):

 

SAS:

 

proc import datafile='C:\temp\datos_excel.xls'

dbms=excel2000 replace out=tabla_excel;

sheet="Hoja1";

range="A2:I15";

getnames=yes;

run;

 

SPSS:

GET DATA

/TYPE=XLS

/FILE='C:\temp\datos_excel.xls'

/SHEET=NAME 'Hoja1'

/CELLRANGE=RANGE 'A2:I15'

/READNAMES=on .

 

R:

tabla_excel <- read.table("C:/temp/datos_excel.csv", header=TRUE, sep=";", na.strings="NA", dec=".", strip.white=TRUE)

 

 

 

Ejemplo 3. Lectura fichero plano (txt):

 

SAS:

 

data tabla_entrada;                                                                                                                           

      infile 'C:\temp\entrada.txt' dlm = ';'                                                                                               

      input  cod_cliente:8. des_cliente:$20.;                                                                                                            

run; 

 

SPSS:

 

GET DATA /TYPE = TXT

/FILE = 'C:\temp\entrada.txt'

/DELIMITERS = ";"

/QUALIFIER = '"'

/ARRANGEMENT = DELIMITED

/FIRSTCASE = 2

/VARIABLES = cod_cliente F1 des_cliente A20

 

 

R:

 

tabla_entrada <- read.table("C:/temp/entrada.txt", header=FALSE, sep=";", na.strings="NA",

  dec=".", strip.white=TRUE)

nombres<-c("cod_cliente","des_cliente")  /* nombres de los campos */

names(tabla_entrada)<-nombres

 

 

Ejemplo 4. Crear tabla:

 

SAS:

 

data tabla1;

input cod_cliente des_cliente $  arpu  ;

datalines;

1 JVG 25

2 PAF 40

3 AAG 35

;

run;

 

 

SPSS:

 

DATA LIST LIST / cod_cliente des_cliente (A10) arpu.

BEGIN DATA.

1 JVG 25

2 PAF 40

3 AAG 35

END DATA.

 

SAVE OUTFILE = "tabla1.sav".

LIST.

 

 

R:

 

cod_cliente <- c(1,2,3)

des_cliente <- c("JVG","PAF","AAG")

arpu <- c(25,40,35)

tabla1 <- data.frame(cod_cliente, des_cliente, arpu)

 

 

Ejemplo 5. Cruce de tablas (merge):

 

SAS:

 

proc sort data=tabla1;

by cod_cliente;

run;

 

proc sort data=tabla2;

by cod_cliente;

run;

 

data tabla_merge;

merge tabla1 tabla2;

by cod_cliente;

run;

 

 

SPSS:

 

GET FILE='C:\temp\tabla1.sav'.

SORT CASES BY cod_cliente.

DATASET NAME tabla1

GET FILE='C:\temp\tabla2.sav'.

SORT CASES BY cod_cliente.

DATASET NAME tabla2.

MATCH FILES /FILE=*

/FILE='tabla1'

/FILE='tabla2'

/BY cod_cliente.

EXECUTE.

 

R:

tabla_merge <- merge(tabla1, tabla2, all=FALSE, by="cod_cliente")

 

 

Ejemplo 6. Unir dos tablas (append):

 

SAS:

 

data tabla_union;

set tabla1 tabla2;

run;

  

SPSS:

 

ADD FILES

/FILE = 'C:\temp\tabla1.sav'

/FILE = 'C:\temp\tabla2.sav'

EXECUTE.

SAVE OUTFILE = 'C:\temp\tabla_union.sav'.

  

R:

 

tabla_union  <- rbind(tabla1,tabla2)

 

 

Ejemplo 7. Obtener agregados:

 

SAS:

 

proc summary data=tabla1 noprint nway;

   class cod_cliente ;

   output out=tabla_ag(drop=_type_ _freq_)

   sum(arpu) = suma_arpu mean(arpu) = media_arpu ;

run;

 

 

SPSS:

 

aggregate outfile 'c:\temp\tabla_ag.sav'

 /break cod_cliente

 /suma­_arpu = sum(arpu).

 /media_arpu = mean(arpu)

get file 'c:\temp\tabla1.sav'.

list.

 

 

R:

tabla_ag <- aggregate(tabla1["arpu"], by=list(cod_cliente=tabla1$cod_cliente), FUN=sum)

 

 

Ejemplo 8. Eliminar duplicados:

 

SAS:

 

proc sort data=tabla1 nodupkeys;

by cod_cliente;

run;

 

 

SPSS:

 

GET FILE='C:\temp\tabla1.sav'.

SORT CASES BY cod_cliente .

MATCH FILES /FILE = *

/BY cod_cliente /LAST = ultimo .

FILTER BY ultimo .

EXECUTE.

 

R:

 

tabla1_uniq <- unique(tabla1)

 

 

Ejemplo 9. Recodificación variables:

 

SAS:

 

data tabla2;

set tabla1;

if arpu >= 0 and arpu <= 10 then do;

       grupo_arpu = 1;

end;

else do;

       if arpu > 10 and arpu <= 20 then do;

             grupo_arpu = 2;

       end;

       else do;

             grupo_arpu = 3;

       end;

end;

run;

 

SPSS:

 

GET FILE='C:\temp\tabla1.sav'.

RECODE arpu (lo thru 10=1) (11 thru 20=2) (21 thru hi=3) into grupo_arpu.

COMPUTE.

SAVE OUTFILE = 'C:\temp\tabla2.sav'.

 

R:

 

tabla1$grupo_arpu[tabla1$arpu>=0 & tabla1$arpu <= 10 ] <- 1

tabla1$grupo_arpu[tabla1$arpu>10 & tabla1$arpu <= 20 ] <- 2

tabla1$grupo_arpu[tabla1$arpu>20 ] <- 3

 

 

Ejemplo 10. Renombrar variables:

 

SAS:

 

data tabla1(rename=(cod_cliente=id_cliente));

set tabla1;

run;

 

 

SPSS:

 

GET FILE='C:\temp\tabla1.sav'.

RENAME VARIABLES (cod_cliente = id_cliente).

EXECUTE.

SAVE OUTFILE = 'C:\temp\tabla2.sav'.

 

R:

colnames(tabla1)[colnames(tabla1)=="cod_cliente"] <- "id_cliente"

  

Ejemplo 11. Funciones aritméticas:

 

SAS:

 

data tabla_num;

input var1-var4;

resto= mod(var4,3);

media = mean(of var1-var4);

media_ent = int(media);

cards;

1 . 3 4

5 6 7 8

9 . . 12

;

run;

 

 

SPSS:

 

DATA LIST LIST (",") /var1 var2 var3 var4.

BEGIN DATA

1, , 3, 4

5, 6, 7, 8

9, , , 12

END DATA.

COMPUTE resto = MOD(var4, 3).

COMPUTE media = MEAN.3(var1, var2, var3, var4).

COMPUTE media_ent = TRUNC(MEAN(var1 TO var4)).

EXECUTE.

SAVE OUTFILE = 'C:\temp\tabla_num.sav'.

 

R:

  

tabla1$media <- (tabla1$var1 + tabla1$var2 + tabla1$var3 + tabla1$var4)/4

tabla1$resto <- tabla1$var4 %% 3

tabla1$media_ent <- trunc(tabla1$media)

 

 

Ejemplo 12. Funciones tratamiento texto:

 

SAS:

 

data tabla_car;

length cadena $50.

set tabla_num;

cadena = cat(var1,"-",var2,"-",var3);

run;

 

SPSS:

 

GET FILE='C:\temp\tabla_num.sav'.

STRING cadena (A50).

COMPUTE cadena =

CONCAT((STRING(var1)), "-",(STRING(var2)), "-",(STRING(var3))).

EXECUTE.

SAVE OUTFILE = 'C:\temp\tabla_car.sav'.

 

R:

 

tabla1$cadena = paste(tabla1$var1, tabla1$var2, tabla1$var3, sep='-')

 

Ejemplo 13. Tratamiento de fechas:

 

SAS:

 

data fechas;

infile cards ;

input fecha_inicio : MMDDYY10. fecha_fin : MMDDYY10.;

dias=fecha_fin-fecha_inicio;

cards;

3/01/2014 4/06/2014

3/02/2014 4/06/2014

3/06/2014 4/06/2014

;

run;

 

SPSS:

 

DATA LIST LIST

/fecha_inicio (ADATE12) fecha_fin (ADATE12)

BEGIN DATA

3/01/2014 4/06/2014

3/02/2014 4/06/2014

3/06/2014 4/06/2014

END DATA.

COMPUTE dias = CTIME.DAYS(fecha_fin – fecha_inicio).

EXECUTE.

SAVE OUTFILE = 'C:\temp\fechas.sav'.

 

R:

 

fecha_ini <- c(as.Date('03/01/2014',format='%d/%m/%Y'),as.Date('03/02/2014',format='%d/%m/%Y'),as.Date('03/06/2014',format='%d/%m/%Y'))

fecha_fin <- c(as.Date('04/06/2014',format='%d/%m/%Y'),as.Date('04/06/2014',format='%d/%m/%Y'),as.Date('04/06/2014',format='%d/%m/%Y'))

tabla_fecha <- data.frame(fecha_ini, fecha_fin)

tabla_fecha$dias = tabla_fecha$fecha_fin - tabla_fecha$fecha_ini

 

 

 

Ejemplo 14. Filtrado de datos (where):

 

SAS:

 

data tabla_filtro;

set tabla1;

where arpu > 10;

run;

 

SPSS:

 

GET FILE='C:\temp\tabla1.sav'.

SELECT IF(arpu > 10).

SAVE OUTFILE='C:\temp\tabla_filtro.sav'.

EXECUTE.

 

R:

 

tabla_filtro <-subset(tabla1, arpu > 10)

 

 

Ejemplo 15. Selección de variables (keep):

 

SAS:

 

data tabla_keep (keep = cod_cliente arpu);

set tabla1;

run;

 

SPSS:

 

GET FILE='C:\temp\tabla1.sav'.

SAVE OUTFILE='c:\temp\tabla_filtro.sav' /KEEP=cod_cliente,arpu.

EXECUTE.

 

R:

 

tabla_keep <- tabla1[c("cod_cliente", “arpu”)]

 

Ejemplo 16. Ordenar tabla (sort):

 

SAS:

 

proc sort data=tabla1 out=tabla_ord;

by cod_cliente;

run;

     

 

SPSS:

 

GET FILE='C:\temp\tabla1.sav'.

SORT CASES BY ID_CLIENTE.

SAVE OUTFILE='c:\temp\tabla_ord.sav'.

EXECUTE.

 

R:

 

tabla_ord  <-  tabla1[order(tabla1$cod_cliente, ]

 

Ejemplo 17.  Estructuras condicionales (if):

 

SAS:

 

data tabla1;

set tabla1;

if arpu <= 10 then arpu_g = 1; else arpu_g = 2;

run;         

 

SPSS:

 

GET FILE=("c:\temp\tabla1.sav")

COMPUTE arpu_g=2.

IF (arpu <= 10 ) arpu_g=1.

SAVE OUTFILE='c:\temp\tabla1.sav'.

EXECUTE.

 

R:

 

tabla_sal$arpu_g <- ifelse( arpu >= 10, 1,2)

 

Ejemplo 18.  Exportar a fichero plano (txt):

 

SAS:

 

data _null_;                                                                                                                           

set  tabla1;                                                                                                                         

file 'C:\temp\salida.txt' ;

informat cod_cliente 8. arpu 8.;                                                                                                   

put cod_cliente arpu;                                                                                                                  

run; 

 

SPSS:

 

GET FILE=("c:\temp\tabla1.sav")

SAVE TRANSLATE

OUTFILE='C:\temp\salida.txt'

/TYPE=TAB

/MAP

/REPLACE

/FIELDNAMES

/CELLS=VALUES.

     

R:

 

write.table(tabla1, file = "C:/temp/salida.txt")

 

Ejemplo 19.  Exportar a csv:

 

SAS:

 

proc export data=tabla1

outfile="C:\temp\salida.csv"

dbms= csv replaces;

putnames=yes;

run;

      

SPSS:

 

GET FILE=("c:\temp\tabla1.sav")

SAVE TRANSLATE

OUTFILE='C:\temp\salida.csv'

/TYPE=CSV

/MAP

/REPLACE

/FIELDNAMES

/CELLS=VALUES.

 

R:

write.csv(tabla1, file=" C:/temp/salida.csv";)

 

sasybi.blogspot.com.es/2014/07/formacion-medida-en-r.html

Tutorial de SAS

$
0
0

En el siguiente link se incluye un tutorial de SAS/BASE que pretende ser de utilidad para todos aquellos que se inician en el uso de esta herramienta.

Tutorial SAS/BASE    

 

 

SAS/BASE es un lenguaje 4GL propio de la plataforma de Business Intelligence SAS. Puede utilizarse en la práctica totalidad de los productos de SAS y dota a la herramienta de un alto grado de flexibilidad.

 

SAS/BASE centro de la plataforna B.I. de SAS

 

Se pueden encontrar más ejemplos y ejercicios sobre el lenguaje SAS/BASE en el siguiente link;

 

sasybi.blogspot.com.es/2014/07/formacion-medida-en-r.html

 

AdjuntoTamaño
Curso - Introducción al lenguaje SAS BASE799 KB

Jornadas de R

$
0
0

Los pasados días 23 y 24 de octubre tuvieron lugar las Jornadas R.

El uso del paquete estadístico R es cada vez más extendido y empieza a estar en el toolkit de muchos data scientists.

En estas jornadas de usuarios de R a parte de aprender R, es una oportunidad (gratuita) de conocer lo que la comunidad de usuarios está haciendo con la herramienta.

Hubo talleres y ponencias muy interesantes, tanto del ámbito universitario como empresarial. Pudimos conocer experiencias desde investigadores en genética a data sientists de Ebay, pasando por bioestadísticos y especialistas en riesgo de crédito. Muy interesante y además en Galicia. 

 

En el siguiente link se encuentran todas las ponencias y videos:

r-es.org/Programa+de+las+VI+Jornadas

Dar la enhorabuena a los organizadores por su impecable trabajo.

 

Reseña de 'Haskell Data Analysis Cookbook'

$
0
0

El libro Haskell Data Analysis Cookbook, de Nishant Shukla, hace un recorrido por las principales técnicas y algoritmos de análisis de datos utilizando el potente lenguaje open source Haskell para proporcionar numerosos ejemplos o recetas para implementarlas. En este post explicaré qué enseñan las recetas que contiene cada capítulo de este completo libro de analítica de datos.

Haskell Data Analysis Cookbook

  • El libro arranca mostrando cómo comenzar a utilizar el lenguaje importando datos desde diferentes fuentes, como ficheros de texto planos, ficheros en formato CSV, JSON, XML, páginas web HTML, o bases de datos como SQLite o MongoDB. También se menciona cómo enfocar el tratamiento de errores, en este caso de entrada/salida con Haskell.
     
  • El capítulo Integrity and Inspection, ya cubre aspectos de limpieza y tratamiento de datos que ayudan a preparar los datos para obtener después mejores resultados en los procesos de analítica que se vayan a aplicar. Se muestra cómo eliminar espacios en blanco innecesarios, ignorar signos de puntuación y otros caracteres irrelevantes, tratar entradas vacías o con contenido no 'esperado', comparar registros con expresiones regulares, parsear direcciones de email, o deduplicar registros, explicando incluso cómo definir una estrategia para tratar casos conflictivos como dos registros a fusionar que contengan diferentes valores útiles en uno de sus campos.
     
  • Se explica también cómo utilizar librerías de Haskell para implementar una tabla de frecuencia para ayudar después en la detección de excepciones (outliers), cómo implementar algoritmos de distancia entre puntos, como el de Distancia de Manhattan o el de Distancia Euclidiana, y cómo comparar datos en función de su tendencia con el coeficiente de correlación de Pearson, o datos con una alta dispersión con comparaciones de similitud de cosenos.
     
  • El tercer capítulo, 'The Science of Words', se dedica al tratamiento de strings, proporcionando ejemplos de cómo hacer cambios de base para preparar strings para tratamientos numéricos, cómo hacer búsquedas de substrings con diversos algoritmos, cómo separarlos en palabras, líneas u otros tokens, o cómo obtener una versión fonética en código Soundex o Phoenix. Todas estas técnicas sirven para preparar los strings para, finalmente, poder realizar comparaciones de similitud como buscar la subsecuencia común de mayor longitud, calcular la distancia de Levenshtein, o la distancia de Jaro-Winkler entre strings. Para seleccionar los strings más parecidos de un conjunto, por ejemplo, se pueden agrupar todos los que entre ellos devuelven una distancia de Levenshtein, o edit distance de uno. La última receta del capítulo es un ejemplo práctico que combina algunas de las técnicas anteriores para implementar un sencillo corrector de errores tipográficos que detecta errores selecciona el mejor candidato para la corrección.
     
  • El cuarto capítulo está dedicado por completo a técnicas y funciones de Data Hashing, que se pueden aplicar en diversos algoritmos criptográficos, o para la optimización de búsquedas y ordenaciones. Se incluyen ejemplos de utilización de las funciones de CityHash de Google, e incluso de una librería de Geohash para coordenadas geográficas. El último ejemplo muestra cómo medir la similitud entre dos imágenes utilizando una combinación de algoritmos de Hash y de distancia entre datos.
     
  • El quinto capítulo, 'The Dance with Trees', trata sobre la creación y utilización de estructuras de árbol (trees), para el análisis, clusterización y clasificación de datos. Contiene ejemplos de creación de una gran variedad de trees, como árboles binarios, árboles multicamino, árboles de búsqueda en profundidad (DFS), de búsqueda en anchura (BFS), de búsqueda binaria, árboles autobalanceados y árboles Huffman.
     
  • El capítulo seis, 'Graph Fundamentals', continúa en la tónica del capítulo anterior, pero ahora aplicada a la construcción y utilización de grafos, estructuras más complejas, de las que la de árbol es un tipo concreto, y que permiten representar estructuras de redes, tan importantes en la actualidad. Contiene ejemplos para representar grafos a partir de una lista de aristas, y de una lista de adyacencia, para realizar búsquedas topológicas en un grafo, para recorrerlos también en anchura y en profundidad, para visualizarlos utilizando la librería Graphviz, para utilizarlos para representar redes de grid hexagonal o cuadrado, para buscar el número máximo de cliques en un grafo, o para comparar parecidos entre redes determinando si dos grafos son isomórficos.
     
  • El capítulo 7, 'Statistics and Analysis', entra de lleno en conceptos estadísticos proporcionando recetas para utilizar las librerías estadísticas de Haskell para tareas como el cálculo de medias y medianas móviles, regresiones lineales y cuadráticas, la obtención de matrices de covariancia de muestras, búsqueda de parejas únicas en una lista, utilización del coeficiente de correlación de Pearson, o evaluación de redes Bayesianas. Los últimos ejemplos son utilidades como la creación de una estructura de datos para jugar a cartas, la utilización de una cadena de Markov para generar nuevo texto a partir de una entrada de texto, la creación de ngramas de una lista, o de una red neuronal que implemente un perceptron.
     
  • El capítulo 8, 'Clustering and Classification', trata sobre eso, muestra ejemplos de implementación de técnicas de clusterización y clasificación, como la implementación del algoritmo k-means, de una clusterización jerárquica o búsqueda del número de clusters en un conjunto de datos. Incluye aplicaciones prácticas como la clusterización de palabras por lexemas, la clasificación de palabras como partes del discurso con la ayuda de la librería NLP (Natural Language Processing), la identificación de palabras clave dentro de un texto para etiquetarlas automáticamente. El capítulo finaliza con la implementación de un árbol de decisión ID3 para clasificación de datos, y de un algoritmo de k-Nearest Neighbors para clasificar las peticiones que se hacen a un sitio web en 'humanas' o 'de robot', y evitar así ataques DoS.
     
  • El capítulo 9, 'Parallel and Concurrent Design', cubre conceptos avanzados de procesamiento en paralelo y concurrencia, como procesamiento en background con la función forkIO de la librería de concurrencia, mapeos sobre listas en paralelo, implementación de MapReduce y comparativas de rendimiento.
     
  • En el capítulo 10, 'Real-time Data', uno de los más interesantes, queda patente la potencia de Haskell para poder analizar datos en tiempo real. La primera receta muestra cómo interactuar con la API de Twitter para analizar los tweets que respondan a una determinada consulta de búsqueda, para sacar conclusiones sobre si el sentimiento hacia el tema es positivo, neutral o negativo. La siguientes receta crea un bot IRC que se une a una room y 'escucha' las conversaciones, y otro bot se puede encargar de responder a determinados mensajes de un canal. Otra receta enseñan a lanzar un poll cada cierto tiempo hacia un servidor web como Reddit para ir obteniendo así las últimas novedades filtradas bajo un criterio. La siguiente sirve para detectar cambios en tiempo real en ficheros de un directorio. Otro ejemplo muestra cómo establecer una comunicación en tiempo real mediante sockets, para transmitir mensajes entre programas. En el siguiente, la librería OpenCV permite analizar los streams que genera una cámara para detectar al vuelo caras y ojos en las imágenes y dibujar un cuadrado que las rodee. La última receta analiza un stream de video en tiempo real para localizar los frames que contienen una imagen determinada, y rodearlos también con un círculo.
     
  • El capítulo 11, 'Visualizing Data', cubre diferentes técnicas de visualización que se pueden utilizar en Haskell para mostrar resultados gráficamente. Se utiliza la Google's Chart API para crear gráficos de líneas, de pastel y de barras. Con gnuplot se crean gráficos de lineas, un gráfico de dispersión de dos puntos 2D, y una gráfica en 3D sobre la que se puede hacer zoom, rotar o desplazar. Con JavaScript y D3.js se crean gráficas de barras y una gráfica dedispersión. También se muestra cómo crear con Graphviz gráficas que permitan visualizar redes de grafos. La última receta de este capítulo crea gráficamente un camino a partir de una lista de vectores, obtenida de direcciones de Google Maps.
     
  • Finalmente, el capítulo 12, 'Exporting and Presenting', enseña cómo almacenar los resultados en diferentes formatos para su posterior reutilización. Las recetas exportan datos a ficheros CSV, JSON, a bases de datos SQLite y MongoDB. También trata cómo presentarlos en diferentes formatos como HTML y tablas LaTeX.

Desde luego, en los diferentes capítulos de este libro queda patente que Haskell y sus librerías conforman una gran herramienta de analítica de datos, que abre un gran mundo de posibilidades limitada más bien a la imaginación y experiencia del programador-analista que a limitaciones del lenguaje. Me ha sorprendido la simplicidad en la programación de las recetas, que gracias al enfoque funcional del lenguaje permite utilizar algoritmos muy complejos con pocas líneas de código.

Me han parecido especialmente interesantes las recetas del capítulo de análisis de datos en tiempo real, que pueden dar pie a muchas ideas más, especialmente las aplicadas a las interacciones con API's que nos permiten obtener datos del entorno web y de las redes sociales que ya dominan nuestra actividad en Internet, y recogen nuestros datos, gustos y costumbres.

 

El libro también está disponible en Amazon: Haskell Data Analysis Cookbook

 

¿Se te ocurre cómo aplicar alguno/s de estos algoritmos para solucionar o mejorar algo en tu empresa? ¿Alguna propuesta de analítica de datos sobre redes sociales, web, open data u otras fuentes de datos que podría generar resultados interesantes?

 

Geo Data Science con R

$
0
0

Viviendo más tiempo, viviendo mejor?

El siguiente análisis está realizado con el lenguaje R y la libreria Google Vis para la visualización de gráficos. Es tan importante medir la esperanza de vida así como también la calidad de la misma.

 

Se analizarán datos de eurostat los cuales contienen las siguientes 2 variables:

1- Healthy life years: Es la calidad de vida medida en años, la cual surge de la combinación de información de moratalidad y morbidez.

2- Life expectancy: Es la esperanza de vida medida en años de una persona desde que nace

Los datos originalmente están dividios por género, aquí se generó el promedio entre femeninos y masculinos para analizar y graficar solamente una metrica. Los datos corresponden al año 2012, (son los mas recientes).

Los siguientes gráficos muestran éstas 2 variables en un mapa, Cada métrica está expresada en años.

 

Life expectancy (izq.) Vs. Healthy life years (der.)

Life expectancy (left) Vs. Healthy life years (right)

 

Top 3 - Countries

   Top 3 table

Aquí podemos observar como el top 3 de países con la mejor calidad de vida, no son los mismos 3 que tienen la mayor esperanza de vida

 

Brecha en la calidad de vida

Ahora que sabemos como "esperanza" y "calidad" están distribuidos, procederemos a calcular la brecha entre ambos generando una nueva métrica llamada "Gap healthy life (Brecha calidad vida)"

Este nuevo indicador tiende a ser mayor cuando las personas viven mas años en una condición de salud no buena hasta sus días finales, por otro lado el valor es cercano a 0 cuando las personas viven toda su vida en buenas condiciones, es decir cuando la esperanza de vida y la calidad son similares.

Gap between healthy expectancy

Para reflejar este punto cuantitativamente, se creó la siguiente tabla donde los mas desparejos están a la izquierda y los mas equitativos están a la derecha.

Top 3 Gap  table

 

Reflexiones finales

Es interesante notar cuantos años pueden las perosnas vivir en una condición no saludable hasta su muerte, como Alemania que posee un promedio de 57 años de buena condicion de vida mientras que la esperanza se encuentra en 81 años.

Slovenia posee la brecha mas alta, se puede ver como las personas viven el 35% de sus vidas en una condicion de salud no buena (calidad: 52 años vs. esperanza: 80.2 años)

Un posible análisis a futuro es analizar los cambios de éstas métricas a lo largo del tiempo, detectando cambios para mejor y peor.

 

Contacto

Para una versión dinámica de los gráficos, click aquí

El código de R y los datos utilizados pueden encontrarlos en: https://github.com/pablo14/EU_health

Hecho por Pablo C. de Data Science Heroes

 

Curso e-learning: Data Science with R (Demo gratuita disponible)

  • ¿Preguntas acerca data science? Escribirlas en nuestro grupo de Linkedin

  • Data Science - Análisis dinámico de outliers con R

    $
    0
    0

    Introducción

    Los outliers son los valores extremos que tiene una variable, dependiendo del modelo o requerimiento, puede ser necesario tratarlos ya sea transformando o eliminandolos.

    Distribución variable “Income”

    01_income_distribution

    Ésta será la variable ejemplo, la cual representa los ingresos en $ de clientes de una empresa. Observamos como hay pocos casos con valores altos, y muchos con valores bajos.

     

    Si elegimos eliminarlos…

    Una pregunta común es ¿cuántos casos excluir? podemos elegir dejar afuera el 1% de los valores mas altos, con lo cual tendríamos:

    02_income_p99.JPG

    La distribución se ve muy similar, ahora llega hasta 300.000 en vez de 500.000.

    Si hacemos este proceso iterativamente -sacando el 1% mas grande, y a ese resultado se le vuelve a sacar el 1%, y asi sucesivamente por un total de 10 veces- estaremos analizando distintos valores del punto de corte. Sucede algo curioso con el resultado, la silutea se mantiene siempre parecida a:

    03_density_simple.JPG

     

    Animando el ejemplo

    La siguente animación muestra en acción el proceso iterativo de eliminación: como a medida que se va dejando afuera el 1% mas grande, la silueta mantiene un aspecto similar:

    04_fractal_outliers.gif

    Es decir, siempre habran muchas personas con ingresos bajos/medios, y pocos con ingresos altos. Lo que naturalmente cambian, son los valores de los ejes.

     

    Si cambiamos el gráfico histograma por uno de densidad, el efecto que aparece es mas parecido a un zoom hacia la parte izquierda de los datos:

    05_fractal_outliers_density.gif

    Cuando se eliminan los valores mas bajos, o mas altos de una variable, lo que se consigue es hacer un acercamiento -ó “zoom”- hacia donde se encuentra la mayor cantidad de casos.

     

    Reflexión final

    En este caso en particular se podría dejar afuera el 0.5 o 1% de los datos. Aunque no siempre es recomendable eliminar outliers, a veces pueden representar fraudes, un desperfecto en una máquina, u otro evento que merece una inspección mayor.

     

    Contacto

    Hecho por Pablo C. de Data Science Heroes.

    Código en R y datos disponible en github

    Temas de outliers y tratamiento de datos se ven en el curso e-learning: Data Science with R (Demo gratuita disponible)

  • ¿Preguntas acerca data science? Escribirlas en nuestro grupo de Linkedin

  • Data Science - Breve guía para interpretar modelos cluster

    $
    0
    0

    Características de un modelo cluster

    En general sigue los siguientes patrones:

    • Alta similitud entre los casos dentro de cada cluster.
    • Cada cluster debería ser tan único como se pueda, en comparación a los restantes.

    Presentaremos un ejemplo en donde cada caso, representa un país, y construiremos un modelo (k-means) con 3 clusters.

    cluster example lesson data science

    Ilustración de un modelo cluster, hecho con 2 variables y 3 clusters. Los círculos indican el centro del cluster.

     

    Gráfico de coordenadas

    Este es el gráfico que describe las principales características del modelo:

     

    Características del gráfico de coordenadas

    • Cada linea de color representa un cluster, mas una línea extra “All” que representa el promedio de todo el set de datos.
    • Cada cluster posee un promedio por cada variable. *Dicho promedio va desde 0 a 1 para así poder visualizar todas las variables en un gráfico.
    • Para cada variable, siempre habrá un número que se corresponde con 0 y otro con 1. Representando el mín y máx respectivamente.
    • El gráfico debería ser leído verticalmente.

     

    ¿Cómo se construye “scaled average”?

    Mirando la variable “LandArea” (la cual representa kilómetros cuadrados), podemos decir que C_2 (cluster 2) tiene el menor promedio en lo que respecta a la superficie. Seguido por C_1. Por otro lado, C_3 tiene el valor mas alto y bastante alejado del resto de los clusters.

    En otras palabras, los países mas grandes están en C_3, mientras que los más pequeños en C_2.

    A continuación, se mostrarán los valores originales de la variables -no representados en el gráfico debido a la transformación- y el valor de la escala correspondiente (“scaled average”).

    • 1886206 es convertido en: 0.17
    • 243509 es convertido en: 0.00
    • 10014500 es convertido en: 1.00

    El promedio de todos los datos, (sin considerar la segmentación hecha por clustering), es 884633, por lo que es convertido a: 0.06. Éste es el valor representado por la linea “All”.

    Aquí ya tenemos nuestros 4 puntos, para representar la variable LandArea.

     

    Extrayendo conclusiones

    Describiendo el Cluster 3

    En C_3 están los países con el valor más alto de LandArea y Population (los cuales no siempre están correlacionados). Respecto de las variables Energy y LifeExpectancy, también posee los valores más altos, lo cual podría ser un indicativo de un país bien desarrollado.

    Sin embargo, posee el menor promedio de tasa de nacimiento (BirthRate), y no es nuevo que algunos paises desarrollados tiene una valor bajo en ésta variable.

    Describiendo el Cluster 2

    C_2 es muy parecido a “All”, es decir a toda la población, por lo que no aporta mucha información. Mirando todas sus variables comparte valores muy similares a la población en general.

    Describiendo el Cluster 1

    C_1 puede ser visto como el punto medio respecto a: LandArea, Population, Energy y Rural. Pero es interesante notar que poseen la tasa de crecimiento (BirthRate) más alta y la menor esperanza de vida (LifeExpectancy), así como también un valor elevado en la variable Rural (porcentaje de la población viviendo en una zona rural). Éste sería el caso opuesto a C_3.

    En resumen se puede decir que:

    • C_3 => Países con alto desarrollo
    • C_1 => Países con bajo desarrollo

     

    Contacto

    Hecho por Pablo C. de Data Science Heroes Course Data Science with R

    • Este material es una breve adaptación del curso e-learning Data Science with R en el cual se pueden encontrar guías paso a paso para construir, entender y validar modelos. Demo gratuita disponible .

    • Código de R utilizado: Instalación del gráfico de coordenadas y su uso disponible en GitHub

    • ¿Preguntas acerca data science? Escribirlas en nuestro grupo de Linkedin

     

    Viewing all 29 articles
    Browse latest View live