Lecciones de economía de un ignorante. No me dan hipoteca

En una boda, en el aperitivo de entrada un amigo me pregunta:

-Raúl, ¿por qué en los bancos no me dan una hipoteca?

-Porque eres una inversión. ¿Por qué voy a invertir yo en ti? Para una entidad bancaria eres una inversión.

-No pido el 100% del valor de tasación de la vivienda. Me pueden avalar mis padres y por si fuera poco mi nómina puede asumir una cuota mensual muy alta. Pero ntro en la oficina y poco más y se ríen de mi.

Monográfico. Arboles de clasificación con RPART

Con este rápido monográfico voy a acercarnos a los árboles de regresión con R. Esta metodología de predicción realiza construcciones lógicas que establecen reglas que nos permiten clasificar observaciones en función de una variable respuesta y de las relaciones existentes entre las variables dependientes. En esta primera aproximación no no voy a entrar en algoritmos ni en tipos de árboles (hay suficiente documentación en la red) intentaré en despertar la curiosidad del lector sobre este tipo de análisis y sobre todo quiero acercar a R al mundo empresarial un ámbito donde creo que R no destaca (al menos en España).

Truco SAS. Transponer tablas con PROC TRANSPOSE, DATA o PROC SQL

Para transponer datasets disponemos en SAS del PROC TRANSPOSE. El ahora escribiente no es muy partidario de emplearlo. Prefiero otras metodologías para transponer conjuntos de datos SAS. Voy a trabajar con un ejemplo que os servirá para aproximaros al TRANSPOSE y para entender mejor las opciones de lectura de un PASO DATA y el funcionamiento del PROC SQL. La idea es, partiendo de una tabla de hechos por meses, transponer un campo importe. Vamos a simular una tabla con esa estructura:

Truco SAS. Identificar el proceso en Unix con SYSJOBID

Un truco SAS muy rápido y que a algún compañero le ha venido muy bien y por eso lo pongo. La macro variable & sysjobid nos idenfica el job de Unix que está corriendo en ese momento. Es una macro del sistema y se haya en el diccionario de macros de SAS. Tenemos una vista en SASHELP VMACRO de cuales son estas macros AUTOMATIC. Curiosead SASHELP, tiene algunas vistas muy interesantes, creo que ya he comentado algo sonbre ellas.

Ranking IDC de Business Analytics Market

Interesante noticia de Intelligence Enterprise

Tras la compra de SPSS por parte de IBM sigo pensando en cuales pueden ser los siguientes movimientos de compra o «fusión». Me extraña que SAP no haya realizado ninguna compra porque pronto se verá superado por IBM. Imagino que, al seguir creciendo el mercado, los precios serán muy altos. En mi opinión alguno de los top 5 tendrá que tocar a los top 10 como Teradata, Informática o Microstrategy.

Lecciones de economía de un ignorante. Una cerveza 100 pesetas

La única solición que se me ocurre para que salgamos de la crisis es devaluar la peseta y como funcionamos con Euros pues a lo mejor tenemos que volver a los duros con la cara del tío Juancar…

Hay otros que si que saben de economía que dicen lo mismo que yo y por más vueltas que le doy no se me ocurre como puede la economía española volver a ser competitiva. Mientras sigamos en el Euro no creceremos. Además creo que es algo que flota en el inconsciente colectivo. Y como no nos demos prisa en arreglar esto volvemos a los Reales y preparamos un corralito.

Trucos SAS. Eliminar etiquetas en los conjunto de datos SAS

Hoy planteo un ejemplo de uso de las vistas de SASHELP con los nombres de las columnas de una tabla SAS. Además sirve para conocer mejor el PROC DATASETS y la creación de macro variables con el PROC SQL. Una macro que no es de mucha utilidad pero con la que podemos empezar a aproximarnos al lenguage macro de SAS:

%macro sinetiquetas(conj);

data _null_;

if index("&conj.",".")=0 then x="WORK";

else x=substr("&conj.",1,index("&conj.",".")+1) ;

call symput('libreria',x);

y=substr("&conj.",index("&conj.",".")+1,length("&conj.")) ;

call symput('tabla',y);

proc sql noprint;

select compress(name||"=''") into:l1 separated by " "

from sashelp.vcolumn

where libname=upcase("&libreria.") and memname=upcase("&tabla.") ;

quit;

