TRANSFORMACION Y ESTANDARIZACION DE VARIABLES

La transformaciĂ³n y estandarizaciĂ³n de variables son tĂ©cnicas comunes utilizadas en el anĂ¡lisis de datos para mejorar la interpretaciĂ³n de los datos y garantizar que las variables sean comparables entre si

CARGAR CONJUNTO DE DATOS

telco <- read.csv("https://raw.githubusercontent.com/VictorGuevaraP/Estadistica-R/master/Caso_telefon%C3%ADa.csv", sep=";", encoding="latin1", stringsAsFactors = TRUE)
head(telco)
##   CĂ³digo    GĂ©nero  Sucursal Reclamos Llamadas Edad Minutos Monto Tiempo
## 1 CLIPE1 Masculino Suc. Este        5        7   27    33.0  90.7   16.9
## 2 CLIPE2  Femenino Suc. Este        2        4   28    31.7  95.7    1.5
## 3 CLIPE3 Masculino Suc. Este        5        7   28    39.9 114.5    4.0
## 4 CLIPE4 Masculino Suc. Este        3        5   21    39.3 106.0   14.5
## 5 CLIPE5  Femenino Suc. Este        2        3   29    37.8  99.0    2.7
## 6 CLIPE6 Masculino Suc. Este        3        4   26    43.7  90.2   11.5
##     OpiniĂ³n
## 1   Regular
## 2     Bueno
## 3    Pésimo
## 4 Muy Bueno
## 5    Pésimo
## 6     Bueno

TRANSFORMACION RAIZ CUADRADA

#ORIGINAL
hist(telco$Edad, 12)

Para sacar la raiz cuadrada simplemente utilizar la funcion de SQRT

sqrt(telco$Edad)
##  [1] 5.196152 5.291503 5.291503 4.582576 5.385165 5.099020 6.324555 6.324555
##  [9] 5.477226 5.196152 5.291503 4.898979 5.099020 5.744563 4.582576 6.324555
## [17] 5.000000 6.164414 5.916080 5.567764 5.291503 5.099020 5.099020 5.744563
## [25] 5.830952 4.690416 5.099020 6.244998 5.567764 4.690416 5.291503 5.916080
## [33] 4.690416 6.324555 5.830952 4.472136 5.830952 4.472136 5.385165 5.744563
## [41] 4.795832 5.916080 4.898979 5.656854 5.656854 5.196152 6.082763 5.656854
## [49] 5.744563 5.916080 6.244998 5.830952 6.164414 6.244998 6.082763 5.656854
## [57] 6.082763 5.000000 5.099020 6.324555 6.324555 5.477226 5.291503 4.898979
## [65] 5.744563 4.582576 5.291503 4.582576 5.385165 6.000000 5.830952 4.472136
## [73] 5.830952 4.472136 5.385165 5.567764 4.690416 6.164414 6.000000 5.744563

GRAFICAMENTE

hist(sqrt(telco$Edad))

TRANSFORMACION EXPONENCIAL

Se aplica cuando los datos tienenuna distribucion sesgada hacia la izquierda(asimetria negativa). La transformacion exponencial puede ayudar a corregir asimetria y hacer que los datos se aproximen mas a una distribucion simètrica.

En R para poder obtener esta transformacion se debe utilizar la funcion exp()

exp(telco$Edad)
##  [1] 5.320482e+11 1.446257e+12 1.446257e+12 1.318816e+09 3.931334e+12
##  [6] 1.957296e+11 2.353853e+17 2.353853e+17 1.068647e+13 5.320482e+11
## [11] 1.446257e+12 2.648912e+10 1.957296e+11 2.146436e+14 1.318816e+09
## [16] 2.353853e+17 7.200490e+10 3.185593e+16 1.586013e+15 2.904885e+13
## [21] 1.446257e+12 1.957296e+11 1.957296e+11 2.146436e+14 5.834617e+14
## [26] 3.584913e+09 1.957296e+11 8.659340e+16 2.904885e+13 3.584913e+09
## [31] 1.446257e+12 1.586013e+15 3.584913e+09 2.353853e+17 5.834617e+14
## [36] 4.851652e+08 5.834617e+14 4.851652e+08 3.931334e+12 2.146436e+14
## [41] 9.744803e+09 1.586013e+15 2.648912e+10 7.896296e+13 7.896296e+13
## [46] 5.320482e+11 1.171914e+16 7.896296e+13 2.146436e+14 1.586013e+15
## [51] 8.659340e+16 5.834617e+14 3.185593e+16 8.659340e+16 1.171914e+16
## [56] 7.896296e+13 1.171914e+16 7.200490e+10 1.957296e+11 2.353853e+17
## [61] 2.353853e+17 1.068647e+13 1.446257e+12 2.648912e+10 2.146436e+14
## [66] 1.318816e+09 1.446257e+12 1.318816e+09 3.931334e+12 4.311232e+15
## [71] 5.834617e+14 4.851652e+08 5.834617e+14 4.851652e+08 3.931334e+12
## [76] 2.904885e+13 3.584913e+09 3.185593e+16 4.311232e+15 2.146436e+14

