RUN_LIBRARY <- function(){
  print("Running....")
  library(readxl)
  library(dplyr)
  library(readr)
  library(sqldf)
  library(writexl)
  library(stringr)
  library(tidyr)
  library(stargazer) # Forma una imagen con una tabla
  library(car)
  library(haven) # tiene funciones para leer archivos .dta (provenientes de STATA)
  library(GGally)
  library(TTR)
  library(forecast)
  library(ade4)
  library(mclust)
  print("END...")
} #Run all libraries in script


# lIBRARY ----
RUN_LIBRARY()
## [1] "Running...."
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
## Loading required package: gsubfn
## Loading required package: proto
## Loading required package: RSQLite
## 
## Please cite as:
##  Hlavac, Marek (2018). stargazer: Well-Formatted Regression and Summary Statistics Tables.
##  R package version 5.2.2. https://CRAN.R-project.org/package=stargazer
## Loading required package: carData
## 
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
## 
##     recode
## Loading required package: ggplot2
## 
## Attaching package: 'GGally'
## The following object is masked from 'package:dplyr':
## 
##     nasa
## Package 'mclust' version 5.4.1
## Type 'citation("mclust")' for citing this R package in publications.
## [1] "END..."
# DATA ----
IMPAGOS <- read_excel("C:/Users/samora/Downloads/Modelo de Probabilidad Lineal - Impagos.xlsx", 
                      sheet = "Modelo Binario")

names(IMPAGOS) <- c("IMPAGOS_EDAD",
                    "IMPAGOS_ANTIGUEDAD",
                    "IMPAGOS_TIEMPO_CARGO",
                    "IMPAGOS_INGRESOS_FAMLY",
                    "IMPAGOS_DEBT_CREDTCARD",
                    "IMPAGOS_OTHER_DEBTS",
                    "IMPAGOS_DAYS_NO_PAY",
                    "IMPAGOS_IMPAGO") # periodos de pagos, estratos

# Análisis exploratorio de datos ----
hist(IMPAGOS$IMPAGOS_EDAD)

hist(IMPAGOS$IMPAGOS_ANTIGUEDAD)

hist(IMPAGOS$IMPAGOS_TIEMPO_CARGO)

hist(IMPAGOS$IMPAGOS_INGRESOS_FAMLY)

hist(IMPAGOS$IMPAGOS_DEBT_CREDTCARD)

hist(IMPAGOS$IMPAGOS_OTHER_DEBTS)

hist(IMPAGOS$IMPAGOS_DAYS_NO_PAY)

hist(IMPAGOS$IMPAGOS_IMPAGO)

boxplot(IMPAGOS)

pairs(IMPAGOS)

ggpairs(IMPAGOS)

