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
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′=1
¿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?
plot(lm(1/(y+5)~r))
Respuestas:
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→(rp−1)/p p 1/2 1/3 −1 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.1 p 0 log(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(0−7)/(90−10) 0.088 (−2−0)/(180−90) −0.022 p=−1/2 -16,6-32.4p≈0-7,3-6.6y=α+βlog(r)y(0−7)/(90−1/2−1−1/2−10−1/2−1−1/2) −16.6 −32.4 p≈0 −7.3 −6.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
fuente
r
es 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 2r
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.
fuente