Mínimo de una matriz de datos en SAS

El otro día una lectora del blog me preguntaba cómo obtener el mínimo de una matriz de datos de 100x1000 con SAS. El ejercicio es muy práctico para ayudar a que se entienda mejor cómo “piensa” SAS. Probablemente esta lectora estaba pensando en complicados bucles que recorren, que almacenan, que arrastran… con SAS las cosas no son así. El paso data es un bucle en sí mismo y SAS no tiene pereza en crear tablas intermedias. Así que la mejor solución para encontrar ese mínimo sería: ...

27 de abril de 2015 · rvaquerizo

Curso de iniciación a R en Kschool de Carlos Gil

Carlos Gil Bellosta va a impartir en KSchool un programa profesional de iniciación a R. En el siguiente enlace tenéis más información al respecto: http://kschool.com/cursos/programa-profesional-de-iniciacion-r/ Como podéis ver en el programa, podréis trabajar con manipulación de datos, automatización de informes e incluso segmentación, sin faltar las posibilidades gráficas de R. Muy interesante para introducirse a R. Saludos.

24 de abril de 2015 · rvaquerizo

Mi intervención en el Grupo de Usuarios de R de Madrid

http://www.vimeo.com/121220862 Tenía pendiente colgar el vídeo. Yo no soporto verme, sería por eso. Saludos.

17 de marzo de 2015 · rvaquerizo

Trucos SAS. Calcular percentiles como Excel o R

Alguna vez habréis calculado un percentil en Excel o en R y os saldrá distinto de SAS. Esto se debe a que los métodos de cálculo son distintos; tanto R como Excel utilizan el mismo método consistente en una interpolación en función de la distancia entre los registros que dan la posición del percentil. SAS dispone de 5 métodos distintos para calcular el percentil y por defecto emplea el número 5, y ninguno de los 4 métodos restantes es el que utilizan R o Excel. Pero podemos programar el método de un modo sencillo; cuesta más entender por qué no lo implementa SAS que calcularlo. A continuación tenéis una sencilla macro que calcula el percentil con el método de Excel: ...

16 de febrero de 2015 · rvaquerizo

Truco Excel. Gráfico de puntos con colores

Un gráfico de dispersión en Excel en el que los puntos puedan ser identificados si pertenecen a un grupo. Es una duda que plantearon hace unos días en el blog. Con otras herramientas es bastante sencillo, pero en el caso de Excel, la tarea no es tan evidente. Para poder hacer gráficos de este tipo, he construido una macro que podéis utilizar si previamente la adaptáis a vuestros datos. El código que podéis adaptar una vez hayáis creado vuestro gráfico de dispersión es: ...

21 de enero de 2015 · rvaquerizo

Truco Excel. Formatos condicionales para crear rango de colores

Un truco de Excel poco ortodoxo: aprovechar los colores que nos ofrece un formato condicional sin necesidad de emplear el formato condicional para crear un rango de colores. Parece un trabalenguas, pero puede ser muy útil cuando trabajamos con Visual Basic. En mi caso particular es muy útil disponer de estas paletas de colores para hacer mapas mucho más vistosos. El truco es muy sencillo: empezamos por escribir números del 1 hasta el número de colores que deseamos y elegimos el formato condicional a aplicar: ...

15 de enero de 2015 · rvaquerizo

Determinar el mímino tamaño muestral para detectar un cambio en la fracción no conforme

Este año he aprendido algo sobre metodología 6 sigma para el control de la calidad; me gustó mucho lo que aprendí. Para la realización de algunos ejercicios, creé libros de Excel y algún proceso SAS. Hoy quería traeros al blog una macro de SAS que nos permite determinar el tamaño mínimo muestral para detectar un cambio en la fracción no conforme con una determinada probabilidad. El programa es un bucle de SAS que crea los límites de control para la fracción no conforme y estandariza la diferencia del límite superior con la nueva fracción no conforme. Se calcula la probabilidad que deja este dato estandarizado y el paso del bucle será el número mínimo de muestras. Es más sencillo el código que la definición: ...

18 de diciembre de 2014 · rvaquerizo

15 horas de introducción a machine learning

http://www.dataschool.io/15-hours-of-expert-machine-learning-videos/ Imprescindible.

25 de septiembre de 2014 · rvaquerizo

Regresión PLS con R

El tema que estoy estudiando estos días es la regresión por mínimos cuadrados parciales, partial least squares (PLS). Para documentarme teóricamente y conocer las principales posibilidades de R estoy empleando este documento. Para argumentar el uso de esta técnica, de nuevo partimos del modelo lineal general $Y = X \cdot \beta + \text{Error}$, donde $\beta = (X’X)^{-1} \cdot X’Y$, y ya analizamos los trastornos que nos provoca la inversa de $X’X$ cuando hay columnas de $X$ que son linealmente dependientes (cuando hay multicolinealidad). En ese caso empleábamos la regresión ridge. Bueno, imaginemos esta situación: tenemos más variables que observaciones. Entonces sí que no somos capaces de tener una solución para $(X’X)^{-1}$. Para este problema contamos con los mínimos cuadrados parciales. ...

18 de agosto de 2014 · rvaquerizo

Regresión ridge o regresión contraída con R

Por lo visto no he estudiado lo suficiente. Tengo que redimirme y estudiar este verano determinadas técnicas avanzadas de predicción. Fundamentalmente tengo que trabajar con R y tener determinados conocimientos teóricos sobre estas técnicas. Así que he pensado que, a la vez que estudio yo, estudian todos mis lectores. Además es probable que genere debate. En esta primera entrega vamos a tratar la regresión contraída o regresión ridge. En el blog ya hablamos del problema que suponía la multicolinealidad; cuando tenemos este problema, una de las posibles soluciones es la regresión contraída o regresión ridge. Como ya dijimos, el modelo lineal se expresa como $Y = X \cdot \beta + \text{Error}$; la estimación de nuestros parámetros $\beta$ por mínimos cuadrados ordinarios es $\beta = \text{inv}(X’X) \cdot X’Y$. Cuando $(X’X)$ no es invertible tenemos un problema. La regresión ridge plantea una solución a este problema con unos parámetros $\beta extbackslash_{\text{contraidos}} = \text{inv}(X’X + \lambda I) \cdot X’Y$; si $\lambda$ es 0 estamos ante mínimos cuadrados ordinarios; en otro caso estamos ante un estimador sesgado de $\beta$. Este estimador sesgado es solución al problema de mínimos cuadrados penalizados y lo que hace es contraer los $\beta$ en torno a 0. En resumen: metemos sesgo pero reducimos varianza. ...

9 de julio de 2014 · rvaquerizo