cov(IMPAGOS)
##                         IMPAGOS_EDAD IMPAGOS_ANTIGUEDAD
## IMPAGOS_EDAD            6.466462e+01       3.020831e+01
## IMPAGOS_ANTIGUEDAD      3.020831e+01       4.593971e+01
## IMPAGOS_TIEMPO_CARGO    3.326467e+01       1.610740e+01
## IMPAGOS_INGRESOS_FAMLY  3.090380e+06       3.445946e+06
## IMPAGOS_DEBT_CREDTCARD  1.437669e+06       1.659614e+06
## IMPAGOS_OTHER_DEBTS     1.754501e+04       1.813975e+04
## IMPAGOS_DAYS_NO_PAY    -2.438445e+02      -3.064499e+02
## IMPAGOS_IMPAGO         -1.436257e+00      -2.024966e+00
##                        IMPAGOS_TIEMPO_CARGO IMPAGOS_INGRESOS_FAMLY
## IMPAGOS_EDAD                   3.326467e+01           3.090380e+06
## IMPAGOS_ANTIGUEDAD             1.610740e+01           3.445946e+06
## IMPAGOS_TIEMPO_CARGO           4.754125e+01           1.714188e+06
## IMPAGOS_INGRESOS_FAMLY         1.714188e+06           6.861514e+11
## IMPAGOS_DEBT_CREDTCARD         7.137368e+05           2.892077e+11
## IMPAGOS_OTHER_DEBTS            8.259252e+03           3.226851e+09
## IMPAGOS_DAYS_NO_PAY           -2.125381e+02          -8.891325e+06
## IMPAGOS_IMPAGO                -1.339309e+00          -1.123577e+05
##                        IMPAGOS_DEBT_CREDTCARD IMPAGOS_OTHER_DEBTS
## IMPAGOS_EDAD                     1.437669e+06        1.754501e+04
## IMPAGOS_ANTIGUEDAD               1.659614e+06        1.813975e+04
## IMPAGOS_TIEMPO_CARGO             7.137368e+05        8.259252e+03
## IMPAGOS_INGRESOS_FAMLY           2.892077e+11        3.226851e+09
## IMPAGOS_DEBT_CREDTCARD           4.127174e+11        2.675568e+09
## IMPAGOS_OTHER_DEBTS              2.675568e+09        4.170410e+07
## IMPAGOS_DAYS_NO_PAY              2.638049e+07        1.421235e+05
## IMPAGOS_IMPAGO                   4.404768e+04        1.066491e+02
##                        IMPAGOS_DAYS_NO_PAY IMPAGOS_IMPAGO
## IMPAGOS_EDAD                 -2.438445e+02  -1.436257e+00
## IMPAGOS_ANTIGUEDAD           -3.064499e+02  -2.024966e+00
## IMPAGOS_TIEMPO_CARGO         -2.125381e+02  -1.339309e+00
## IMPAGOS_INGRESOS_FAMLY       -8.891325e+06  -1.123577e+05
## IMPAGOS_DEBT_CREDTCARD        2.638049e+07   4.404768e+04
## IMPAGOS_OTHER_DEBTS           1.421235e+05   1.066491e+02
## IMPAGOS_DAYS_NO_PAY           8.543122e+03   2.848589e+01
## IMPAGOS_IMPAGO                2.848589e+01   2.261498e-01
cor(IMPAGOS)
##                        IMPAGOS_EDAD IMPAGOS_ANTIGUEDAD
## IMPAGOS_EDAD              1.0000000          0.5542413
## IMPAGOS_ANTIGUEDAD        0.5542413          1.0000000
## IMPAGOS_TIEMPO_CARGO      0.5999493          0.3446641
## IMPAGOS_INGRESOS_FAMLY    0.4639471          0.6137682
## IMPAGOS_DEBT_CREDTCARD    0.2782909          0.3811418
## IMPAGOS_OTHER_DEBTS       0.3378554          0.4144269
## IMPAGOS_DAYS_NO_PAY      -0.3280736         -0.4891668
## IMPAGOS_IMPAGO           -0.3755785         -0.6282400
##                        IMPAGOS_TIEMPO_CARGO IMPAGOS_INGRESOS_FAMLY
## IMPAGOS_EDAD                      0.5999493              0.4639471
## IMPAGOS_ANTIGUEDAD                0.3446641              0.6137682
## IMPAGOS_TIEMPO_CARGO              1.0000000              0.3001326
## IMPAGOS_INGRESOS_FAMLY            0.3001326              1.0000000
## IMPAGOS_DEBT_CREDTCARD            0.1611300              0.5434674
## IMPAGOS_OTHER_DEBTS               0.1854881              0.6032254
## IMPAGOS_DAYS_NO_PAY              -0.3334979             -0.1161310
## IMPAGOS_IMPAGO                   -0.4084578             -0.2852297
##                        IMPAGOS_DEBT_CREDTCARD IMPAGOS_OTHER_DEBTS
## IMPAGOS_EDAD                        0.2782909          0.33785541
## IMPAGOS_ANTIGUEDAD                  0.3811418          0.41442688
## IMPAGOS_TIEMPO_CARGO                0.1611300          0.18548810
## IMPAGOS_INGRESOS_FAMLY              0.5434674          0.60322538
## IMPAGOS_DEBT_CREDTCARD              1.0000000          0.64491160
## IMPAGOS_OTHER_DEBTS                 0.6449116          1.00000000
## IMPAGOS_DAYS_NO_PAY                 0.4442712          0.23810484
## IMPAGOS_IMPAGO                      0.1441779          0.03472719
##                        IMPAGOS_DAYS_NO_PAY IMPAGOS_IMPAGO
## IMPAGOS_EDAD                    -0.3280736    -0.37557852
## IMPAGOS_ANTIGUEDAD              -0.4891668    -0.62824004
## IMPAGOS_TIEMPO_CARGO            -0.3334979    -0.40845783
## IMPAGOS_INGRESOS_FAMLY          -0.1161310    -0.28522972
## IMPAGOS_DEBT_CREDTCARD           0.4442712     0.14417785
## IMPAGOS_OTHER_DEBTS              0.2381048     0.03472719
## IMPAGOS_DAYS_NO_PAY              1.0000000     0.64807217
## IMPAGOS_IMPAGO                   0.6480722     1.00000000
summary(IMPAGOS)
##   IMPAGOS_EDAD   IMPAGOS_ANTIGUEDAD IMPAGOS_TIEMPO_CARGO
##  Min.   :20.00   Min.   : 0.000     Min.   : 0.000      
##  1st Qu.:29.00   1st Qu.: 3.000     1st Qu.: 3.000      
##  Median :34.00   Median : 7.000     Median : 7.000      
##  Mean   :35.03   Mean   : 8.566     Mean   : 8.372      
##  3rd Qu.:41.00   3rd Qu.:13.000     3rd Qu.:12.000      
##  Max.   :56.00   Max.   :33.000     Max.   :34.000      
##  IMPAGOS_INGRESOS_FAMLY IMPAGOS_DEBT_CREDTCARD IMPAGOS_OTHER_DEBTS
##  Min.   : 308000        Min.   :   3024        Min.   :   95      
##  1st Qu.: 572000        1st Qu.: 117936        1st Qu.: 1995      
##  Median : 770000        Median : 267624        Median : 3810      
##  Mean   :1045899        Mean   : 477529        Mean   : 5850      
##  3rd Qu.:1226500        3rd Qu.: 574560        3rd Qu.: 7420      
##  Max.   :9812000        Max.   :6217344        Max.   :66880      
##  IMPAGOS_DAYS_NO_PAY IMPAGOS_IMPAGO  
##  Min.   :  0.0432    Min.   :0.0000  
##  1st Qu.: 16.4259    1st Qu.:0.0000  
##  Median : 61.7454    Median :1.0000  
##  Mean   : 93.0874    Mean   :0.6553  
##  3rd Qu.:146.6370    3rd Qu.:1.0000  
##  Max.   :359.7840    Max.   :1.0000
which(is.na(IMPAGOS))
## integer(0)
# Análisis de componenetes principales ----
SCALE_IMPAGOS <- scale(IMPAGOS)
ACP_IMPAGOS <- prcomp(SCALE_IMPAGOS)
summary(ACP_IMPAGOS)
## Importance of components:
##                           PC1    PC2    PC3     PC4     PC5     PC6
## Standard deviation     1.8598 1.4927 0.9135 0.64605 0.61618 0.57243
## Proportion of Variance 0.4323 0.2785 0.1043 0.05217 0.04746 0.04096
## Cumulative Proportion  0.4323 0.7108 0.8152 0.86733 0.91479 0.95574
##                            PC7     PC8
## Standard deviation     0.51561 0.29696
## Proportion of Variance 0.03323 0.01102
## Cumulative Proportion  0.98898 1.00000
DES_IMPAGOS <- ACP_IMPAGOS[[1]]
DES_IMPAGOS
## [1] 1.8597613 1.4926644 0.9134951 0.6460514 0.6161757 0.5724266 0.5156086
## [8] 0.2969648
VARIANZA_IMPAGOS <- DES_IMPAGOS^2
VARIANZA_IMPAGOS
## [1] 3.45871216 2.22804699 0.83447335 0.41738248 0.37967244 0.32767218
## [7] 0.26585228 0.08818812
CP1_IMPAGOS <- ACP_IMPAGOS[[2]][,1]
CP2_IMPAGOS <- ACP_IMPAGOS[[2]][,2]
CP3_IMPAGOS <- ACP_IMPAGOS[[2]][,3]

