Nace datanalytics.wordpress.com

Analisis y decision se despide de Carlos J. Gil Bellosta. Nace http://datanalytics.wordpress.com/ su propio proyecto. Desde aquí tiene todo nuestro apoyo y su correspondiente link. Han sido 23 entradas de las que no quiero destacar ninguna; aunque él sabe que hay una que es una referencia en lengua española. La colaboración entre un gestor moderno de la información (él) y un dinosaurio reaccionario (yo) ha sido muy fructifera y esperamos que en su nueva etapa en http://datanalytics.wordpress.com/ tenga tantos éxitos como los ha tenido aquí.

Monográfico. Paquete de R NNET para modelos de redes neuronales

Quiero introduciros a los modelos de redes neuronales con R , mas concretamente quiero acercaros al módulo nnet de R. Tenemos extensa literatura al respecto de las redes neuronales, personalmente considero de lectura obligatoria este link (y prácticamente toda la documentación de este profesor) El paquete nnet nos permite crear redes neuronales de clasificación monocapa. Las redes neuronales clasifican mediante algoritmos o métodos de entrenamiento, en función de estos métodos podemos tener redes supervisadas y redes no supervisadas. Las primeras buscan un límite de decisión lineal a través de un entrenamiento. Las segundas parten de unos parámetros (pesos) fijos y no requieren entrenamiento porque realizan mecanismos de aprendizaje en función de experiencias anteriores. Como ya os he indicado hay mucha bibliografía al respecto y muchas entradas en Google que pueden ayudaros a conocer mejor estos modelos. En el caso que nos ocupa, y como viene siendo tónica habitual de la bitácora, vamos a darle una visión más práctica (tampoco soy yo el más adecuado para dar esa visión teórica). Trabajamos en una gran Caja española y nuestro responsable nos pide realizar una selección de clientes para un mailing. Tenemos que «colocar» planes de pensiones vitalicios inmediatos. A nosotros se nos ocurre realizar un modelo de redes neuronales para seleccionar aquellos clientes con una puntuación más alta y, por tanto, más propensos a comprar el producto.

Sigo migrando de SAS a WPS

Sigo con una hipotética migración de SAS a WPS. Fundamental, ¿qué sucede cuando leo tablas SAS? ¿Puedo leerlas, al fin y al cabo son propietarias? Ningún problema, podemos leer perfectamente tablas SAS. Si trabajamos en una librería con tablas SAS los ficheros generados serán .sas7bdat sin embargo si trabajamos en una librería sin tablas SAS los archivos generados serán .wpd; esto nos facilita trabajar conjuntamente con WPS y SAS, esto nos facilita una hipotética migración de aplicaciones. Curiosamente una tabla .wpd es ligeramente más pequeña. Por supuesto compress=yes no es problema y WPS nos permite comprimir tablas.

Acercamiento a WPS. Migrando desde SAS

Poco a poco comienzo a trabajar con el clónico de SAS WPS. Estoy trabajando con la versión 2.3.5. De momento las impresiones no pueden ser mejores. El interfaz me recuerda a Enterprise Guide, trabajamos con proyectos que pueden estar compuestos de scripts (códigos de SAS) o ficheros. En cuanto al interfaz tenemos un navegador de proyectos para explorar los elementos que añadimos. Acompaña a este explorador una ventana de propiedades del proyecto. En la parte central podemos ver los scripts o los ficheros que añadimos. Me ha gustado el poder linkar los ficheros añadidos al proyecto a la aplicación del sistema asociada al fichero, me explico, si añades una hoja de cálculo ésta se abre en el proyecto de WPS con el programa asociado a ella. Otra de las ventanas está organizada en pestañas, una de ellas dispone del log y los resultados, otra un «server explorer» similar al explorador de SAS Base y una pestaña de progreso. Por último disponemos de otro navegador de procedimientos, resultados o log de ejecuciones al que particularmente no le encuentro mucho interés.

El futuro de la profesión

