library(data.table)
library(readxl)
library(ggplot2)
library(usmap)
library(knitr)
library(caret)
library(rpart)
library(rpart.plot)
library(factoextra)
library(dbscan)
Analisis_demo<-read_excel("Analisis demográfico.xlsx")
Analisis_demo<-as.data.table(Analisis_demo)
Trends_google<-read_excel("Busquedasgoogle-2.xlsx")
Ranking_Final<-read_excel("RankingR2.xlsx")
Doing_Business<-read_excel("americas-top-states-for-business-2019.xlsx")
Doing_Business<-as.data.table(Doing_Business)
Nuestro trabajo es una investigación en Estados Unidos, con el fin de saber en qué estado será rentable poner una nueva marca de cosméticos veganos y libres de crueldad animal. Para esto analizamos el interés de los estadounidenses en los cosméticos veganos y cruelty free gracias a los datos de Google Trends. Luego, creamos una base de análisis demográfico, en la que estudiamos variables correspondientes al porcentaje de mujeres, rango de edad, mujeres no pobres, ingreso promedio y la brecha salarial entre hombres y mujeres. Por último, comparamos todo con una base del Banco Mundial sobre Doing Business para tomar la decisión final.
sapply(Analisis_demo,class)
## State Poblacion Total Mujeres
## "character" "numeric" "numeric"
## Mujeres en pobreza M_NOPOBRES Hombres
## "numeric" "numeric" "numeric"
## Hombres en pobreza H_NOPOBRES Women´s Earnings
## "numeric" "numeric" "numeric"
## Men's Earnigs Wage Gap 15 to 19 years
## "numeric" "numeric" "numeric"
## 20 to 24 years 25 to 29 years 30 to 34 years
## "numeric" "numeric" "numeric"
## PorcentM_NOPOBRES Porcent_Mujeres1 Porcent_15-19
## "numeric" "numeric" "numeric"
## Porcent_20-24 Porcent_25-29 Porcent_30-34
## "numeric" "numeric" "numeric"
## PromedioPorcent_edades
## "numeric"
sapply(Doing_Business,class)
## STATE OVERALL WORKFORCE
## "character" "numeric" "numeric"
## ECONOMY INFRA-STRUCTURE COST OF DOING BUSINESS
## "numeric" "numeric" "numeric"
## QUALITY OF LIFE EDUCATION TECHNOLOGY AND INNOVATION
## "numeric" "numeric" "numeric"
## BUSINESS FRIENDLINESS ACCESS TO CAPITAL COST OF LIVING
## "numeric" "numeric" "numeric"
sapply(Ranking_Final,class)
## ...1 State Ranking-trends Ranking_MNOPOBRES
## "numeric" "character" "numeric" "numeric"
## Ranking_M.EDAD Ranking_Ing.M Ranking_Ing_State Ranking_1º
## "numeric" "numeric" "numeric" "numeric"
## Suma_columnas Ranking_total
## "numeric" "numeric"
sapply(Trends_google,class)
## Estado Vegan makeup Cruelty free cosmetics
## "character" "numeric" "numeric"
## Cruelty free makeup Veganismo
## "numeric" "numeric"
Las variables más importantes de nuestro trabajo se encuentran en las bases “Ranking_Final” y “Doing Business” y fueron: “Promedio_porcentual del rango de edades”, “Women´s Earnings”, “Rankings_trends” y “Cost of doing Business”. La primera variable es importante porque nos indica qué estados tienen una mayor cantidad de mujeres en el rango etario de nuestro target. La segunda es importante porque nos muestra qué estados tienen una mayor cantidad de mujeres que no estén en pobreza, o sea que tienen los medios para acceder a nuestros productos. La tercera variable es importante porque nos aproxima a cuán interesados están los habitantes de cada estado en los temas importantes para nuestra marca según sus búsquedas en Google de “Cruelty-free makeup”, “Cruelty free cosmetics”, “Vegan makeup” y “Veganism”. La cuarta variable nos sirve a la hora de ver si podremos costear el negocio, ya que muestra el valor en sí de abrir una tienda en Estados Unidos considerando los primeros gastos, algo fundamental porque ese es nuestro objetivo.
Análisis de búsquedas en Google
Análisis de población
Analisis_demo<-as.data.table(Analisis_demo)
reg<-Analisis_demo[,.(`Wage Gap`, `Mujeres en pobreza`, `Hombres en pobreza`, `Women´s Earnings`, `Men's Earnigs`,M_NOPOBRES, H_NOPOBRES)]
regc<-lm(data=reg,formula=`Mujeres en pobreza`~`Women´s Earnings`+ `Hombres en pobreza`+ M_NOPOBRES+ H_NOPOBRES )
regc2<-lm(data=reg,formula=`Mujeres en pobreza`~`Women´s Earnings`+ M_NOPOBRES)
summary(regc)
##
## Call:
## lm(formula = `Mujeres en pobreza` ~ `Women´s Earnings` + `Hombres en pobreza` +
## M_NOPOBRES + H_NOPOBRES, data = reg)
##
## Residuals:
## Min 1Q Median 3Q Max
## -200731 -29666 -6204 40702 206816
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.203e+04 6.984e+04 0.315 0.754
## `Women´s Earnings` -3.814e-01 1.690e+00 -0.226 0.822
## `Hombres en pobreza` 9.708e-01 1.330e-01 7.299 3.25e-09 ***
## M_NOPOBRES -6.580e-01 8.087e-02 -8.137 1.86e-10 ***
## H_NOPOBRES 7.019e-01 7.591e-02 9.247 4.62e-12 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 74170 on 46 degrees of freedom
## Multiple R-squared: 0.985, Adjusted R-squared: 0.9837
## F-statistic: 754.3 on 4 and 46 DF, p-value: < 2.2e-16
summary(regc2)
##
## Call:
## lm(formula = `Mujeres en pobreza` ~ `Women´s Earnings` + M_NOPOBRES,
## data = reg)
##
## Residuals:
## Min 1Q Median 3Q Max
## -540717 -37189 11686 66419 224941
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.049e+05 1.217e+05 1.683 0.0988 .
## `Women´s Earnings` -5.907e+00 2.857e+00 -2.067 0.0441 *
## M_NOPOBRES 1.872e-01 6.514e-03 28.731 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 138600 on 48 degrees of freedom
## Multiple R-squared: 0.9453, Adjusted R-squared: 0.943
## F-statistic: 414.5 on 2 and 48 DF, p-value: < 2.2e-16
set.seed(12345)
setupKCV<-trainControl(method= "cv", number = 5)
predkfolds1<-train(`Mujeres en pobreza`~`Women´s Earnings`+ `Hombres en pobreza`+ M_NOPOBRES+ H_NOPOBRES, data=reg,method="lm",trcontrol=setupKCV)
predkfolds2<-train(`Mujeres en pobreza`~`Women´s Earnings`+ M_NOPOBRES, data=reg,method="lm",trcontrol=setupKCV)
print(predkfolds1)
## Linear Regression
##
## 51 samples
## 4 predictor
##
## No pre-processing
## Resampling: Bootstrapped (25 reps)
## Summary of sample sizes: 51, 51, 51, 51, 51, 51, ...
## Resampling results:
##
## RMSE Rsquared MAE
## 110061.3 0.948116 67931.51
##
## Tuning parameter 'intercept' was held constant at a value of TRUE
print(predkfolds2)
## Linear Regression
##
## 51 samples
## 2 predictor
##
## No pre-processing
## Resampling: Bootstrapped (25 reps)
## Summary of sample sizes: 51, 51, 51, 51, 51, 51, ...
## Resampling results:
##
## RMSE Rsquared MAE
## 148885.8 0.8785127 96321.12
##
## Tuning parameter 'intercept' was held constant at a value of TRUE
Los árboles de decisión son útiles para entender la estructura de un conjunto de datos. Sirven para resolver problemas, tanto de clasificación para predecir una variable discreta y típicamente binaria, como de regresión para predecir una variable continua. Se trata de modelos excesivamente simples, siendo esa su ventaja al ser fácilmente interpretables. Pese a lo beneficioso del modelo, en nuestro caso no es factible hacer un árbol de decisión, ya que nuestras bases de datos no poseen variables tipo carácter ni del tipo binaria, sino que la mayoría de nuestras varibles en las bases de datos son de tipo numérico. Es por esto que es difícil que se generen los nodos, por lo que hacer un árbol de decisión no nos entregara ninguna información relevante.
datacluster<-Analisis_demo[,.(`Women´s Earnings`,`Mujeres en pobreza`)]
ggplot(data = Analisis_demo,aes(x=`Women´s Earnings`,y=`Mujeres en pobreza`))+ geom_point()
kk1<-kmeans(x=datacluster,centers=3,nstart=25)
fviz_cluster(kk1,datacluster,geom = "point")
datacluster$clkme<-kk1$cluster
Escogimos utilizar el método K-means porque es más gráfico y segmenta de mejor forma visualmente el nivel de mujeres en pobreza y su ingreso promedio. Ilustra de mejor manera lo que queremos mostrar y lo deja mucho más claro y fácil de entender.