COMPO_PRINCIPL <- cbind(CP1_IMPAGOS, CP2_IMPAGOS, CP3_IMPAGOS)
individuos <- ACP_IMPAGOS$x[,1:3]

# Analizando primer y segundo componente principal
x11()
s.corcircle(COMPO_PRINCIPL[,-3], sub = "CP1_IMPAGOS y CP2_IMPAGOS", possub = "topright")

x11()
s.label(individuos[,-3], label = row.names(IMPAGOS), sub = "Coordenadas de los individuos", possub = "topright")

# Analizando primer y tercer componente principal
x11()
s.corcircle(COMPO_PRINCIPL[,-2], sub = "CP1_IMPAGOS y CP3_IMPAGOS", possub = "topright")

x11()
s.label(individuos[,-2], label = row.names(IMPAGOS), sub = "Coordenadas de los individuos", possub = "topright")

# Analizando tercer y segundo componente principal
x11()
s.corcircle(COMPO_PRINCIPL[,-1], sub = "CP3_IMPAGOS y CP2_IMPAGOS", possub = "topright")

x11()
s.label(individuos[,-1], label = row.names(IMPAGOS), sub = "Coordenadas de los individuos", possub = "topright")

# Analisis por medio de Cluster sin variables categoricas (K-MEANS CLUSTERING)----
plot(IMPAGOS)

