Importación base de datos
library(readr)
library(dplyr)
creditos <- read_delim("creditos.txt", delim = "\t",
escape_double = FALSE, trim_ws = TRUE)
Cambio de nombre a las variables
creditos %>%
select("INGRESOS_DECLARADOS_TOTA", "MONTO_TOTAL_OTORGADO", "SEXO", "NIVEL_ESTUDIOS", "ESTRATO") -> basen
colnames(basen) <- c("INGRESOS", "MONTO OTORGADO", "GENERO", "NIVEL DE ESTUDIOS", "ESTRATO")
Eliminación de datos faltantes, realización de
attach para manejar directamente las variables y cambio
de escala dividiendo todos los valores por 1000000.
basen <- basen[complete.cases(basen), ]
attach(basen)
basen$INGRESOS <- basen$INGRESOS/1000000
basen$`MONTO OTORGADO` <- basen$`MONTO OTORGADO`/1000000
Se realiza un filtro para los clientes que se les ortogó un crédito
por menos de 100 millones y se descartan los clientes con ingresos
superiores a 25 millones de pesos para así obtener la base de datos
final.
basen %>%
filter(`MONTO OTORGADO` < 100 & INGRESOS < 25) -> basefin2
attach(basefin2)
## The following objects are masked from basen:
##
## ESTRATO, GENERO, INGRESOS, MONTO OTORGADO, NIVEL DE ESTUDIOS
## # A tibble: 6 × 5
## INGRESOS `MONTO OTORGADO` GENERO `NIVEL DE ESTUDIOS` ESTRATO
## <dbl> <dbl> <chr> <chr> <dbl>
## 1 13.9 70 H PRF 3
## 2 0.956 5.5 M TEC 3
## 3 2.4 31.8 H PRF 4
## 4 1.87 22.2 M PRF 3
## 5 5.13 10.5 M UNV 6
## 6 5 10.5 H BAS 4
Análisis exploratorio de los datos
Punto 3: Frecuencia relativa género
f.gen <- table(GENERO)
TFRgen <- prop.table(f.gen)
library(knitr)
kable(TFRgen)
Punto 4 al 7
Primero lo realizaremos con hombres
Frecuencia relativa nivel educativo hombres
f.nivele <- table(`NIVEL DE ESTUDIOS`, GENERO)
TFRnivele <- prop.table(f.nivele)
kable(TFRnivele)
| BAS |
0.0826663 |
0.0346545 |
| DOC |
0.0030240 |
0.0019567 |
| MED |
0.1231747 |
0.0303530 |
| NOG |
0.0291887 |
0.0202300 |
| POS |
0.0408804 |
0.0390369 |
| PRF |
0.0873397 |
0.0790440 |
| TEC |
0.0791410 |
0.0640858 |
| UNV |
0.1417229 |
0.1435017 |
TFRnivele[, "H"] -> Grafico1
Gráfico de barras nivel educativo hombres
barplot(Grafico1,xlab = "Nivel educativo", ylab = "Frecuencia", main = "Nivel educativo hombres", col="mediumpurple", border = "mediumpurple4")

Tabla de frecuencias relativas estrato hombres
f.estratoh <- table(ESTRATO, GENERO)
TFRestratoh <- prop.table(f.estratoh)
kable(TFRestratoh)
| 0 |
0.0017788 |
0.0016494 |
| 1 |
0.0371448 |
0.0115461 |
| 2 |
0.1566811 |
0.0728828 |
| 3 |
0.2156730 |
0.1703941 |
| 4 |
0.0980773 |
0.0870163 |
| 5 |
0.0477530 |
0.0412038 |
| 6 |
0.0300296 |
0.0281699 |
TFRestratoh[, "H"]-> Grafico2
Gráfico de frecuencias relativas estratos hombres
barplot(Grafico2,xlab = "Estrato", ylab = "Frecuencia", main = "Estrato hombres", col="deepskyblue2", border = "deepskyblue4")