Nuestra profesión, la del estadístico que trabaja en la industria o la consultoría, está sometida a los cambios que exige el nuevo siglo. Llevo meses clamando en vano frente a un público que no escucha mis advertencias de peligro de obsolescencia. Pero un anuncio de un puesto de trabajo en un país lejano y que algunos consideran adelantado, me hace sentir reivindicado.

Atención a los requisitos meramente técnicos:

  • Escribir e interpretar queries de SQL complejas
  • Escribir e interpretar análisis de datos del tipo map-reduce usando Hadoop y Pig
  • Escribir código combinando SQL, Java, Pig y otros lenguajes de script
  • Trabajar con conjuntos de datos grandes de tipo desestructurado (varios terabytes, más de 100 millones de trnsacciones diarias)
  • Experiencia con lenguajes de script y expresiones regulares
  • Interés en matemáticas discretas y estadística
  • Experiencia transformando requisitos de negocio en sistemas informáticos

Nos adentramos en un brave new world , quiéranlo los nostálgicos del s. XX o no.

Noticia interesante sobre WPS

Tocada de narices a SAS por parte de WPS:

A BLIGHTY BASED software outfit that is being sued by a big US company in a bid to shut it down has just scored a win with IBM.World Programming’s WPS software has been approved as ready for IBM’s Linux on its system z mainframes.

World Programming (WP) is being sued because its software supports the American software giant SAS Institute’s Statistical Analysis System (SAS) programming language. The nod from IBM means that users’ programs written using the SAS language can be run under Linux on IBM system z mainframes.

Uso de CASE en PROC SQL

Vamos a estudiar como funciona CASE en un PROC SQL. Son palabras que aparecen en las búsquedas de Google y también he observado que el número de visitas al blog ha descendido en los últimos días y no sólo es debido a las vacaciones navideñas. El 60% de los clicks a AyD vienen por temas de SAS y en los últimos días tengo muy olvidados los mensajes de esta categoría. Además en el plazo de 2 días voy a dejar de trabajar con esta herramienta por lo que, es posible, que se reduzcan aun más. En fin, a lo que voy, CASE en el PROC SQL. Case nos permite crear campos condicionales dentro del bloque SELECT de una query de PROC SQL:

Monografico. Paquete sqldf, si sabes sql, sabes R

El paquete sqldf de R nos permite ejecutar sentencias de SQL . Las cláusulas, las expresiones, los predicados,… son lasalvación para muchos tipos mediocres como el ahora escribiente. sqldf es un módulo imprescindible, hasta el novio de Falete es capaz de programar en SQL. Evidentemente no voy a enseñaros a hacer queries , pero si quiero mostraros algunas de las posibilidades que nos ofrece este paquete de R. Como siempre y como caracterizan la mayoría de los mensajes del blog trabajaremos con ejemplos. El primer paso es crear un data.frame :

Monografico. Arboles de decisión con party

Los árboles de clasificación son una de las técnicas de análisis más utilizadas. No requieren supuestos distribucionales, permite detectar interacciones entre variables y no es muy sensible a la presencia de valores perdidos y outliers. En resumen, es una técnica que no quita mucho tiempo al analista para hacer consultas carentes de valor para sus responsables y permite identificar tanto perfiles positivos como perfiles negativos. Además, sus resultados son muy fáciles de interpretar. Tan fáciles que, INCLUSO , las áreas de negocio pueden entender sus resultados. Por todo esto estamos ante una de las técnicas más extendidas. En el blog ya hicimos un breve monográfico con rpart de R y nos quedaba realizar una revisión al paquete party. La metodología para esta rápida revisión será la habitual, planteamos un ejemplo y realizamos un análisis con las instrucciones de party.

El año 2009 para Análisis y Decisión

Es tiempo de hacer balance. El 2009 se despide con unos resultados para este blog que ni yo mismo podía haber imaginado. La incorporación de Carlos J. Gil, más de 18.500 visitas muchas de ellas fidelizadas, 140 mensajes y un posicionamiento en Google que permite que el número de visitas aumente todos los días. Linkad el gráfico siguiente:

Visitas a AyD en 2009