Un vendedor vende sus productos sólo a través de correos electrónicos personalizados. El vendedor envía catálogos a los clientes con las características de los productos, y estos ordenan directamente de los catálogos. El responsable de marketing ha desarrollado registros de clientes para aprender qué hace que algunos clientes gasten más que otros. Para el estudio se presenta muestras independientes (por edades) de los clientes con sus características y variables. El conjunto de datos incluye n = 1000 clientes y las variables son:
Edad: Edad del cliente (Adulta/Media/Joven).
Género: Género del cliente (Masculino/Femenino).
Vivienda: Si el cliente es dueño de su casa (Propia/Alquilada).
Ecivil: Estado civil (Soltero/Casado).
Ubicación: Ubicación de un negocio que vende productos similares en términos de distancia (Lejos/Cerca).
Salario: Sueldo anual de los clientes (en dólares).
Hijos: Número de hijos (0-3).
Historial: Historial del volumen de compra anterior (Bajo/Medio/Alto/NA). NA significa que este cliente aún no ha adquirido ningún producto.
Catálogos: Número de catálogos enviados.
Monto: Gasto en dólares
<- read.csv("MarketingDirecto (1).csv", stringsAsFactors=TRUE)
DMark head(DMark)
|> View() DMark
<- DMark[DMark$Edad == "Joven",]
EJoven head(EJoven)
View(EJoven)
colMeans(EJoven[,c(6,7,9,10)])
## Salario Hijos Catalogos Monto
## 27715.679443 1.055749 13.024390 558.623693
Solo seleccionamos esas columnas porque son variables cuantitativas, de las cuales obtenemos sus medias de cadaa una de esas columnas.
<- EJoven[EJoven$Ubicacion == "Lejos",]
Ulejos colMeans(Ulejos[,c(6,7,9,10)])
## Salario Hijos Catalogos Monto
## 26487.777778 1.055556 14.200000 688.988889
Aca se esta extrayendo del dataframe EdadJoven, que contine tambien a la varaible ubicacion , pero de esa variable queremos la caracteristica lejos.
<- EJoven[EJoven$Ubicacion == "Cerca",]
UCerca colMeans(UCerca[,c(6,7,9,10)])
## Salario Hijos Catalogos Monto
## 28276.649746 1.055838 12.487310 499.065990
Aca se esta extrayendo del dataframe EdadMedia, que contine tambien a la varaible ubicacion , pero de esa variable queremos las que contengan la caracteristica cerca.
<-scale(EJoven[,c(6,7,9,10)])
EstEjovenhead(EstEjoven)
## Salario Hijos Catalogos Monto
## 3 -0.8512697 -0.99948181 0.7689439 -0.5834190
## 6 0.1607437 -0.99948181 -1.0855679 -0.1413401
## 11 0.9571802 -0.05277792 -0.1583120 0.8183486
## 21 -0.8033637 0.89392597 -1.0855679 -0.8100122
## 22 1.3224632 -0.99948181 -0.1583120 0.5961984
## 24 0.9452037 -0.05277792 -0.1583120 0.5539899
El objetivo de estandarizar las variables en un análisis multivariante es principalmente homogeneizar la escala de las variables para que cada una contribuya equitativamente al análisis. Esto es importante porque en muchos conjuntos de datos, las variables pueden estar en diferentes escalas o unidades de medida, y si no se estandarizan, las variables con mayor varianza o en escalas más grandes podrían dominar el análisis y sesgar los resultados
options(scipen=999)
<-round(cov(EJoven[,c(6,7,9,10)]),3)
S S
## Salario Hijos Catalogos Monto
## Salario 278869438.610 -962.765 2738.427 5072347.529
## Hijos -962.765 1.116 -0.834 -112.108
## Catalogos 2738.427 -0.834 41.870 1197.093
## Monto 5072347.529 -112.108 1197.093 202631.375
La diagonal principal de la matriz muestra las varianzas de cada variable, mientras que los elementos fuera de la diagonal principal muestran las covarianzas entre las variables. Las covarianzas indican la relación lineal entre las variables; si son positivas, indica una relación positiva entre las variables, mientras que si son negativas, indica una relación negativa.
La covarianza positiva entre Salario y Monto indica que a medida que el salario aumenta, es probable que el monto también aumente. Por otro lado, una covarianza negativa entre Hijos y Monto indica que a medida que el número de hijos aumenta, es probable que el monto disminuya.
<-sum(diag(S))
trS trS
## [1] 279072113
La traza de la matriz de covarianza S, que es 279072113, indica la suma de las varianzas de las variables Salario, Hijos, Catalogos y Monto en el conjunto de datos EJoven. Cuanto mayor sea la traza, mayor será la dispersión de los datos en el conjunto de variables consideradas
det(S)
## [1] 949145735501744
El valor del determinante es bastante grande (949145735501744), lo que sugiere que las variables Salario, Hijos, Catalogos y Monto tienen una relación considerablemente independiente entre sí en el conjunto de datos EJoven
<- eigen(S)
eigenvalues $values eigenvalues
## [1] 278961735.929004 110346.096341 29.914929 1.030726
sum(eigenvalues$values)
## [1] 279072113
prod(eigenvalues$values)
## [1] 949145735534725
<- eigenvalues$vectors
autovectors autovectors
## [,1] [,2] [,3] [,4]
## [1,] 0.999834490776 -0.0181922720 -0.0001792236 -0.00001312221
## [2,] -0.000003457984 -0.0008571041 -0.0055056749 0.99998447633
## [3,] 0.000009892945 0.0103986244 -0.9999308263 -0.00549646665
## [4,] 0.018193156521 0.9997800634 0.0103922113 0.00091420881
sum(eigenvalues$values)
## [1] 279072113
prod(eigenvalues$values)
## [1] 949145735534725
pairs(EJoven[,c(6,7,9,10)])
En este grafico podemos apreciar que cada una de las variables que estan relacionadas por pares, en un diagrama de dispersion, como por ejemplo las variables Salario y Monto.
library(PerformanceAnalytics)
## Warning: package 'PerformanceAnalytics' was built under R version 4.2.3
## Loading required package: xts
## Warning: package 'xts' was built under R version 4.2.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.2.3
##
## 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
library(corrplot)
## corrplot 0.92 loaded
<-cor(EJoven[,c(6,7,9,10)])
corrcorrplot(corr,method="circle")
Círculos grandes y de color intenso: Indican una correlación fuerte. Si el color es positivo (por ejemplo, azul), significa que hay una correlación positiva; si es negativo (por ejemplo, rojo), la correlación es negativa.
Círculos pequeños y de color claro: Sugieren una correlación débil o inexistente entre las variables.
library(psych)
## Warning: package 'psych' was built under R version 4.2.3
cor.plot(corr, main="Mapa de Calor", diag=TRUE,
show.legend = TRUE)
library(aplpack)
## Warning: package 'aplpack' was built under R version 4.2.2
faces(EJoven[1:20,c(6,7,9,10)])
## effect of variables:
## modified item Var
## "height of face " "Salario"
## "width of face " "Hijos"
## "structure of face" "Catalogos"
## "height of mouth " "Monto"
## "width of mouth " "Salario"
## "smiling " "Hijos"
## "height of eyes " "Catalogos"
## "width of eyes " "Monto"
## "height of hair " "Salario"
## "width of hair " "Hijos"
## "style of hair " "Catalogos"
## "height of nose " "Monto"
## "width of nose " "Salario"
## "width of ear " "Hijos"
## "height of ear " "Catalogos"
faces(EJoven[1:20,c(6,7,9,10)], face.type = 1, main = "Caras de Chernoff",
print.info = 0, nrow.plot = 4, ncol.plot = 5)
Como podemos ver la mayoria de las caras son pequeñas y anaranjadas, que
puede significar un salario ,monto, numero de hijos y catalogos minimos,
mientras que hay una cara que es grande y de un amarillo claro, por lo
que puede significar que tiene un salario y monto alto como un mayor
numero de hijos y catalogos.
Al observar las caras, podrías identificar patrones o tendencias, como si las caras con bocas anchas tienden a tener también narices grandes, lo que podría sugerir una relación entre el salario y el monto.
stars(EJoven[1:20,c(6,7,9,10)], key.loc=c(-2,12), lwd=1)
Como podemos apreciar en los graficos de estrella, la observacion 77 es
la mas grande y tiene las 4 variables, con la variable hijos y salario
siendo las mas altas mientras que las variables catalogos y monto son
las mas bajas. Aparte podemos apreciar que muy pocas de las
observaciones tienes las cuatro variables, siendo generalmente que
contienen 2 variables.
Al observar los gráficos de estrellas, puedes identificar patrones o anomalías entre los individuos, como aquellos con altos salarios que también tienen un gran número de catálogos enviados, lo que podría sugerir una relación entre estas variables.