Histograma ingreso hombres
library(dplyr)
library(knitr)
histoi <- data_frame(basefin2$INGRESOS, basefin2$GENERO)
head(histoi)
## # A tibble: 6 × 2
## `basefin2$INGRESOS` `basefin2$GENERO`
## <dbl> <chr>
## 1 13.9 H
## 2 0.956 M
## 3 2.4 H
## 4 1.87 M
## 5 5.13 M
## 6 5 H
histograma <- subset(histoi, basefin2$GENERO == "H")
head(histograma)
## # A tibble: 6 × 2
## `basefin2$INGRESOS` `basefin2$GENERO`
## <dbl> <chr>
## 1 13.9 H
## 2 2.4 H
## 3 5 H
## 4 1.6 H
## 5 11 H
## 6 11.2 H
hist(histograma$`basefin2$INGRESOS`, main = "Histograma", col = "lightblue",
xlab = "INGRESO", ylab = "GENERO", xlim = c(0,60))

Diagrama de caja ingreso de hombres
boxplot(histograma$`basefin2$INGRESOS`, main = "Diagrama de Caja y Bigotes", col = "lightgreen", horizontal = T, notch = T)

Ahora lo hacemos con mujeres
Frecuencia relativa nivel educativo mujeres
f.nivele2 <- table(`NIVEL DE ESTUDIOS`, GENERO)
TFRnivele2 <- prop.table(f.nivele)
kable(TFRnivele2)
| BAS |
0.0826663 |
0.0346545 |
| DOC |
0.0030240 |
0.0019567 |
| MED |
0.1231747 |
0.0303530 |
| NOG |
0.0291887 |
0.0202300 |
| POS |
0.0408804 |
0.0390369 |
| PRF |
0.0873397 |
0.0790440 |
| TEC |
0.0791410 |
0.0640858 |
| UNV |
0.1417229 |
0.1435017 |
TFRnivele2[, "M"] -> Grafico3
Gráfico de barras nivel educativo mujeres
barplot(Grafico3,xlab = "Nivel educativo", ylab = "Frecuencia", main = "Nivel educativo mujeres", col="mediumpurple", border = "mediumpurple4")

Tabla de frecuencias relativas estrato mujeres
f.estratoM <- table(ESTRATO, GENERO)
TFRestratoM <- prop.table(f.estratoM)
kable(TFRestratoM)
| 0 |
0.0017788 |
0.0016494 |
| 1 |
0.0371448 |
0.0115461 |
| 2 |
0.1566811 |
0.0728828 |
| 3 |
0.2156730 |
0.1703941 |
| 4 |
0.0980773 |
0.0870163 |
| 5 |
0.0477530 |
0.0412038 |
| 6 |
0.0300296 |
0.0281699 |
TFRestratoM[, "M"]-> Grafico4
Gráfico de frecuencias relativas estratos mujeres
barplot(Grafico4,xlab = "Estrato", ylab = "Frecuencia", main = "Estrato mujeres", col="deepskyblue2", border = "deepskyblue4")

Histograma ingreso mujeres
histoi2 <- data_frame(basefin2$INGRESOS, basefin2$GENERO)
head(histoi2)
## # A tibble: 6 × 2
## `basefin2$INGRESOS` `basefin2$GENERO`
## <dbl> <chr>
## 1 13.9 H
## 2 0.956 M
## 3 2.4 H
## 4 1.87 M
## 5 5.13 M
## 6 5 H
histograma2 <- subset(histoi2, basefin2$GENERO == "M")
head(histograma2)
## # A tibble: 6 × 2
## `basefin2$INGRESOS` `basefin2$GENERO`
## <dbl> <chr>
## 1 0.956 M
## 2 1.87 M
## 3 5.13 M
## 4 7.02 M
## 5 2.21 M
## 6 3.25 M
hist(histograma2$`basefin2$INGRESOS`, main = "Histograma", col = "lightblue",
xlab = "INGRESO", ylab = "GENERO", xlim = c(0,60))

Diagrama de caja ingreso de mujeres
boxplot(histograma2$`basefin2$INGRESOS`, main = "Diagrama de Caja y Bigotes", col = "lightgreen", horizontal = T, notch = T)

