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_{\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

El mejor gestor de datos del mundo es de Cádiz

Me ha gustado esta noticia de Elconfidencial.com http://www.elconfidencial.com/tecnologia/2013-12-19/un-matematico-andaluz-desconocido-es-el-mejor-cientifico-de-datos-del-mundo_67675/ Resulta que Jose Antonio Guerrero es el número uno en Kaggle. Mirad que estoy rato yo por Kaggle y no me había dado cuenta nunca de esto. He de confesaros que esta noticia me ha emocionado. Por cierto, si visitáis el perfil de Jose Antonio entre sus Skills está R y en la foto está trabajando con Excel. Un personaje excepcional.

19 de diciembre de 2013 · rvaquerizo

Truco (malo) de R. Leer datos desde Excel

Tenemos unos datos en Excel y deseamos crear un objeto en R con ellos. La forma más sencilla es seleccionar y copiar los datos y ejecutar el siguiente código: ```r datos = read.delim("clipboard") str(datos) Muy sencillo, pero necesitaba «fustigarme». Si deseamos llevar los datos de R a Excel (el camino contrario) hacemos: write.table(datos,"clipboard", sep="\t",row.names=FALSE) Igual de sencillo. No hagáis como yo, no olvidéis este código. Saludos.

3 de diciembre de 2013 · rvaquerizo

Truco Excel. Identificar el color de una celda

Para identificar el color de una celda en Excel podemos emplear Interior.Color del siguiente modo: Sub Macro1() For i = 3 To 6 dato = Cells(i, 2).Interior.Color Cells(i, 3) = dato Next i End Sub No funciona con formatos condicionales, si deseáis utilizar los colores de los formatos condicionales habréis de idear cómo hacerlo o bien esperar a que tenga tiempo a redactar como lo hago yo, pero que nadie se espere un programa en VB brillante, que no fui capaz de hacerlo. Saludos.

27 de noviembre de 2013 · rvaquerizo

Dividir en palabras un texto con SAS

Una duda que planteó una lectora del blog acerca de separar una cadena de caracteres separados por comas y crear observaciones en otra variable: Hola! he buscado por toda la página, necesito ayuda urgente. Mi problema es el siguiente. Necesito separar una cadena de texto en una fila en varias filas, por ejemplo cadena1,cadena2,cadena3 en cadena1 cadena2 cadena3 para encontrar la , utilizo scan, aunque podría ocupar anypunct para que encuentre la primera , luego la segunda , etc y cortar con substr, longth … pero bueno, ya que tengo un metodo de separar el texto de la fila como hago para que cada palabra este en una nueva fila? ojala me hayan entendido y me den una idea de como hacer eso en un proc sql, con una macro o como sea, solo una pequeña orientación me serviria mucho, gracias!!!!! ...

12 de septiembre de 2013 · rvaquerizo

Atentos a los intervalos de confianza

Un intervalo de confianza es la zona en la que me fío de lo que estimo. Cuanto más amplia es esa zona menos me fío de lo que estimo y cuanto más estrecha más me fío de lo que estimo. Lo que pasa es que un intervalo de confianza por definición empieza con la famosa expresión “dada una población de media nu y desviación típica sigma…” ¡¡¡FU FU FU FU FU FU!!! ...

26 de julio de 2013 · rvaquerizo

Lectura conjunta de “Analyzing Linguistic Data”

Mi compañero y amigo Carlos Gil junto con Victor Peinado van a iniciar un interesante proyecto. Un grupo de lectura del libro Analyzing Linguistic Data: A practical introduction to Statistics desde aquí nos hacemos eco de este proyecto que podéis seguir desde aquí. El calendario del curso es: An Introduction to R: (1 semana, del 6/05 al 12/05) Graphical Data Exploration: (1 semana, del 13/05 al 19/05) Probability Distributions: (1 semana, del 20/05 al 26/05) Basic Statistical Methods: (2 semanas, del 27/05 al 9/06) Clustering and Classification: (2 semanas, del 10/06 al 23/06) Regression Modeling: (2 semanas, del 24/06 al 7/07) Mixed Models: (2 semanas, del 8/07 al 21/07) Será todo un éxito, como las anteriores convocatorias. Saludos.

25 de abril de 2013 · rvaquerizo

Mosaic plot con R

Los gráficos de mosaico (mosaic plot) me gustan cada vez más. Hoy quería confesaros una cosa, no me gustan los gráficos. Sé que en esta bitácora electrónica hay muchos ejemplos de gráficos y muchos trucos referente a ellos. Pero siempre prefiero un dato representado en una tabla. Después de esta confesión voy a rebatirme a mí mismo. Es muy complicado ver algo en una tabla de contingencia cuando tenemos 3 o cuatro dimensiones. Sin embargo con un mosaic plot como el que tenemos arriba somos capaces de estudiar cruces de frecuencia para 3-4 dimensiones. Para hacerlo empleamos R, en concreto el paquete vcd. Para ilustrar el ejemplo con datos nos vamos a la web de un conocido libro para el uso de GLM en seguros. No entramos en muchos detalles, el código es muy simple, si tengo ocasión lo complicaré: ...

23 de abril de 2013 · rvaquerizo

Truco SAS. Limpiar un fichero de texto con SAS

El otro día me llegó al correo la siguiente cuestión acerca de caracteres extraños en un fichero de texto y la importación a SAS: Tengo un problema a la hora de importar a SAS un fichero txt. El caso es que tiene en algunos registros el carácter «flechita». Ejemplo: Calle Paseo de la Castellana «flechita» 60. Cuando lo importo como carácter para al llegar a la flechita. No se sí podrás ayudarme. Muchas gracias por adelantado. ...

4 de marzo de 2013 · rvaquerizo

Truco SAS. Ver el contenido de un formato

Para ver los valores que toma un formato con SAS tenemos que emplear el PROC FORMAT. La sintaxis es muy sencilla: proc format library = work.formats fmtlib; select &formato. run; Tenéis que poner el nombre del formato sin punto. Sintaxis sencilla, pero difícil de recordar (por lo menos a mi me ha pasado). Saludos.

6 de febrero de 2013 · rvaquerizo