IMPAGOS_SCALED <- scale(IMPAGOS[,-8])
## CLUSTERING
FIT_K <- kmeans(IMPAGOS_SCALED, 3)
str(FIT_K)
## List of 9
##  $ cluster     : int [1:850] 2 1 3 3 1 1 2 3 1 1 ...
##  $ centers     : num [1:3, 1:7] -0.728 1.024 0.664 -0.637 1.372 ...
##   ..- attr(*, "dimnames")=List of 2
##   .. ..$ : chr [1:3] "1" "2" "3"
##   .. ..$ : chr [1:7] "IMPAGOS_EDAD" "IMPAGOS_ANTIGUEDAD" "IMPAGOS_TIEMPO_CARGO" "IMPAGOS_INGRESOS_FAMLY" ...
##  $ totss       : num 5943
##  $ withinss    : num [1:3] 1007 1040 1329
##  $ tot.withinss: num 3376
##  $ betweenss   : num 2567
##  $ size        : int [1:3] 423 68 359
##  $ iter        : int 3
##  $ ifault      : int 0
##  - attr(*, "class")= chr "kmeans"
plot(IMPAGOS, col = FIT_K$cluster)

## CHOOSING K
k <- list()
for (i in 1:10) {
  k[[i]] <- kmeans(IMPAGOS_SCALED, i)
}

BETWEEN_TOTSS <- list()
for (i in 1:10) {
  BETWEEN_TOTSS[[i]] <- k[[i]]$betweenss / k[[i]]$totss
}
plot(1:10, BETWEEN_TOTSS, type = "b",
     ylab = "Between SS / Total SS", xlab = "Clusters (k)")

for (i in 1:4){
  plot(IMPAGOS, col = k[[i]]$cluster)
}

# Analisis por medio de Cluster sin variables categoricas (HIRACHICAL CLUSTERING)---- 
d <- dist(IMPAGOS_SCALED)
FIT_H <- hclust(d, "ward.D2")
plot(FIT_H)
rect.hclust(FIT_H, k = 3, border = "red")

clusters <- cutree(FIT_H, 3)
plot(IMPAGOS, col = clusters)

# MODEL-BASED CLUSTERING ----
FIT_M <- Mclust(IMPAGOS_SCALED)
plot(FIT_M)

# DENSITY-BASED CLUSTERING----







# Modelo probit -----
MODELO_1 <- lm(IMPAGOS$IMPAGOS_IMPAGO ~ IMPAGOS_EDAD  + IMPAGOS_ANTIGUEDAD + IMPAGOS_TIEMPO_CARGO + IMPAGOS_INGRESOS_FAMLY + IMPAGOS_DEBT_CREDTCARD + IMPAGOS_OTHER_DEBTS + IMPAGOS_DAYS_NO_PAY,
               data = IMPAGOS)