GRAFICAMENTE

hist(exp(telco$Edad))

Forma 2

edad_exp <- exp(telco$Edad)
hist(edad_exp)

TRANSFORMACION LOGARITMICA

Esta transformacion se utiliza cuando los datos presentan una distribucion sesgada hacia la derecha(asimetria positiva)

Para la transformacion logaritmica utilizar log(dentro de los argumentos se puede cambiar la base)

log(telco$Edad)
##  [1] 3.295837 3.332205 3.332205 3.044522 3.367296 3.258097 3.688879 3.688879
##  [9] 3.401197 3.295837 3.332205 3.178054 3.258097 3.496508 3.044522 3.688879
## [17] 3.218876 3.637586 3.555348 3.433987 3.332205 3.258097 3.258097 3.496508
## [25] 3.526361 3.091042 3.258097 3.663562 3.433987 3.091042 3.332205 3.555348
## [33] 3.091042 3.688879 3.526361 2.995732 3.526361 2.995732 3.367296 3.496508
## [41] 3.135494 3.555348 3.178054 3.465736 3.465736 3.295837 3.610918 3.465736
## [49] 3.496508 3.555348 3.663562 3.526361 3.637586 3.663562 3.610918 3.465736
## [57] 3.610918 3.218876 3.258097 3.688879 3.688879 3.401197 3.332205 3.178054
## [65] 3.496508 3.044522 3.332205 3.044522 3.367296 3.583519 3.526361 2.995732
## [73] 3.526361 2.995732 3.367296 3.433987 3.091042 3.637586 3.583519 3.496508

GRAFICAMENTE

hist(log(telco$Edad))

CAMBIAR BASE 2

log(telco$Edad, base=2)
##  [1] 4.754888 4.807355 4.807355 4.392317 4.857981 4.700440 5.321928 5.321928
##  [9] 4.906891 4.754888 4.807355 4.584963 4.700440 5.044394 4.392317 5.321928
## [17] 4.643856 5.247928 5.129283 4.954196 4.807355 4.700440 4.700440 5.044394
## [25] 5.087463 4.459432 4.700440 5.285402 4.954196 4.459432 4.807355 5.129283
## [33] 4.459432 5.321928 5.087463 4.321928 5.087463 4.321928 4.857981 5.044394
## [41] 4.523562 5.129283 4.584963 5.000000 5.000000 4.754888 5.209453 5.000000
## [49] 5.044394 5.129283 5.285402 5.087463 5.247928 5.285402 5.209453 5.000000
## [57] 5.209453 4.643856 4.700440 5.321928 5.321928 4.906891 4.807355 4.584963
## [65] 5.044394 4.392317 4.807355 4.392317 4.857981 5.169925 5.087463 4.321928
## [73] 5.087463 4.321928 4.857981 4.954196 4.459432 5.247928 5.169925 5.044394

GRAFICAMENTE

hist(log(telco$Edad, base = 2))

COMPARACION DE TRANSFORMACIONES

edad_sqrt <- sqrt(telco$Edad)
edad_exp <- exp(telco$Edad)
edad_ln <- log(telco$Edad)
edad_log2 <- log(telco$Edad, base=2)
edad_log5 <- log(telco$Edad, base=5)

VER GRAFICAMENTE CADA UNA:

par(mfrow=c(3,2))
hist(telco$Edad)
hist(edad_sqrt)
hist(edad_exp)
hist(edad_ln)
hist(edad_log2)
hist(edad_log5)

par(mfrow=c(1,1))

Este tipo de transformaciones, busca que los datos simetricos(distribucion forma de campana) o que cumpla un supuesto estadistico. La visualizacion de la distribucion puede mejorarse con la grafica de densidad.

par(mfrow=c(3,2))
plot(density(telco$Edad), main = "Distribucion de Edades originales")
plot(density(edad_sqrt), main = "Distribucion de Edades transformadas - sqrt")
plot(density(edad_exp), main = "Distribucion de Edades transformadas - exp")
plot(density(edad_ln), main = "Distribucion de Edades transformadas - ln")
plot(density(edad_log2), main = "Distribucion de Edades transformadas - log2")
plot(density(edad_log5), main = "Distribucion de Edades transformadas - log5")

par(mfrow=c(1,1))

Se puede Realizar un AnĂ lisis general de las variables originales y verificar su comportamiento, a partir de alli se puede aplicar la transformacion mas adecuada segun el objetivo.

GRAFICA GENERAL

library(PerformanceAnalytics)
## Loading required package: xts
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## 
## Attaching package: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
## 
##     legend
chart.Correlation(cor(telco[,4:8]),histogram=TRUE)