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

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

Revolution Computing ahora es Revolution Analytics

Sigue adelante este interesante proyecto: http://revolutionanalytics.com/news-events/news-room/2010/revolution-analytics-defines-the-future-of-predictive-analytics-with-r.php Norman Nie sigue trabajando.

8 de mayo de 2010 · rvaquerizo

Porque me gusta R

En los últimos tiempos he hablado mucho y mal de R en los «ambientes». El problema de siempre puede terminar con la paciencia de cualquiera, la manipulación de datos con R cuando superamos un GB puede acabar con la paciencia de este viejo dinosaurio. Viejo por usado no por mi edad, y dinosaurio por anticuado, aunque me gustaría recordar que los dinosaurios fueron capaces de sobrevivir 65 millones de años. En realidad soy un mainframe, usado, superviviente e imprescindible y me gusta R. Desde el año 2001 sé que el futuro de la gestión de la información pasa por él. Por este mismo motivo soy uno de los tipos que más ha luchado por divulgar las bondades y, sobre todo, las posibilidades que nos ofrece. Pero de verdad me gusta R porque, bajo mi punto de vista, el principal objetivo de todos aquellos que gestionamos datos tiene que ser la rentabilidad. ¡Chimpún! ...

29 de marzo de 2010 · rvaquerizo

Lectura para el fin de semana

Cada vez me caen mejor estos de Minequest y llevo un tiempo siguiendo el blog de Adventures in Consulting. Me voy a dar de comer a mi león.

12 de marzo 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

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.

15 de enero de 2010 · cgbellosta

Monográfico. 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. ...

9 de enero de 2010 · rvaquerizo

Los mejores y más útiles trucos de R

Como estamos medio de fiesta y da pareza poner en funcionamiento los engranajes del cerebro para producir ideas originales, me limitaré a apuntar un enlace en el que los usuarios han propuesto y votado sus mejores trucos de R. Para los más perezosos, indicaré que el campeón ha sido la función str(). Y para los menos perezosos, aparecen en la lista métodos para acceder y manipular datos alojados en GoogleDocs directamente.

29 de diciembre de 2009 · cgbellosta