Un problema a WPS. Infile url no funciona

Febrero 7th, 2010 por rvaquerizo

ERROR: url is not a valid access method. The access method names are :       DDE, EMAIL

He encontrado una pega que no me gusta al WPS:

filename pepin url "http://news.google.es/news?q=banco santander&oe=utf-8&rls=org.mozilla:es-ES:official&client=firefox-a&um=1&ie=UTF-8&sa=N&hl=es&tab=wn";

data uno;
infile pepin;
run;

No se puede hacer en WPS. Desconozco si es necesario otro modulo, pero es un problema. Aun asi me sigue gustando mucho.

Lecciones de economía de un ignorante. “la Caixa” a colocar preferentes

Febrero 1st, 2010 por rvaquerizo

No tengo palabras, creía que eran rumores, estoy a punto de llorar. Hoy empiezan a colocar deuda subordinada otra vez en "la Caixa" y 2.000 millones ampliables a 3.000 nada menos:

http://www.abc.es/agencias/noticia.asp?noticia=252786

¿Qué probabilidades hay de quiebra de "la Caixa"? Ninguna, pero ahí no está el riesgo. La deuda subordinada como las participaciones preferentes no son una inversión exenta de riesgo. Si os lo digo yo a lo peor no os lo creéis pero si os lo dicen desde rankia.com empezaréis a tomarlo más en serio. En 2009 se emitieron más de 13.000 millones en participaciones preferentes. Yo no considero una estafa colocar este tipo de híbridos pero si considero que no se cuenta toda la verdad sobre estos productos (en la oficina suelen rellenar los cuestionarios del MiFID al cliente por si alguien pregunta por él, se trata de colocar).  ¿Qué opinará la CNMV al respecto de estos engaños? Pues debe ser que no opina nada, como no son una estafa no pasa nada. Engañamos pero no estafamos.

Por cierto, prefiero las emisiones de Ruiz Mateos. Bajo mi prisma tienen menos riesgo porque a esa gente no les sale NADA mal y se dedican a dar trabajo a "cascoporro". Si luego no pagan a la seguridad social y eso no pasa nada, al fin y al cabo lo hace casi todo el mundo en la economía española. Engañar es muy español, estafar es de sinvergüenzas lo malo es que la línea que separa la estafa del engaño es muy fina.

Truco R. Valores perdidos a 0, ejemplo de uso de sapply

Enero 31st, 2010 por rvaquerizo

Muy habitual partinos la cabeza con valores perdidos en R. Los NA pueden darnos algún quebradero de cabeza. Este truco es muy sencillo, transforma valores  missing a 0 y nos sirve para aplicar funciones a data.frame con la función sapply. Veamos el sencillo ejemplo:


x=c(1,23,5,9,0,NA)
y=c(5,45,NA,78,NA,34)
dataf=data.frame(cbind(x,y))
mean(dataf$x,na.rm=TRUE)
mean(dataf$y,na.rm=TRUE)
#Podría interesarnos tener en cuenta los NAs
sum(dataf$x,na.rm=TRUE)/nrow(dataf)
sum(dataf$y,na.rm=TRUE)/nrow(dataf)

Tenemos un data.frame con dos variables que contienen valores perdidos, deseamos crear una función que  pase estos valores a 0 y aplicarlo al data.frame de partida:


haz.cero.na=function(x){
ifelse(is.na(x),0,x)}
dataf.2=data.frame(sapply(dataf,haz.cero.na))
dataf
dataf.2

Un ejemplo muy sencillo de aplicación de funciones con sapply a data.frames perfectamente extrapolable a matrices y vectores. Erreros tiene una entrada al respecto. Saludos.

Tags: , ,

Monográfico. Regresión logística con R

Enero 29th, 2010 por rvaquerizo

Por fin nos metemos con la regresión logística en R. Nos meteremos con WPS (si es posible). Los modelos de regresión logística son los más utilizados en las áreas en las que el ahora escribiente ha trabajado. ¿Por qué tiene tanto "éxito"? Porque es el mejor ejemplo de modelo de variable linealmente dependiente de otras variables independientes. Pero sobre todo tiene éxito porque modelamos una probabilidad de un suceso (habitualmente dicotómico) en función de unos
factores que pueden ser discretos o continuos. Modelizamos probabilidades, insisto; por ejemplo, si clasificamos la variable comete fraude como 1 y no comete fraude como 0 podríamos realizar un modelo de regresión lineal del tipo fraude(0,1)=:término independiente:+:parámetro:*:independiente:. Matemáticamente es posible, pero si me dices que un cliente tiene un 1,34 de "potencial" de fraude entro en estado de shock. Peeero, si p es la probabilidad de cometer fraude podemos construir esta función Ln(p/(1-p)) y sobre esta función si hacemos: Ln(p/q)=:término independiente: + :parámetro:*:independiente:. O lo que es lo mismo: prob. fraude=1/(1+e**(-:término independiente:-:parámetro:*:independiente:)). Qué bonita función y que interesante propiedad de los logaritmos Lee el resto de esta entrada »

Tags: , , ,

Nace datanalytics.wordpress.com

Enero 27th, 2010 por rvaquerizo

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í.

De todos modos, y como él mismo ha asegurado, esto no es un -hasta siempre- es un -hasta luego-, no desaparece como colaborador. Y evidentemente habrá contínuas referencias a http://datanalytics.wordpress.com/ en esta bitácora. De hecho en este mismo mensaje tiene hasta 3 links para ayudarle a posicionarse mejor en Google. 