Punto 8
| Mínimo |
0.003283 |
0.01648 |
| Máximo |
24.934800 |
24.99055 |
| Cuartíl 1 |
1.510842 |
1.39535 |
| Mediana |
2.258168 |
2.32944 |
| Cuartíl 3 |
5.000000 |
4.86052 |
| Media |
4.312179 |
3.99236 |
| Rango |
24.93152 |
24.97407 |
| Rango Intercuartilico |
3.489158 |
3.465202 |
| Desv. Estándar |
4.726008 |
4.219308 |
| Coef. Variación |
1.095967 |
1.056845 |
| Indice Yule-Bowley |
-1.27508 |
-1.251473 |
| Coef. Asim. Fisher |
2.08695 |
2.183608 |
Punto 9
- Al hacer la comparación del nivel eduactivo, se puede observar que
los hombres están mucho más preparados que las mujeres en cuanto a todos
los niveles, por ejemplo el 14% de hombres tienen un título
universitario mientras que el 12% de mujeres obiene uno de estos. Pero
en donde más se nota la diferencia es en el título de bachiller, donde
el 9,8% de hombres obtienen uno y el 2,5% de mujeres finalizan su
bachiller.
- En cuanto al estrato se puede ver una diferencia entre hombres y
mujeres; si observamos el estrato 0, podemos ver que el 0,14% de mujeres
viven ahí; en cambio en los hombres se evidencia un procentaje más alto,
con 0,16%. Pero, si observamos el estrato 6 hay mas hombres que mujeres
que viven en este, con un 9,7% en los hombres y un 4,7%.
- Por último, en los ingresos también existe una brecha, teniendo los
hombres salarios más altos que las mujeres. Analizando el diagrama de
cajas y bigotes se puede observar que en el cuartil 3 los hombres se
encuentral con un salario de 5 millones, por otro lado, las mujeres
tienen un salario de aproximadamente 4800000.
Cálculo de probabilidades
Punto 10: Se realiza la siguiente clasificación:
menos de 1 SMMLV, entre 1 y 3 SMMLV, entre 3 y 5 SMMLV, entre 5 y 10
SMMLV, más de 10 SMMLV.
c2 = cut(x = basefin2$INGRESOS, breaks = c(0,1,3,5,10,30) , labels = c("menos de 1 SMMLV", "entre 1 y 3 SMMLV", "entre 3 y 5 SMMLV", "entre 5 y 10 SMMLV", "más de 10 SMMLV"), include.lowest = TRUE, right = FALSE,)
Punto 11: Tabla bidimensional de frecuencias
relativas para ingreso y diagrama de barras compuesto.
c3 = table(c2, basefin2$GENERO)
kable(c3)
| menos de 1 SMMLV |
3543 |
3368 |
| entre 1 y 3 SMMLV |
18727 |
11819 |
| entre 3 y 5 SMMLV |
4738 |
4098 |
| entre 5 y 10 SMMLV |
4913 |
3729 |
| más de 10 SMMLV |
4387 |
2517 |
t2 = prop.table(c3)
round(prop.table(x = t2, margin = 1), 2) -> t3
kable(t3)
| menos de 1 SMMLV |
0.51 |
0.49 |
| entre 1 y 3 SMMLV |
0.61 |
0.39 |
| entre 3 y 5 SMMLV |
0.54 |
0.46 |
| entre 5 y 10 SMMLV |
0.57 |
0.43 |
| más de 10 SMMLV |
0.64 |
0.36 |
barplot(t3, legend = TRUE, beside = TRUE, horiz = FALSE,
main = "Ingreso",
xlab = "Género",
col = "orchid3",
ylim = c(0,0.9))

