3 votos

Entender la salida de powerTransform

En el car tenemos la función powerTransform que transforma las variables de una ecuación de regresión para que los residuos de la ecuación transformada sean lo más normales posible. Estoy confundido acerca de lo que es esta transformación y más en el siguiente ejemplo:

# Box Cox Method, univariate
summary(p1 <- powerTransform(cycles ~ len + amp + load, Wool))

# fit linear model with transformed response:
coef(p1, round=TRUE)
summary(m1 <- lm(bcPower(cycles, p1$roundlam) ~ len + amp + load, Wool))

Lo que me confunde es qué es exactamente el modelo p1 es. Es simplemente el modelo lineal sin una transformación, entonces encuentra el parámetro óptimo, entonces usamos eso para especificar m1 ? ¿Cuál es la ecuación de regresión para p1 , m1 ??

4voto

Isabella Ghement Puntos 9964

La función powerTransform() del paquete auto determina la potencia óptima a la que debe elevar la variable de resultado (en este caso, los ciclos) antes de incluirla en un modelo de regresión lineal. La potencia óptima se denota por lambda, por lo que outcome^lambda se convierte en la variable de resultado transformada.

Para su ejemplo, puede escribir p1$lam en la consola de R y verá que la lambda óptima es lambda =0,05915814.

En la práctica, lambda se redondea antes de utilizarse para transformar el resultado, de modo que obtenemos una bonita potencia.

Si escribe p1$roundlam en la consola de R, verá que el valor óptimo redondeado para lambda es lambda = 0.

Ahora que sabe qué transformación óptima se utilizará en los ciclos de la variable de resultado en el conjunto de datos Wool, puede escribir

bcPower(Lana $cycles,p1$ redondo)

para ver los valores de los ciclos^0 (es decir, los valores del resultado elevados a la potencia 0). El modelo lineal ajustado a estos valores de resultado transformados es:

m1 <- lm( bcPower(cycles, p1$roundlam) ~ len + amp + load, data = Wool )

Así que la verdadera pregunta es: ¿Qué significa elevar una variable a la potencia 0? Por convención, significa que estamos transformando la variable utilizando la transformación logarítmica natural. Puede comprobar que este es el caso comparando los resultados de los siguientes comandos de R:

bcPower(Wool$cycles,p1$roundlam)

log(Wool$cycles)

En resumen, el modelo que se ajusta para m1 es simplemente:

m1.new <- lm( log(cycles) ~ len + amp + load, data = Wool )

Puede comparar summary(m1) con summary(m1.new) para convencerse de que esto es así.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X