Muchos éxitos amigo.

Tags: ,

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

Enero 26th, 2010 por rvaquerizo

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.

Como en anteriores ejemplos partimos de un objeto con datos aleatorios que simula la cartera de una entidad bancaria. Queremos determinar que clientes son mas propensos a la contratación de un plan vitalicio de pensión inmediata para seleccionarlos y lanzar una comunicación comercial sobre ellos. Simulamos una cartera de 20.000 Lee el resto de esta entrada »

Tags: , ,

Sigo migrando de SAS a WPS

Enero 20th, 2010 por rvaquerizo

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.

Uno de los procedimientos más habituales con SAS es el PROC SORT. En SAS las ordenaciones requieren en espacio 2,5veces el tamaño del  fichero a ordenar si no utilizamos la opción tagsort. Esta opción nos permite optimizar el espacio ocupado, no facilita que la ordenación sea más rápida, como piensa mi amiga Sonia, lo que nos permite es que necesitemos aproximadamente 1,5 veces el tamaño de la tabla a ordenar. Fichero aleatorio de 79 MB, PROC SORT y analizamos el crecimiento de los ficheros temporales de la librería work. WPS ha generado 2 temporales de 42 MB y uno de 45 MB. Parece que las ordenaciones ocupan menos espacio. Punto a favor de WPS. En cuanto a la velocidad, imposible comparar porque SAS es muy caro y no estoy dispuesto a pagar su licencia.

Otra cosa que se me ha ocurrido es realizar n pequeño análisis univariante con graficos y demás. Quiero generar un html vía ods y no tengo prolemas. Si obtengo un error cuando no genero en mi pc la salida, si esta salida la dejo como parte de mi proyecto tengo un problema con java. Parece que el error no es importante, pero de momento no he podido solucionarlo. El reporting puede ser un punto flojo de WPS pero sed sinceros ¿quién emplea SAS como herramienta de reporting? ¿Y la realización de gráficos con SAS?

Tags: , ,

Acercamiento a WPS. Migrando desde SAS

Enero 17th, 2010 por rvaquerizo

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.

Al lío, en mi trabajo diario me pondría a picar código SAS y echo en falta algunas funciones  (perfectamente prescindibles). El PROC SQL funciona a la perfección. Ya sabéis que sin el PROC SQL no somos nadie con SAS (sobre todo yo). Al final programas como lo haces habitualmente en Enterprise Guide, me costaría muy poco migrar mis proyectos de Guide o mi codigos de SAS a WPS. Al no disponer de SAS no puedo comparar en tiempos las ejecuciones. Lo primero que se me ocurre es generar una "tablita" con 20 millones de registros en una libreria de mi PC. Las tablas se guardan con extension WPD no sé si son "tablas propietarias" o se pueden utilizar con otras herramientas, si me entero ya os diré. De momento no tenemos problemas con tablas de 800 MB. En una hora curioseando lo que más me gusta es el interfaz y la posibilidad de abrir archivos hojas de calculo desde el proyecto de WPS. De este modo me cuesta bien poco mantener una tabla de dimensiones. A la hora de importar ficheros de otro tipo veo que la gente de World Programing Software no me dejan evaluar el equivalente al modulo ACCESS TO PC FILES de SAS. No es mayor problema porque desde el mismo proyecto preparo el fichero para realizar la importación pero echo de menos un asistente. Con SAS desarrollé una metodología para importar ficheros de texto que me ha dado muy buenos resultados. Para la importación de archivos recomendaría tener UltraEdit y generar los input manualmente.

A simple vista me costaría muy poco migrar mis procesos de SAS a WPS y ahorraría a mi organización bastante dinero. Los códigos que se denominan scripts se almacenan con extension .sas y %include funciona a la perfección (menos problemas para una hipotética migración) También hay que destacar que no hemos probado el acceso a datos en Oracle ni las posibilidades estadisticas de este clónico. Pero en este primer acercamiento me ha dejado buen sabor de boca aunque de momento solo me estoy familiarizando con la herramienta. No esperaba que WPS fuera maravilloso pero me está costando muy poco sacarle partido.

Pocos euros de gasto en formación. Pocos euros de gasto en la herramienta. Pocos recursos en la migración (creo). En el primer año saldría rentable el cambio de herramienta. A no ser de tuvieramos un entorno SAS con gestor de campañas (si funciona) o una dependencia del Enterprise Guide o Miner; también es posible que no nos fiáramos del futuro de WPS pero siempre podríamos volver a SAS. Me parece que se puede acabar un monopolio. Seguiré informando.

Tags: , ,

El futuro de la profesión

Enero 15th, 2010 por cgbellosta

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.

Tags: , , ,

Noticia interesante sobre WPS

Enero 14th, 2010 por rvaquerizo

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.

This is a poke in the eye for SAS Institute because it means that IBM mainframe users don't have to use its software to run their applications under IBM's z/OS.

Instead the IBM mainframe community can use Linux to run their SAS workloads.

The WPS software undercuts the SAS Institute on price which is one of the main reasons that the US giant has been trying to shut it down.

A WPS spokesman told us that the the software uses the Integrated Facility for Linux (IFL) hardware for IBM z9 and z10 mainframe systems. IFL provides the advantage of increased Linux performance while reducing operating and software licensing costs.

IBM's thumbs up indicates that as far as Big Blue is concerned the little British company's WPS software does the same things as SAS Institute's far more expensive packages of z/OS based mainframe software, which is the message that the small outfit wants to get out. µ

Tags: ,