¿Cómo elegir la mejor transformación para lograr la linealidad?


10

Quiero hacer una regresión lineal múltiple y luego predecir nuevos valores con poca extrapolación. Tengo mi variable de respuesta en el rango de -2 a +7, y tres predictores (los rangos de +10 - +200). La distribución es casi normal. Pero la relación entre la respuesta y los predictores no es lineal, veo curvas en las gráficas. Por ejemplo, así: http://cs10418.userapi.com/u17020874/153949434/x_9898cf38.jpg

Me gustaría aplicar una transformación para lograr la linealidad. Traté de transformar la variable de respuesta comprobando diferentes funciones y mirando los gráficos resultantes para ver una relación lineal entre la respuesta y los predictores. Y descubrí que hay muchas funciones que me pueden dar una relación lineal visible. Por ejemplo, funciones

t1=log(y+2.5)

t2=1log(y+5)

t3=1y+5

t4=1(y+10)3

t5=1(y+3)13 etc. da los resultados similares: http://cs10418.userapi.com/u17020874/153949434/x_06f13dbf.jpg

Después de volver a transformar los valores predichos (para como y así sucesivamente). Las distribuciones son más o menos similares a lo normal. y=1t=1(y+10)3y=1t1310

¿Cómo puedo elegir la mejor transformación para mis datos? ¿Existe una forma cuantitativa (y no muy complicada) de evaluar la linealidad? Para probar que la transformación seleccionada es la mejor o para encontrarla automáticamente si es posible.

¿O la única forma es hacer la regresión múltiple no lineal?


Intenté mejorar el formato de sus fórmulas, pero es posible que haya introducido algunos errores, por favor verifique.
Peter Ellis

No te creo. No es matemáticamente posible que hasta tengan simultáneamente una relación lineal con una sexta variable en el rango . Creo que puede haber cometido un error al calcular estas transformaciones de . t 5 0 ... 200 yt1t50200y
whuber


2
Tienes razón. Es bastante sorprendente que una gama tan amplia de reexpresiones de y permanezca en una relación lineal con r. Gracias por compartir eso. Si traza los residuos, se encuentra que miradas sobre la mejor, y luego no necesita re-expresión: . r1/(y+5)rplot(lm(1/(y+5)~r))
whuber

Respuestas:


14

Esto es algo así como un arte, pero hay algunas cosas estándar y directas que uno siempre puede intentar.

Lo primero que debe hacer es volver a expresar la variable dependiente ( ) para normalizar los residuos . Eso no es realmente aplicable en este ejemplo, donde los puntos parecen caer a lo largo de una curva no lineal suave con muy poca dispersión. Entonces procedemos al siguiente paso.y

Lo siguiente es volver a expresar la variable independiente ( ) para linealizar la relación. Hay una manera simple y fácil de hacer esto. Elija tres puntos representativos a lo largo de la curva, preferiblemente en ambos extremos y en el medio. De la primera figura leí los pares ordenados = , y . Sin otra información que no sea que siempre parece ser positiva, una buena opción es explorar las transformaciones de Box-Cox para varias potencias , generalmente elegidas para ser múltiplos de o y típicamente entre( r , y ) ( 10 , 7 ) ( 90 , 0 ) ( 180 , - 2 ) r r ( r p - 1 ) / p p 1 / 2 1 / 3 - 1 1 p 0 log ( r )r(r,y)(10,7)(90,0)(180,2)r r(rp1)/pp1/21/31 y . (El valor límite cuando acerca a es . Esta transformación creará una relación lineal aproximada siempre que la pendiente entre los dos primeros puntos sea igual a la pendiente entre el segundo par.1p0log(r)

Por ejemplo, las pendientes de los datos no transformadas son = - y = . Estos son bastante diferentes: uno es aproximadamente cuatro veces el otro. Intentar da pendientes de , etc., que funcionan a y : ahora uno de ellos es solo el doble que el otro, lo cual es una mejora. Continuando de esta manera (una hoja de cálculo es conveniente), encuentro que funciona bien: las pendientes ahora son y(07)/(9010)0.088(20)/(18090)0.022p=1/2-16,6-32.4p0-7,3-6.6y=α+βlog(r)y(07)/(901/211/2101/211/2)16.632.4p07.36.6, casi el mismo valor. En consecuencia, debe probar un modelo de la forma . Luego repita: ajuste una línea, examine los residuos, identifique una transformación de para hacerlos aproximadamente simétricos e itere.y=α+βlog(r)y

John Tukey proporciona detalles y muchos ejemplos en su libro clásico Exploratory Data Analysis (Addison-Wesley, 1977). Da procedimientos similares (pero un poco más complicados) para identificar transformaciones estabilizadoras de varianza de . Un conjunto de datos de muestra que proporciona como ejercicio se refiere a datos centenarios sobre las presiones de vapor de mercurio medidas a varias temperaturas. Seguir este procedimiento le permite a uno redescubrir la relación Clausius-Clapeyron ; ¡Los residuos del ajuste final se pueden interpretar en términos de efectos cuántico-mecánicos que ocurren a distancias atómicas!y


Gracias por el consejo de la transformación de Box-Cox. ¿Tiene algún sentido verificar R-cuadrado de lm (1 / (y + 5) ~ r) y lm de otras funciones y luego comparar estos R-cuadrado?
nadya

Tiene sentido cuando res fijo, porque entonces es un proxy de la varianza de los residuos. Sin embargo, si está reexpresando (la variable independiente), entonces tiene valor o es engañoso: consulte stats.stackexchange.com/questions/13314/… . R 2R2rR2
whuber

Muchas gracias por la respuesta! No voy a transformar mis variables independientes
nadya

@whuber: Suponiendo que solo tengo una sola variable , ¿cuál es una buena regla general para elegir la transformación? Tengo el libro EDA de Tukey, pero me resulta difícil encontrar el camino. Mucho parece centrarse en la reexpresión de lápiz y papel. ¿Alguna página / capítulo te parece muy valioso? y
Erich Schubert

@Erich Cada parte de ese libro es profundamente gratificante: después de todo, si puedes hacer algo con lápiz y papel, entonces puedes programar una computadora para que lo haga :-). Con una sola variable a menudo es bueno transformarla por simetría (de su distribución empírica); Tukey llama a esto un "pequeño trato". Una manera simple de identificar dicha transformación se describe en la sección 3E, "Mirar rápidamente". Ilustra lo que se puede aprender de un vistazo a un resumen de N letras (Tukey sugiere un resumen de 7 o 9 letras). Adquirir esa habilidad es más valioso que tener un programa de computadora que haga los cálculos por usted.
whuber

1

Si su variable de respuesta (o más bien, lo que se convertirá en los residuos de su variable de respuesta) en la escala original tiene una distribución Normal como usted lo implica, entonces transformarla para crear una relación lineal con las otras variables significará que ya no es Normal y también cambiará la relación entre su varianza y los valores medios. Entonces, a partir de esa parte de su descripción, creo que es mejor usar una regresión no lineal que transformar la respuesta. De lo contrario, después de la transformación lineal de la respuesta, necesitará una estructura de error más compleja (aunque esto puede ser una cuestión de juicio y deberá verificarlo, utilizando métodos gráficos).

Alternativamente, investigue la transformación de las variables explicativas . Además de las transformaciones rectas, también tiene la opción de agregar en términos cuadráticos.

En términos más generales, la transformación es más un arte que una ciencia, si no existe una teoría que sugiera lo que debe usar como base de la transformación.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.