El seguro de Salud suma y sigue

Si nos damos una vuelta por ICEA podremos sacar la tabla que tenemos arriba (espero que no se enfaden conmigo por sacarlo tal cual; no he cambiado ni los formatos). Vemos que a lo largo de 2012 el seguro directo en España está sufriendo, especialmente en Autos; casi todos los ramos registran pérdidas de prima a excepción de Hogar y Salud. El tema de Hogar lo trataremos en otra entrada con más cuidado: es un ramo que tiene mucho recorrido debido a que la penetración en España todavía es muy baja; además tendremos que escribir sobre revalorización de capitales, la famosa REVA. Hoy nos centraremos en la otra gran estrella de la tabla que nos ofrece ICEA: el seguro de Salud. ...

18 de abril de 2013 · rvaquerizo

Analisis cluster con SAS. La importancia de las semillas en las k-medias

El PROC FASTCLUS en SAS nos permite realizar análisis de agrupamiento dirigido mediante el algoritmo de las k-medias. Este algoritmo tiene algunos problemas, pero nos puede servir para agrupar de forma multivariante observaciones. Es rápido, sencillo de explicar y, con algunas lagunas, no funciona mal. Como aproximación a nuestras segmentaciones puede ser muy práctico. Hoy se va a utilizar para identificar a los clientes más complicados de segmentar, a aquellas observaciones que quedan en las zonas grises (http://www.datanalytics.com/blog/2011/08/03/clustering-iii-sobresimplificacion/). ...

15 de abril de 2013 · rvaquerizo

¿Cuándo tenemos BIG DATA?

No es que sea yo un gurú del tema precisamente, pero considero que llevo más de 12 años haciendo Big Data; por ello, a lo peor alguno toma en serio mis reflexiones. Entonces, ¿cuándo tenemos, hacemos, trabajamos Big Data? La respuesta parece sencilla: “cuando tenemos muchos datos”. Pues no; éste es un nombre con mucha pegada (como me han dicho hoy en la comida); es un nombre acertado desde un punto de vista “marketiniano”. Pero muchos datos tiene el operacional de un banco, y no creo que un entorno Mainframe haga Big Data. ...

3 de abril de 2013 · rvaquerizo

Trucos SAS. Medir la importancia de las variables en nuestro modelo de regresión logística

Hoy quería proponeros una forma poco ortodoxa de medir la importancia de las variables in un modelo de regresión logística con SAS. La cuestión es: dado un modelo de regresión logística, crear un ranking con las variables más importantes dentro del modelo. Para esta tarea recomiendo el uso de Random Forest, pero puede ser imposible disponer de un software que realice este tipo de modelos. Imaginemos un caso concreto: disponemos de SAS STAT y nos da reparo trabajar con R. Para este caso podemos emplear el siguiente truco. El AIC (Criterio de Información de Akaike) es un estadístico que relaciona el cociente de la verosimilitud con el número de parámetros del modelo que ajustamos. Cuanto menor sea este cociente, mejor será nuestro modelo. Si eliminamos una variable del modelo, ¿cuánto empeora este modelo? Esa será la filosofía que emplearemos para analizar la importancia de las variables presentes en nuestro modelo. In la línea habitual, hacemos un ejemplo para que podáis copiar y pegar en vuestro SAS: ...

27 de febrero de 2013 · rvaquerizo

Nos hemos terminado de reinventar. Acabamos con el Data Mining y empezamos con el Big Data

Entramos in Google Trends y buscamos los términos Big Data y Data Mining y obtenemos la figura de arriba. Ya convergen las búsquedas. Muchos opinamos que estamos trabajando con Big Data desde hace muchos años; sin embargo, es ahora cuando este trabajo parece que se está dando a conocer. Y las escuelas de negocio son conscientes de ello. El sector de las tecnologías de la información tiene que estar continuamente renovándose. A lo largo de los años ha habido más revoluciones conceptuales que verdaderamente tecnológicas; sin embargo, este nuevo concepto de Big Data sí trae consigo una nueva visión de acceso a la información. ...

23 de febrero de 2013 · rvaquerizo

La macro iterlist para automatizar código SAS

Impresionante macro de SAS que nos puede ahorrar picar mucho mucho código. La macro se llama iterlist y la he encontrado en este enlace. Es código SAS muy avanzado: %macro iterlist(code =, list =); %*** ASIGNAMOS CADA ELEMENTO DE LA LISTA A UNA MACROVARIABLE INDEXADA &&ITEM&I ; %let i = 1; %do %while (%cmpres(%scan(&list., &i.)) ne ); %let item&i. = %cmpres(%scan(&list., &i.)); %let i = %eval(&i. + 1); %end; %*** GUARDAMOS EL CONTEO TOTAL ; %let cntitem = %eval(&i. - 1); %*** REEMPLAZAMOS EL TOKEN ? CON LOS ELEMENTOS DE LA LISTA ; %do i = 1 %to &cntitem.; %let codeprp = %qsysfunc(tranwrd(&code., ?, %nrstr(&&item&i..))); %unquote(&codeprp.) %end; %mend iterlist; El funcionamiento es muy complejo; destacaría el uso de %qsysfunc. El caso es que nos permite pasar listas de código. Imaginemos que tenemos que hacer la siguiente tarea: ...

17 de octubre de 2012 · rvaquerizo

Cuánto dinero pierdo jugando a la lotería. Una simulación poco seria con R

Esta pantalla es muy habitual en mi televisor todos los jueves por la noche. Son los resultados de la Lotería Nacional de España, el sorteo de los jueves. Mi mujer insiste en comprar lotería para dejar de ser pobres. No es una buena opción. Aunque, por lo menos, ahora compramos lotería nacional. Antes jugábamos a eso de la Bonoloto; las probabilidades de que te toque son menores que la cantidad de sustancias dopantes que le encontraron al gran Alberto Contador. Eso lo entendió, pero había que jugar. ¿Y cuánto nos cuesta jugar? ...

18 de septiembre de 2012 · rvaquerizo

Macro SAS. Variables de un dataset en una macrovariable

Hoy os presento una macro de SAS que nos permite recoger en una macrovariable las variables de un conjunto de datos SAS. Tiene como particularidad que nos sirve para seleccionar aquellas variables que tienen un determinado patrón, del tipo consumo2010, consumo2011… Es un código un poco más complejo de lo habitual pero tiene aspectos interesantes: %macro lista_variables(ds=, nombre_mv=, patron=); * ES NECESARIO QUE LA MACROVARIABLE FINAL SEA GLOBAL; %global &nombre_mv.; * DETERMINAMOS LIBRERÍA Y TABLA; data _null_; length lib tab $255.; if index("&ds.", ".") = 0 then do; lib = "WORK"; tab = "&ds."; end; else do; lib = scan("&ds.", 1, "."); tab = scan("&ds.", 2, "."); end; call symput('libreria', upcase(lib)); call symput('tabla', upcase(tab)); run; * BUSCAMOS EN DICTIONARY DE SAS (VCOLUMN); proc sql noprint; select compress(name) into :&nombre_mv. separated by " " from sashelp.vcolumn where libname = "&libreria." and memname = "&tabla." and upcase(name) like "%" || "%upcase(&patron.)" || "%"; quit; %mend; El elemento principal de esta macro es una consulta a una de las tablas DICTIONARY de SAS, o mejor dicho, a una de las vistas que tenemos en SASHELP. Siempre he preferido consultar las vistas de SASHELP. La vista consultada es VCOLUMN, de donde extraemos la columna NAME, y como condicionantes pasamos la librería en LIBNAME y el nombre de la tabla en MEMNAME. Como particularidad, podemos filtrar por patrones de nombre. ...

6 de septiembre de 2012 · rvaquerizo

Solventamos los peligros del análisis cluster con SVM

Retomamos un asunto tratado en días anteriores: los peligros de realizar un análisis de agrupamiento basado en las distancias entre observaciones. ¿Cómo podemos evitar este problema? Empleando máquinas de vectores de soporte, traducción de Support Vector Machines (SVM). Esta técnica de clasificación, de la que ya hablamos en otra entrada, nos permite separar observaciones con base en la creación de hiperplanos que las separan. Una función kernel será la que nos permita crear estos hiperplanos; en el caso que nos ocupa, tenemos solo dos variables y necesitamos crear líneas de separación entre observaciones. En la red tenéis una gran cantidad de artículos sobre estas técnicas. ...

1 de agosto de 2012 · rvaquerizo

La distribución tweedie

Reconozco que hace muy poco tiempo que trabajo con las distribuciones Tweedie. Un viejo dinosaurio que trabaja sobre todo con SAS se hace el sordo cuando le hablan de la distribución Tweedie. Quizá sea el trabajo con SAS el que me ha nublado. Pero ahora que empiezo a trabajar con otras herramientas… Para comprender mejor la base teórica para este tipo de distribuciones os enlazo a la Wikipedia. Pero despierta mi interés debido a que se puede considerar una gamma con punto de masa en el 0; ¡toma aberración matemática! Aspecto interesante. ...

23 de abril de 2012 · rvaquerizo