summary(MODELO_1)
## 
## Call:
## lm(formula = IMPAGOS$IMPAGOS_IMPAGO ~ IMPAGOS_EDAD + IMPAGOS_ANTIGUEDAD + 
##     IMPAGOS_TIEMPO_CARGO + IMPAGOS_INGRESOS_FAMLY + IMPAGOS_DEBT_CREDTCARD + 
##     IMPAGOS_OTHER_DEBTS + IMPAGOS_DAYS_NO_PAY, data = IMPAGOS)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.89062 -0.19242  0.03475  0.22603  0.83426 
## 
## Coefficients:
##                          Estimate Std. Error t value Pr(>|t|)    
## (Intercept)             9.656e-01  6.113e-02  15.796  < 2e-16 ***
## IMPAGOS_EDAD            3.989e-03  1.767e-03   2.257 0.024263 *  
## IMPAGOS_ANTIGUEDAD     -5.193e-02  2.849e-03 -18.225  < 2e-16 ***
## IMPAGOS_TIEMPO_CARGO   -1.811e-02  1.882e-03  -9.618  < 2e-16 ***
## IMPAGOS_INGRESOS_FAMLY -6.319e-08  1.812e-08  -3.487 0.000514 ***
## IMPAGOS_DEBT_CREDTCARD  2.959e-07  3.004e-08   9.849  < 2e-16 ***
## IMPAGOS_OTHER_DEBTS     1.317e-05  2.282e-06   5.772  1.1e-08 ***
## IMPAGOS_DAYS_NO_PAY    -6.369e-05  2.217e-04  -0.287 0.773933    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2889 on 842 degrees of freedom
## Multiple R-squared:  0.6341, Adjusted R-squared:  0.6311 
## F-statistic: 208.5 on 7 and 842 DF,  p-value: < 2.2e-16
hist(MODELO_1$residuals)

MODELO_2 <- lm(IMPAGOS$IMPAGOS_IMPAGO ~ IMPAGOS_EDAD  + IMPAGOS_ANTIGUEDAD + IMPAGOS_TIEMPO_CARGO + IMPAGOS_INGRESOS_FAMLY + IMPAGOS_DEBT_CREDTCARD,
               data = IMPAGOS)
summary(MODELO_2)
## 
## Call:
## lm(formula = IMPAGOS$IMPAGOS_IMPAGO ~ IMPAGOS_EDAD + IMPAGOS_ANTIGUEDAD + 
##     IMPAGOS_TIEMPO_CARGO + IMPAGOS_INGRESOS_FAMLY + IMPAGOS_DEBT_CREDTCARD, 
##     data = IMPAGOS)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.77295 -0.19478  0.03899  0.22086  0.76628 
## 
## Coefficients:
##                          Estimate Std. Error t value Pr(>|t|)    
## (Intercept)             9.435e-01  5.042e-02  18.713  < 2e-16 ***
## IMPAGOS_EDAD            4.802e-03  1.792e-03   2.679  0.00752 ** 
## IMPAGOS_ANTIGUEDAD     -5.118e-02  2.051e-03 -24.958  < 2e-16 ***
## IMPAGOS_TIEMPO_CARGO   -1.836e-02  1.834e-03 -10.015  < 2e-16 ***
## IMPAGOS_INGRESOS_FAMLY -2.911e-08  1.732e-08  -1.681  0.09313 .  
## IMPAGOS_DEBT_CREDTCARD  3.480e-07  1.880e-08  18.514  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2945 on 844 degrees of freedom
## Multiple R-squared:  0.6188, Adjusted R-squared:  0.6166 
## F-statistic:   274 on 5 and 844 DF,  p-value: < 2.2e-16
hist(MODELO_2$residuals)

MODELO_3 <- lm(IMPAGOS$IMPAGOS_IMPAGO ~ IMPAGOS_EDAD  + IMPAGOS_ANTIGUEDAD + IMPAGOS_TIEMPO_CARGO + IMPAGOS_INGRESOS_FAMLY,
               data = IMPAGOS)
summary(MODELO_3)
## 
## Call:
## lm(formula = IMPAGOS$IMPAGOS_IMPAGO ~ IMPAGOS_EDAD + IMPAGOS_ANTIGUEDAD + 
##     IMPAGOS_TIEMPO_CARGO + IMPAGOS_INGRESOS_FAMLY, data = IMPAGOS)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.88763 -0.17473  0.04137  0.21983  1.27374 
## 
## Coefficients:
##                          Estimate Std. Error t value Pr(>|t|)    
## (Intercept)             9.329e-01  5.975e-02  15.614  < 2e-16 ***
## IMPAGOS_EDAD            5.480e-03  2.124e-03   2.580     0.01 *  
## IMPAGOS_ANTIGUEDAD     -4.878e-02  2.426e-03 -20.112  < 2e-16 ***
## IMPAGOS_TIEMPO_CARGO   -1.925e-02  2.172e-03  -8.862  < 2e-16 ***
## IMPAGOS_INGRESOS_FAMLY  1.047e-07  1.865e-08   5.610 2.74e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.349 on 845 degrees of freedom
## Multiple R-squared:  0.464,  Adjusted R-squared:  0.4615 
## F-statistic: 182.9 on 4 and 845 DF,  p-value: < 2.2e-16
hist(MODELO_3$residuals)

