Regresión: transformación de variables

41

Al transformar variables, ¿tiene que usar la misma transformación? Por ejemplo, ¿puedo elegir y elegir variables transformadas de manera diferente, como en:

Sea edad, la duración del empleo, la duración de la residencia y los ingresos.x1,x2,x3

Y = B1*sqrt(x1) + B2*-1/(x2) + B3*log(x3)

O, ¿debe ser coherente con sus transformaciones y utilizar todo lo mismo? Como en:

Y = B1*log(x1) + B2*log(x2) + B3*log(x3) 

Entiendo que el objetivo de la transformación es abordar el problema de la normalidad. Al observar los histogramas de cada variable, podemos ver que presentan distribuciones muy diferentes, lo que me llevaría a creer que las transformaciones requeridas son diferentes en función de cada variable.

## R Code
df <- read.spss(file="http://www.bertelsen.ca/R/logistic-regression.sav", 
                use.value.labels=T, to.data.frame=T)
hist(df[1:7]) 

texto alternativo

Por último, ¿qué tan válido es transformar variables usando donde tiene valores? ¿Es necesario que esta transformación sea coherente en todas las variables o se utiliza ad hoc incluso para aquellas variables que no incluyen los ?log(xn+1)xn00

## R Code 
plot(df[1:7])

texto alternativo

Brandon Bertelsen
fuente

Respuestas:

59

Uno transforma la variable dependiente para lograr simetría aproximada y homocedasticidad de los residuos . Las transformaciones de las variables independientes tienen un propósito diferente: después de todo, en esta regresión todos los valores independientes se toman como fijos, no aleatorios, por lo que la "normalidad" no es aplicable. El objetivo principal de estas transformaciones es lograr relaciones lineales con la variable dependiente (o, realmente, con su logit). (Este objetivo anula los auxiliares, como reducir el exceso de apalancamientoo lograr una interpretación simple de los coeficientes.) Estas relaciones son una propiedad de los datos y los fenómenos que los produjeron, por lo que necesita la flexibilidad para elegir expresiones apropiadas de cada una de las variables por separado de las demás. Específicamente, no solo no es un problema usar un registro, una raíz y un recíproco, es bastante común. El principio es que (generalmente) no hay nada especial sobre cómo se expresan originalmente los datos, por lo que debe dejar que los datos sugieran nuevas expresiones que conduzcan a modelos efectivos, precisos, útiles y (si es posible) justificados teóricamente.

Los histogramas, que reflejan las distribuciones univariadas, a menudo sugieren una transformación inicial, pero no son dispositivos. Acompáñalos con matrices de diagrama de dispersión para que puedas examinar las relaciones entre todas las variables.


Las transformaciones como donde es un "valor inicial" constante positivo pueden funcionar, y pueden indicarse incluso cuando ningún valor de es cero, pero a veces destruyen relaciones lineales. Cuando esto ocurre, una buena solución es crear dos variables. Uno de ellos es igual a cuando es distinto de cero y de lo contrario es cualquier cosa; Es conveniente dejarlo predeterminado en cero. El otro, llamémoslo , es un indicador de si es cero: es igual a 1 cuando y de lo contrario es 0. Estos términos aportan una sumalog(x+c)cxlog(x)xzxxx=0

βlog(x)+β0zx

a la estimación Cuando , el segundo término desaparece dejando solo . Cuando , " " se ha establecido en cero mientras , dejando solo el valor . Por lo tanto, estima el efecto cuando y, de lo contrario, es el coeficiente de .x>0zx=0βlog(x)x=0log(x)zx=1β0β0x=0βlog(x)

whuber
fuente
1
Descripción muy útil, gracias por la dirección y los detalles de mi subconsulta también.
Brandon Bertelsen
pareonline.net/getvn.asp?v=15&n=12 Osborne (2002) recomienda anclar el valor mínimo en una distribución exactamente a 1.0. pareonline.net/getvn.asp?v=8&n=6
Chris
1
@Chris Todas las transformaciones de Box-Cox también pasan de negativo a positivo en . Sin embargo, eso es irrelevante para una transformación no lineal, ya que puede ser seguida por cualquier transformación lineal sin cambiar sus efectos sobre la varianza o la linealidad de una relación con otra variable. Por lo tanto, si su cliente es alérgico a los números negativos, simplemente agregue una constante adecuada después de la transformación. Sin embargo, agregar la constante antes de la transformación puede tener un efecto profundo, y es por eso que ninguna recomendación de usar podría ser correcta. 11
whuber
1
En uno de mis conjuntos de datos en los que estoy trabajando, noté que si cambiaba la variable de respuesta dependiente para anclar en 1 y usaba una transformación de caja cox para eliminar el sesgo, la transformación resultante se debilitaba y creía en su crítica. ;)
Chris
1
@whuber Mi pregunta anterior fue muy tonta (probablemente eliminará el comentario). Por supuesto, pertenece al indicador ficticio , y NO a la constante en el modelo. Gracias nuevamente por las explicaciones amplias y claras de esta configuración; Muy útil para mi trabajo. En general, prefiero esta parametrización en lugar de este otro enfoque equivalente . z xβ0zx
landroni