proc datasets lib=&libreria. nolist;

modify &tabla.;

label &l1.;

quit;

%mend;

Primero buscamos con un paso data si es una tabla temporal o permanente. Creamos una macro variable con los nombres de las variables preparadas para eliminar etiquetas (var1=»). Las etiquetas las quitamos con DATASETS y MODIFY. La macro sólo necesita como parámetro la tabla sobre la que deseamos eliminar las etiquetas. A pesar de ser un truco fácil seguro que más de uno se precompila esta macro en sus sesiones SAS.

Los objetivos del primer año de vida de Zurich Connect

Hace cosa de un año hice mención al nacimiento de Zurich Connect. Su Director General tenía claros los objetivos de esta nueva compañía: 80.000 pólizas en un año, ¡con un par! Buena campaña de comunicación, «call center» muy profesional y un buen equipo directivo. Pero, ¡¿80.000 pólizas?! Un poco demasiado optimista sobre todo en un mercado donde tenemos a Clickseguros, Balumba, Línea Directa Aseguradora, Génesis, Direct,… En fin, desconozco los resultados «reales» de Zurich Connect en este primer año pero me he pasado por ICEA y me he descargado los datos del ramo de no vida de enero a junio de 2008 y enero a junio de 2009. El total de Zurich ha pasado de 777 mill en primas a 734. Con esto ya os digo que no han hecho 80.000 pólizas.

Lecciones de Economía de un ignorante. La crisis ha tocado fondo, luego escarbará

Inicio hoy una serie de de pensamientos económicos de «botellín y amigos en la barra de un bar». Desde el punto de vista de un ignorante todo parece más fácil.

Resulta que en elconfidencial.com aparece esta noticia. Resulta que el BCE dice que la crisis ha tocado fondo. Estos son los mismos que en 2001 bajaron los tipos, en 2007 los subieron de golpe y en 2008 – 2009 los bajaron a toda prisa. Y el ahora escribiente se va a fiar de lo que digan. Estamos metiendo pasta al sistema a base de dinero público para reflotar empresas deficitarias y sólo con esas medidas ya está todo apañado tocamos el fondo de la crisis. A este paso en realidad no hubo crisis.

Equivalencias entre PROC SQL y DATA en las uniones de tablas SAS

Muchos de los que llegan a programar con SAS son grandes expertos en SQL. Cuando dominas perfectamente un lenguaje es difícil acostumbrarse a otro. Por ello quiero plantear un artículo que estudie los tipos de uniones mediante pasos DATA y su análogo con el PROC SQL. Con ello espero que los profesionales que manejan el lenguaje SQL entiendan mejor el paso DATA. En mi línea habitual creo dos dataset y manejo ejemplos.

En MERGE, ¿mejor IF o WHERE?

Cuando programo en SAS algún paso data como unión con MERGE a modo de filtro empleo habitualmente IF en vez de WHERE. ¿El motivo? Mejor lo vemos en ejemplos. Voy a generar dos datasets aleatorios de 2 millones de registros cada uno. Tendrán un campo autonumérico y un campo aleatorio que toma valores entre 0 y 1:

options fullstimer;

data uno;

do i = 1 to 2000000;

aleatorio1=ranuni(9);

output;

end;

run;

data dos;

do i = 1 to 2000000;

aleatorio2=ranuni(2);

output;

end;

run;

Empleamos la opción fullstimer de SAS que nos ofrece unas estadísticas más detalladas de cada ejecución en el log, fundamentalmente nos interesa el tiempo real de ejecución. Los datasets aleatorios tienen las mismas observaciones y una estructura muy parecida. La idea es comparar el uso de IF frente a WHERE en un MERGE. Realizamos uniones horizontales entre ambas tablas y filtraremos sólo las observaciones con un valor del autonumérico i par, lo haremos de 3 formas pofibles y analizaremos el log:

IBM compra SPSS

La noticia es de hoy. Los grandes vendedores de software y servicios quieren completar sus portafolios de productos. SPSS intentó extenderse a otras áreas del BI sin demasiado éxito. IBM hizo lo mismo en el área de la minería de datos. Incluso corrieron rumores de boda entre SAS y Teradata que quedaron en una propuesta de integración tecnológica.

Quedan unos cuantos proveedores de soluciones de minería de datos independientes. Sus accionistas deben de estar frotándose las manos.