Monográfico. Un poco de PROC LOGISTIC

El PROC LOGISTIC es un procedimiento de SAS que nos ha dado muchas satisfacciones a los dinosaurios como el ahora escribiente. La regresión logística es uno de los modelos de regresión más utilizados y es bien conocido por todos mis lectores (bastante más inteligentes que yo). El problema es muy sencillo hemos de clasificar una población dividida en dos partes a partir de unas variables independientes. Su aplicación es muy extensa: patrones de fuga, propensiones a compra, salud, fraude,… Con este monográfico pretendo acercaros en 3 minutos a las sentencias básicas en SAS para crear un modelo de regresión logística y proponer gráficos y validaciones. En la línea habitual del blog partimos de una simulación y analizamos la sintaxis, evitamos poner las salidas para no “cargar” la entrada con tablas de poca utilidad. El ejemplo es el que sigue: ...

24 de junio de 2010 · rvaquerizo

Monográfico. Clasificación con SVM en R

Las máquinas de vectores de soporte, Support Vector Machines, SVM a partir de ahora, son un conjunto de técnicas estadísticas que nos permiten clasificar una población en función de la partición en subespacios de múltiples variables. Parte de la idea de dividir de forma lineal un conjunto de múltiples dimensiones. Creamos muchos hiperplanos que nos dividen las observaciones. Es una técnica que está ganando popularidad y que por supuesto podemos realizarla con R. Para ello tenemos algunos paquetes específicos como kvm, svmlight y el e1071. Este último es al que pretendo acercarme hoy. ...

15 de junio de 2010 · rvaquerizo

Un homenaje a Malthus con R

Hoy quería yo revindicar la figura de un tipo bastante maltratado: Thomas Malthus. Maltratado porque era un poco reaccionario y facha, y parece que eso es suficiente para que se olviden de uno, aunque fuera el tipo que más ha aportado a la demografía.Y el homenaje tenía que hacérselo con el paquete de R que más utilizo últimamente, el XML y algunos sencillos gráficos creados con R-commander. Malthus lo que venía a decir es que somos muchos, demasiados y encima la cosa tenía muy mala pinta. Parece que tiene razón, pero vamos a verlo gráficamente. Comenzamos: ...

13 de junio de 2010 · rvaquerizo

Un acercamiento a GRAPH. ODS GRAPHS PROC SGPLOT

No todos los procedimientos gráficos de SAS son tan malos y tan complejos. Hay una serie de procedimientos como el PROC SGPLOT que nos permiten realizar gráficos muy vistosos y con una sintaxis más sencilla. Estos procedimientos son los que vamos a denominar ODS GRAPHS. Como siempre, en estas líneas, sólo os voy a acercar a algunas de las posibilidades que ofrece el PROC SGPLOT (a futuro veremos más) y despertar vuestra curiosidad. Hay documentación muy completa en la red al respecto, además, y sin que sirva de precedente, la ayuda de SAS es muy correcta. ...

28 de mayo de 2010 · rvaquerizo

Las cuentas claras.

Si hay alguna tarea o procedimiento indispensable y más repetitivo hasta la saciedad por excelencia a la hora de trabajar con bases de datos y tener que reportar alguna información por mínima que sea, esta es contar o contabilizar el número de casos (registros) que tenemos en total o en subtotales (por grupos) dentro de una tabla (los llamados datasets en SAS). Para dar mayor utilidad a este ‘tutorial’ sobre conteo, partiré de una tabla con 2 columnas (campos) tipo cadena, es decir tipo texto, de manera que podamos ver diferentes métodos para contar-contabilizar NO solo campos tipo texto sino también trucos que nos den una solución más ‘elegante’ de la combinación de ambos campos tipo cadena. Estos 2 campos se llamarán grupo y tipo, muy empleados por muchos programadores, pero se podrían llamar tambien familia y familia_segmento o bien comunidad_1 y comunidad_2 o bien zona_tipo1 y zona_tipo2 o bien entorno_primario y entorno_secundario, o si el ejercicio tratase de contar el número de alumnos por sexo y color_ojos bastaría con sexo y color_ojos, etc etc. ...

22 de mayo de 2010 · danifernandez

Un acercamiento a `GRAPH`. Sentencias gráficas

A la hora de trabajar con SAS/GRAPH lo primero que vamos a escribir es: Después tenemos que conocer las sentencias de GRAPH para dar forma a nuestros gráficos. Estas sentencias no van dentro de ningún procedimiento ni paso data, siempre van precedidas de distintas palabras clave que nos definen los elementos de un grafico o nos indican las opciones necesarias para su representación. Estas sentencias nos permitirán definir los ejes, patrones y opciones más globales, comenzaran por: ...

2 de abril de 2010 · rvaquerizo

Monográfico. Análisis de Factores con R (una introducción)

El análisis de factores es una técnica de reducción de datos: menor dimensión mayor portentaje de varianza. Distinguimos el análisis factorial exploratorio del análisis factorial confirmatorio en función del conocimiento del número de factores a obtener. Este análisis está muy relacionado con el análisis de componentes principales pero no buscamos explicar el mayor porcentaje de varianza a partir de combinaciones lineales de variables, buscamos conjuntos de variables comunes entre si. Este análisis supone que hay un factor intrínseco a las variables a combinar. El proceso a seguir para este tipo de análisis sería: ...

11 de febrero de 2010 · rvaquerizo

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

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 $\text{fraude}(0,1)=\text{término independiente}+\text{parámetro}\cdot\text{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)=\text{término independiente} + \text{parámetro}\cdot\text{independiente}$. O lo que es lo mismo: $\text{prob. fraude}=1/(1+e^{-(\text{término independiente}+\text{parámetro}\cdot\text{independiente})})$. Qué bonita función y que interesante propiedad de los logaritmos que transforman sumas en productos. ...

29 de enero de 2010 · rvaquerizo

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

26 de enero de 2010 · rvaquerizo

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

12 de enero de 2010 · rvaquerizo