23 Otros aspectos importantes
En este capítulo se presentan algunos aspectos importantes relacionados con modelación y que no se pudieron incluir en los capítulos anteriores.
¿Qué otras funciones hay en R para ajustar un modelo?
Hay 5 funciones en el paquete básico stats para ajustar un modelo de regresión, esas funciones son:
lm(formula, data, subset, weights, na.action,
method = "qr", model = TRUE, x = FALSE, y = FALSE, qr = TRUE,
singular.ok = TRUE, contrasts = NULL, offset, ...)
lm.fit(x, y, offset = NULL, method = "qr", tol = 1e-7,
singular.ok = TRUE, ...)
lm.wfit(x, y, w, offset = NULL, method = "qr", tol = 1e-7,
singular.ok = TRUE, ...)
.lm.fit(x, y, tol = 1e-7)
lsfit(x, y, wt = NULL, intercept = TRUE, tolerance = 1e-07, yname = NULL)
De todas las anteriores funciones la más conocida y usada es lm
. Invito al lector a que consulte la ayuda de las funciones y explore las ventajas que cada una de ellas tiene.
Ejemplo
Invéntese un problema de regresión lineal simple y use la función lm.fit
para encontrar los parámetros del modelo.
Solución
Supongamos que tenemos las variables que se muestran a continuación.
Para usar la función lm.fit
es necesario que el argumento x
sea una matriz, por esa razón vamos a construir la matriz X
usando el vector x
.
## intercepto variable
## [1,] 1 2
## [2,] 1 5
## [3,] 1 7
## [4,] 1 9
## [5,] 1 1
Ahora ya podemos usar la función lm.fit
de la siguiente forma.
## intercepto variable
## 5.0357143 -0.4241071
De la salida anterior tenemos que \(\hat{\beta}_0=5.036\) y \(\hat{\beta}_1=-0.424\).
Modelos de regresión con grandes conjuntos de datos
En ocasiones tenemos grandes bases de datos y cuando queremos ajustar un modelo de regresión se nos pueden presentar problemas porque saturamos la memoria de nuestro computador.
En este enlace usted podrá encontrar una publicación de Yixuan Qiu en el 2011 quien explica qué hacer para abordar este tipo de situaciones.
Fast lm
in R
Martin Maechler en 2015 escribió una publicación en Rpubs en la cual compara el tiempo que tardan las funciones lm
, lsfit
y .lm.fit
para ajustar un modelo de regresión. Martin Maechler creó 5 funciones basadas en lm
, lsfit
y .lm.fit
para obtener los parámetros de un modelo y luego comparó los tiempos de procesamiento. Abajo una figura con los resultados de la comparación de tiempos.
¿Cuáles opciones demoran menos tiempo?