El libro de John Fox, Un compañero de R para la regresión aplicada, es un excelente recurso para el modelado de regresión aplicada R. El paquete carque utilizo en esta respuesta es el paquete que lo acompaña. El libro también tiene como sitio web con capítulos adicionales.
Transformando la respuesta (también conocida como variable dependiente, resultado)
RlmboxCoxcarλfamily="yjPower"
boxCox(my.regression.model, family="yjPower", plotit = TRUE)
Esto produce una trama como la siguiente:

λλ
Para transformar su variable dependiente ahora, use la función yjPowerdel carpaquete:
depvar.transformed <- yjPower(my.dependent.variable, lambda)
lambdaλboxCox
Importante: en lugar de simplemente transformar por transformación la variable dependiente, debe considerar ajustar un GLM con un enlace de registro. Aquí hay algunas referencias que proporcionan más información: primero , segundo , tercero . Para hacer esto R, use glm:
glm.mod <- glm(y~x1+x2, family=gaussian(link="log"))
donde yes su variable dependiente y x1, x2etc. , son sus variables independientes.
Transformaciones de predictores.
Las transformaciones de predictores estrictamente positivos pueden estimarse por la máxima probabilidad después de la transformación de la variable dependiente. Para hacerlo, use la función boxTidwelldel carpaquete (para ver el documento original, consulte aquí ). Usarlo como que: boxTidwell(y~x1+x2, other.x=~x3+x4). Lo importante aquí es que esa opción other.xindica los términos de la regresión que no se deben transformar. Estas serían todas sus variables categóricas. La función produce una salida de la siguiente forma:
boxTidwell(prestige ~ income + education, other.x=~ type + poly(women, 2), data=Prestige)
Score Statistic p-value MLE of lambda
income -4.482406 0.0000074 -0.3476283
education 0.216991 0.8282154 1.2538274
incomeλincomeingresosn e w= 1 / ingresoo l d--------√
Otra publicación muy interesante en el sitio sobre la transformación de las variables independientes es esta .
Desventajas de las transformaciones
1 / y√λλ
Modelado de relaciones no lineales
Dos métodos bastante flexibles para ajustar relaciones no lineales son polinomios fraccionales y splines . Estos tres documentos ofrecen una muy buena introducción a ambos métodos: primero , segundo y tercero . También hay un libro completo sobre polinomios fraccionales y R. El R paquetemfp implementa polinomios fraccionales multivariables. Esta presentación puede ser informativa con respecto a los polinomios fraccionales. Para ajustar las splines, puede usar la función gam(modelos aditivos generalizados, vea aquí una excelente introducción con R) del paquetemgcv o las funcionesns(splines cúbicas naturales) y bs(splines B cúbicas) del paquete splines(vea aquí un ejemplo del uso de estas funciones). Usando gampuede especificar qué predictores desea ajustar usando splines usando la s()función:
my.gam <- gam(y~s(x1) + x2, family=gaussian())
aquí, x1se ajustaría usando una spline y x2linealmente como en una regresión lineal normal Dentro gampuede especificar la familia de distribución y la función de enlace como en glm. Así que para ajustarse a un modelo con una función logarítmica de enlace, se puede especificar la opción family=gaussian(link="log")de gamque en glm.
Echa un vistazo a esta publicación del sitio.