Punto 12
Según la gráfica se puede ver una gran diferencia entre hombres y
mujeres en cuanto la clasificación “entre 1 y 3 SMMLV” donde
hay más cantidad de hombres que estan en este intervalo, otra gran
diferencia es en cuanto a “más de 10 SMMLV” donde nuevamente se
ven que hay más cantidad de hombres que pertenecen a este grupo que
mujeres.
Teorema de bayes
H1 : “los ingresos del cliente son menores al cuartíl
1”.
H2: “los ingresos del cliente son menores al cuartíl 2, pero
mayores al cuartíl 1”.
H3: “los ingresos del cliente son menores al cuartíl 3, pero
mayores al cuartíl 2”.
H4: “los ingresos del cliente son menores al cuartíl 4, pero
mayores al cuartíl 3”.
summary(basefin2$INGRESOS)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.003283 1.470000 2.284567 4.180136 5.000000 24.990554
bayes = cut(x = basefin2$INGRESOS, breaks = 4, labels = c("H1", "H2", "H3", "H4"), include.lowest = TRUE, right = FALSE,)
by1 = table(bayes, basefin2$GENERO)
Punto 13: Por definición, se tiene que
Pr[H1]=Pr[H2]=Pr[H3]=Pr[H4]=0.25. ¿Por qué?
Porque son resultados que tienen la misma pobabilidad de que
ocurran, entonces la probabilidad de que suceda cada evento es de 1/4 es
decir 0,25.
Punto 14: Observe que H1, H2, H3 y H4 son una
partición del espacio muestral. ¿Por qué?
Son una partición del espacio muestral porque todos son los posibles
resultados del experimento.
Punto 15: Sea E el evento “el cliente tiene
educación universitaria”. Usando la base de datos, calcular e
interpretar las siguientes probabilidades: Pr[E|H1], Pr[E|H2], Pr[E|H3]
y Pr[E|H4]. ¿Estas probabilidades deben sumar 1? ¿Por qué?
ET <- data_frame(basefin2$INGRESOS, basefin2$`NIVEL DE ESTUDIOS`)
PÑ = cut(x = basefin2$INGRESOS, breaks = c(0.003283, 1.4700, 2.284567, 5.00000, 24.990554), labels = c("H1", "H2", "H3", "H4"), include.lowest = TRUE, right = FALSE,)
PN2 = table(basefin2$`NIVEL DE ESTUDIOS`,PÑ)
kable(PN2)
| BAS |
4403 |
1551 |
784 |
517 |
| DOC |
8 |
7 |
58 |
235 |
| MED |
3394 |
4161 |
1485 |
454 |
| NOG |
811 |
1018 |
654 |
573 |
| POS |
104 |
549 |
1653 |
2636 |
| PRF |
347 |
865 |
2954 |
6123 |
| TEC |
3934 |
3040 |
1548 |
335 |
| UNV |
2449 |
4277 |
6239 |
4673 |
prop.table(PN2) -> PN3
round(prop.table(x = PN3, margin = 2), 2) -> PN4
kable(PN4)
| BAS |
0.28 |
0.10 |
0.05 |
0.03 |
| DOC |
0.00 |
0.00 |
0.00 |
0.02 |
| MED |
0.22 |
0.27 |
0.10 |
0.03 |
| NOG |
0.05 |
0.07 |
0.04 |
0.04 |
| POS |
0.01 |
0.04 |
0.11 |
0.17 |
| PRF |
0.02 |
0.06 |
0.19 |
0.39 |
| TEC |
0.25 |
0.20 |
0.10 |
0.02 |
| UNV |
0.16 |
0.28 |
0.41 |
0.30 |
Deben sumar 1 porque son todos los posibles resultados del evento
“el cliente tiene educación universitaria” dado la clasificación
de ingresos en la que se encuetren
Punto 16: Considere la distribución de los ingresos
de las personas con educación universitaria. Usando el teorema de Bayes,
calcular e interpretar las siguientes probabilidades: Pr[H1|E],
Pr[H2|E], Pr[H3|E] y Pr[H4|E]. ¿Estas probabilidades deben sumar 1? ¿Por
qué? Observe que las probabilidades Pr[H1|E], Pr[H2|E], Pr[H3|E] y
Pr[H4|E] difieren marcadamente de Pr[H1], Pr[H2], Pr[H3] y Pr[H4],
respectivamente. ¿Por qué?
round(prop.table(x = PN3, margin = 1), 2) -> PN5
kable(PN5)
| BAS |
0.61 |
0.21 |
0.11 |
0.07 |
| DOC |
0.03 |
0.02 |
0.19 |
0.76 |
| MED |
0.36 |
0.44 |
0.16 |
0.05 |
| NOG |
0.27 |
0.33 |
0.21 |
0.19 |
| POS |
0.02 |
0.11 |
0.33 |
0.53 |
| PRF |
0.03 |
0.08 |
0.29 |
0.60 |
| TEC |
0.44 |
0.34 |
0.17 |
0.04 |
| UNV |
0.14 |
0.24 |
0.35 |
0.26 |
- Deben sumar 1 porque son todos los posibles resultados del
experimiento la clasificación de ingresos en la que se encunetre
el cliente dado que tiene educación universitaria
- Esas probabilidades difieren porque unas son probablidades
condicionadas a un evento y las otras son las probabilidades de que
ocurra algún resultado del espacio muestral.