El problema de la multicolinealidad, intuirlo y detectarlo

El modelo lineal se puede escribir de forma matricial como $Y = X \cdot \text{Beta} + \text{Error}$. Donde $Y$ es el vector con nuestra variable dependiente, $X$ la matriz con las variables regresoras, $\text{Beta}$ el vector de parámetros y el «error» esa parte aleatoria que tiene que tener todo modelo. La matriz con nuestras variables regresoras $X$ ha de tener rango completo; es decir, todas sus columnas tienen que ser linealmente independientes. Eso nos garantiza que, a la hora de estimar por mínimos cuadrados ordinarios, $X’X$ es invertible. Si no es invertible, la estimación por mínimos cuadrados ordinarios «se vuelve inestable» ya que $X’X = 0$ y $1/X’X$ será muy complicado de calcular, ya que los $\text{Beta}$ son $\text{inversa}(X’X) \cdot X’Y$; por ello, los resultados que arroja el modelo tienen una alta variabilidad. Cuando esto nos pasa, tenemos colinealidad. ...

19 de marzo de 2014 · rvaquerizo

Trabajando con factores en R. Attach frente a within

Un ejemplo de trabajo con datos en R. Transformamos factores de dos formas distintas. Por un lado empleamos within con recode de la librería car y, por otro lado, empleamos el mítico attach. Manejo de datos con within: library(car) # Supongamos que tenemos un data frame llamado datos datos <- within(datos, { reconocimientos2 <- recode(num_awards, "0='Sin reconocimiento'; 1='1 reconocimiento'; else='Más de un reconocimiento'") }) Manejo de datos con attach / detach: attach(datos) datos$math_cat[math < 50] <- "D" datos$math_cat[math >= 50 & math < 60] <- "C" datos$math_cat[math >= 60 & math < 75] <- "B" datos$math_cat[math >= 75] <- "A" detach(datos) No voy a entrar en qué es más óptimo, tarda menos y demás. En mi opinión es mejor utilizar within; parece más “pulcro” y la verdad es que la función recode nos facilita mucho el trabajo; pero, como siempre, tenemos múltiples posibilidades con R, por eso es R. Saludos.

14 de mayo de 2013 · rvaquerizo

Recodificar el valor de un factor en R

Tras leer una duda planteada en la lista de R-Help en español, me he animado a crear una entrada acerca de la recodificación de factores en R. Así dejo recogido algún código/truco que puede serviros en vuestro trabajo con R y que este pequeño problema no afecte a vuestra productividad. Además, os acerco a la función recode del paquete car. Pero en primer lugar os planteo cómo recodificar factores empleando if / else: ...

7 de diciembre de 2010 · rvaquerizo