MODELO_4 <- lm(IMPAGOS$IMPAGOS_IMPAGO ~ IMPAGOS_EDAD  + IMPAGOS_ANTIGUEDAD + IMPAGOS_TIEMPO_CARGO +  IMPAGOS_DEBT_CREDTCARD,
               data = IMPAGOS)
summary(MODELO_4)
## 
## Call:
## lm(formula = IMPAGOS$IMPAGOS_IMPAGO ~ IMPAGOS_EDAD + IMPAGOS_ANTIGUEDAD + 
##     IMPAGOS_TIEMPO_CARGO + IMPAGOS_DEBT_CREDTCARD, data = IMPAGOS)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.73104 -0.18354  0.03938  0.21874  0.75323 
## 
## Coefficients:
##                          Estimate Std. Error t value Pr(>|t|)    
## (Intercept)             9.458e-01  5.046e-02  18.744   <2e-16 ***
## IMPAGOS_EDAD            4.421e-03  1.780e-03   2.484   0.0132 *  
## IMPAGOS_ANTIGUEDAD     -5.261e-02  1.871e-03 -28.121   <2e-16 ***
## IMPAGOS_TIEMPO_CARGO   -1.847e-02  1.835e-03 -10.067   <2e-16 ***
## IMPAGOS_DEBT_CREDTCARD  3.348e-07  1.710e-08  19.578   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2948 on 845 degrees of freedom
## Multiple R-squared:  0.6175, Adjusted R-squared:  0.6157 
## F-statistic: 341.1 on 4 and 845 DF,  p-value: < 2.2e-16
hist(MODELO_4$residuals)

# FUCNION DE PREDICCION ----
PROBABILIDAD_IMPAGO <- function(edad, antiguedad, tiempo_cargo, deuda_tarjetas, IC = 0.95) {
  new_data <- data.frame(edad, antiguedad, tiempo_cargo, deuda_tarjetas)
  names(new_data) <- names(IMPAGOS)[c(1:3,5)]
  print(paste0("A ingresado una persona con: ",
               edad, " años, ",
               antiguedad, " años de antiguedad en la empresa, ",
               tiempo_cargo, " años de tiempo en el cargo, ",
               deuda_tarjetas, " de deuda en la tarjera de crédito"))
  if(!is.numeric(edad)) stop("El valor de edad no es un número")
  if(!is.numeric(antiguedad)) stop("El valor de antiguedad no es un número")
  if(!is.numeric(tiempo_cargo)) stop("El valor del tiempo en el cargo no es un número")
  if(!is.numeric(deuda_tarjetas)) stop("El valor de las deudas en las Tarjetas de crédito no es un número")
  resultado <- forecast(MODELO_4, newdata = new_data,level = IC)
  if (resultado$mean > 1) {
    return(print("La probabilidad que pague es mayor al 100%"))
  } else {
    sentence <- paste0("La probabilidad de pago se encuentra entre el ",
                       round(resultado$lower, digits = 2) * 100,
                       "% y el ",
                       round(resultado$upper, digits = 2) * 100,
                       "%. Se estima que tiene una probabilidad de pago del ",
                       round(resultado$mean, digits = 2) * 100,
                       "% con un nivel de confianza del ", resultado$level, "%")
    return(sentence)  
  }
}
PROBABILIDAD_IMPAGO(40,10, 10, 1200000, IC = 0.99)
## [1] "A ingresado una persona con: 40 años, 10 años de antiguedad en la empresa, 10 años de tiempo en el cargo, 1200000 de deuda en la tarjera de crédito"
## [1] "La probabilidad de pago se encuentra entre el 5% y el 158%. Se estima que tiene una probabilidad de pago del 81% con un nivel de confianza del 99%"
PROBABILIDAD_IMPAGO(40, 10, 10, 1200000)
## [1] "A ingresado una persona con: 40 años, 10 años de antiguedad en la empresa, 10 años de tiempo en el cargo, 1200000 de deuda en la tarjera de crédito"
## [1] "La probabilidad de pago se encuentra entre el 23% y el 139%. Se estima que tiene una probabilidad de pago del 81% con un nivel de confianza del 95%"