Contenido de este artículo
- 0
- 0
- 0
- 0
Una transformación box-cox es un método comúnmente utilizado para transformar un conjunto de datos que no se distribuye normalmente en uno con una distribución más normal .
La idea básica detrás de este método es encontrar algún valor para λ tal que los datos transformados estén lo más cerca posible de la distribución normal, utilizando la siguiente fórmula:
- y (λ) = (y λ – 1) / λ si y ≠ 0
- y (λ) = log (y) si y = 0
Podemos realizar una transformación box-cox en R usando la función boxcox () de la biblioteca MASS () . El siguiente ejemplo muestra cómo utilizar esta función en la práctica.
Consulte este artículo de la Universidad de Connecticut para obtener un buen resumen del desarrollo de la transformación Box-Cox.
Ejemplo: Transformación de Box-Cox en R
El siguiente código muestra cómo ajustar un modelo de regresión lineal a un conjunto de datos, luego use la función boxcox () para encontrar una lambda óptima para transformar la variable de respuesta y ajustar un nuevo modelo.
biblioteca (MASA) #crear datos y = c (1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 6, 7, 8) x = c (7, 7, 8, 3, 2, 4, 4, 6, 6, 7, 5, 3, 3, 5, 8) #fit modelo de regresión lineal modelo <- lm (y ~ x) #encuentre el lambda óptimo para la transformación de Box-Cox bc <- boxcox (y ~ x) (lambda <- bc $ x [which.max (bc $ y)]) [1] -0,4242424 #ajustar nuevo modelo de regresión lineal usando la transformación de Box-Cox nuevo_modelo <- lm (((y ^ lambda-1) / lambda) ~ x)
Se encontró que la lambda óptima era -0,4242424 . Por lo tanto, el nuevo modelo de regresión reemplazó la variable de respuesta original y con la variable y = (y -0.4242424 – 1) / -0.4242424.
El siguiente código muestra cómo crear dos gráficos QQ en R para visualizar las diferencias en los residuos entre los dos modelos de regresión:
#define el área de trazado op <- par (pty = "s", mfrow = c (1, 2)) Gráfico #QQ para el modelo original qqnorm (modelo $ residuales) qqline (modelo $ residuales) Gráfico #QQ para el modelo transformado de Box-Cox qqnorm (nuevo_modelo $ residuales) qqline (nuevo_modelo $ residuales) #muestra ambos gráficos QQ par (op)
Como regla general, si los puntos de datos caen a lo largo de una línea diagonal recta en una gráfica QQ, es probable que el conjunto de datos siga una distribución normal.
Observe cómo el modelo transformado de box-cox produce una gráfica QQ con una línea mucho más recta que el modelo de regresión original.
Esto es una indicación de que los residuos del modelo transformado de box-cox tienen una distribución mucho más normal, lo que satisface uno de los supuestos de la regresión lineal .
Recursos adicionales
Cómo transformar datos en R (logaritmo, raíz cuadrada, raíz cúbica)
Cómo crear e interpretar una gráfica QQ en R
Cómo realizar una prueba de normalidad de Shapiro-Wilk en R
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: