¿Existe una transformación similar a Box-Cox para variables independientes? Es decir, ¿una transformación que optimice la variable para que se ajuste más razonablemente a un modelo lineal?y~f(x)
Si es así, ¿hay una función para realizar esto R
?
r
regression
data-transformation
normality-assumption
Tal Galili
fuente
fuente
R
y, pensando en ello por un momento, no estoy seguro exactamente cómo se haría esto en absoluto. ¿Qué criterios optimizaría para garantizar la transformación "más lineal"? es tentador pero, como se ve en mi respuesta aquí , solo no se puede usar para ver si se cumple el supuesto de linealidad de un modelo. ¿Tenías algunos criterios en mente? R 2Respuestas:
John Tukey abogó por su " método de tres puntos " para encontrar nuevas expresiones de variables para linealizar las relaciones.
Ilustraré con un ejercicio de su libro, Exploratorio de Análisis de Datos . Estos son datos de presión de vapor de mercurio de un experimento en el que se varió la temperatura y se midió la presión de vapor.
La relación es fuertemente no lineal: vea el panel izquierdo en la ilustración.
Debido a que este es un ejercicio exploratorio , esperamos que sea interactivo. Se le pide al analista que comience identificando tres puntos "típicos" en la trama : uno cerca de cada extremo y otro en el medio. Lo hice aquí y los marqué en rojo. (Cuando hice este ejercicio por primera vez hace mucho tiempo, utilicé un conjunto diferente de puntos pero obtuve los mismos resultados).
En el método de tres puntos, uno busca, por fuerza bruta o de otro modo, una transformación de Box-Cox que, cuando se aplica a una de las coordenadas, ya sea y o x, (a) colocará los puntos típicos aproximadamente en un la línea y (b) usa un poder "agradable", generalmente elegido de una "escalera" de poderes que el analista podría interpretar.
Por razones que se harán aparentes más adelante, he extendido la familia Box-Cox al permitir un "desplazamiento" para que las transformaciones tengan la forma
Aquí hay una(λ,α) λ α
R
implementación rápida y sucia . Primero encuentra una solución óptima , luego redondea al valor más cercano en la escalera y, sujeto a esa restricción, optimiza (dentro de límites razonables). Es increíblemente rápido porque todos los cálculos se basan en esos tres puntos típicos del conjunto de datos original. (Incluso puedes hacerlos con lápiz y papel, que es exactamente lo que hizo Tukey).λ αCuando el método de tres puntos se aplica a los valores de presión (y) en el conjunto de datos de vapor de mercurio, obtenemos el panel central de las gráficas.
En este caso,(0,0)
parms
resulta igual : el método elige transformar la presión logarítmicamente.Hemos llegado a un punto análogo al contexto de la pregunta: por cualquier razón (generalmente para estabilizar la varianza residual), hemos reexpresado la variable dependiente , pero encontramos que la relación con una variable independiente no es lineal. Así que ahora pasamos a reexpresar la variable independiente en un esfuerzo por linealizar la relación. Esto se hace de la misma manera, simplemente invirtiendo los roles de x e y:
Se encuentra que los valores de(−1,253.75) −254 −1 1
parms
para la variable independiente (temperatura) son : en otras palabras, debemos expresar la temperatura como grados Celsius por encima de C y usar su recíproco (la potencia ). (Por razones técnicas, la transformación Box-Cox agrega además al resultado). La relación resultante se muestra en el panel derecho.- 254 - 1 1En este momento, cualquiera con la menor experiencia científica ha reconocido que los datos nos están "diciendo" que usemos temperaturas absolutas , donde el desplazamiento es lugar de porque esos serán físicamente significativos. (Cuando el último gráfico se vuelve a dibujar con un desplazamiento de lugar de , hay pocos cambios visibles. Un físico luego etiquetaría el eje x con : es decir, temperatura absoluta recíproca).254 273 254 1 / ( 1 - x )273 254 273 254 1/(1−x)
Este es un buen ejemplo de cómo la exploración estadística necesita interactuar con la comprensión del tema de investigación . De hecho, las temperaturas absolutas recíprocas aparecen todo el tiempo en las leyes físicas. En consecuencia, utilizando solo métodos EDA simples para explorar este conjunto de datos simple y centenario, hemos redescubierto la relación Clausius-Clapeyron : el logaritmo de la presión de vapor es una función lineal de la temperatura absoluta recíproca. No solo eso, tenemos una estimación no muy mala del cero absoluto (0−254 grados C), a partir de la pendiente de la gráfica de la derecha podemos calcular la entalpía específica de vaporización y, como resultado, un análisis cuidadoso de los residuos identifica un valor atípico (el valor a una temperatura de grados C), nos muestra cómo la entalfía de la vaporización varía (muy levemente) con la temperatura (violando así la Ley de los gases ideales) y, en última instancia, puede darnos información precisa sobre el radio efectivo de las moléculas de gas de mercurio. Todo eso desde 19 puntos de datos y algunas habilidades básicas en EDA.0
fuente
data <- cbind(temperature, pressure)
R
Eche un vistazo a estas diapositivas sobre "Diagnóstico de regresión" de John Fox (disponible desde aquí , completa con referencias), que discuten brevemente el tema de la transformación de la no linealidad. Cubre la "regla abultada" de Tukey para seleccionar las transformaciones de poder (abordada por la respuesta aceptada), pero también menciona las familias de transformaciones de Box-Cox y Yeo-Johnson. Ver la Sección 3.6 de las diapositivas. Para una toma más formal del mismo autor, ver J. Fox, Análisis de regresión aplicada y modelos lineales generalizados, Segunda edición (Sage, 2008) .
En cuanto a los paquetes R reales que ayudan con esto, eche un vistazo al paquete del automóvil , creado por J. Fox y S. Weisberg. Este paquete acompaña a J. Fox y S. Weisberg, An R Companion to Applied Regression, Second Edition, (Sage, 2011) , otra lectura obligada. Con ese paquete puede comenzar desde
basicPower()
(transformaciones de potencia simples),bcPower()
(transformaciones de Box-Cox) yyjPower()
(transformaciones de Yeo-Johnson). También hay powerTransform () :Consulte ambos libros para obtener más detalles sobre la teoría detrás de estas transformaciones y sobre los enfoques computacionales.
fuente
Hay muchas ventajas en hacer que la estimación de las transformaciones covariables sea una parte formal del proceso de estimación. Esto reconocerá el número de parámetros involucrados y produjo una buena cobertura de intervalo de confianza y preservación de errores tipo I. Las splines de regresión son algunos de los mejores enfoques. Y las splines funcionarán con valores cero y negativos de diferencia de los enfoques logarítmicos.X
fuente