options(scipen=999)
pkges<-c("mfx","pROC","tidyverse","forecast","data.table","csv")
#install.packages(pkges)
lapply(pkges,"library",character.only=T)
## Loading required package: sandwich
## Loading required package: lmtest
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## Loading required package: MASS
## Loading required package: betareg
## Type 'citation("pROC")' for a citation.
## 
## Attaching package: 'pROC'
## The following objects are masked from 'package:stats':
## 
##     cov, smooth, var
## -- Attaching packages ---------------------------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.0     v purrr   0.3.4
## v tibble  3.0.1     v dplyr   0.8.5
## v tidyr   1.1.0     v stringr 1.4.0
## v readr   1.3.1     v forcats 0.5.0
## -- Conflicts ------------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
## x dplyr::select() masks MASS::select()
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
## 
## Attaching package: 'data.table'
## The following objects are masked from 'package:dplyr':
## 
##     between, first, last
## The following object is masked from 'package:purrr':
## 
##     transpose
## Warning: package 'csv' was built under R version 4.0.2
## [[1]]
##  [1] "mfx"       "betareg"   "MASS"      "lmtest"    "zoo"       "sandwich" 
##  [7] "stats"     "graphics"  "grDevices" "utils"     "datasets"  "methods"  
## [13] "base"     
## 
## [[2]]
##  [1] "pROC"      "mfx"       "betareg"   "MASS"      "lmtest"    "zoo"      
##  [7] "sandwich"  "stats"     "graphics"  "grDevices" "utils"     "datasets" 
## [13] "methods"   "base"     
## 
## [[3]]
##  [1] "forcats"   "stringr"   "dplyr"     "purrr"     "readr"     "tidyr"    
##  [7] "tibble"    "ggplot2"   "tidyverse" "pROC"      "mfx"       "betareg"  
## [13] "MASS"      "lmtest"    "zoo"       "sandwich"  "stats"     "graphics" 
## [19] "grDevices" "utils"     "datasets"  "methods"   "base"     
## 
## [[4]]
##  [1] "forecast"  "forcats"   "stringr"   "dplyr"     "purrr"     "readr"    
##  [7] "tidyr"     "tibble"    "ggplot2"   "tidyverse" "pROC"      "mfx"      
## [13] "betareg"   "MASS"      "lmtest"    "zoo"       "sandwich"  "stats"    
## [19] "graphics"  "grDevices" "utils"     "datasets"  "methods"   "base"     
## 
## [[5]]
##  [1] "data.table" "forecast"   "forcats"    "stringr"    "dplyr"     
##  [6] "purrr"      "readr"      "tidyr"      "tibble"     "ggplot2"   
## [11] "tidyverse"  "pROC"       "mfx"        "betareg"    "MASS"      
## [16] "lmtest"     "zoo"        "sandwich"   "stats"      "graphics"  
## [21] "grDevices"  "utils"      "datasets"   "methods"    "base"      
## 
## [[6]]
##  [1] "csv"        "data.table" "forecast"   "forcats"    "stringr"   
##  [6] "dplyr"      "purrr"      "readr"      "tidyr"      "tibble"    
## [11] "ggplot2"    "tidyverse"  "pROC"       "mfx"        "betareg"   
## [16] "MASS"       "lmtest"     "zoo"        "sandwich"   "stats"     
## [21] "graphics"   "grDevices"  "utils"      "datasets"   "methods"   
## [26] "base"
maindir <-    getwd()
subdir  <-  c("/semana9/")
datos <- read.csv(paste0(maindir,subdir,"UCI_Credit_Card.csv"),header = T)
datos <- datos[complete.cases(datos),]

Cambio a variable categorica.

cred <- datos[,-1]
cred$PAY_0 <- as.factor(cred$PAY_0)
cred$SEX <- as.factor(cred$SEX)
cred$MARRIAGE <- as.factor(cred$MARRIAGE)

MODELO 2

Variable dependiente:

_default.payment.next.month.- pago predeterminado (1 = sí, 0 = no)

Variable independiente:

_PAY_0.- Estado de reembolso en septiembre de 2005 (-1 = pagar debidamente, 1 = retraso en el pago de un mes, 2 = retraso en el pago de dos meses, … 8 = retraso en el pago de ocho meses, 9 = retraso en el pago de nueve meses o más)

_BILL_AMT1.- Cantidad de extracto de cuenta en septiembre de 2005 (dólar NT)

_SEX.- Género (1 = masculino, 2 = femenino)

_MARRIAGE.- Estado civil (1 = casado, 2 = soltero, 3 = otros)

_LIMIT_BAL.- Cantidad de crédito otorgado en dólares NT (incluye crédito individual y familiar / complementario)

El modelo 2 se corre con toda las variables con la familia binomial con enlace lobit.

XB <- as.formula("default.payment.next.month ~ factor(PAY_0)+BILL_AMT1+factor(SEX)+factor(MARRIAGE)+LIMIT_BAL")
modelo2  <- glm(XB,data = cred, 
                family = binomial(link = "logit"))
summary(modelo2)
## 
## Call:
## glm(formula = XB, family = binomial(link = "logit"), data = cred)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.8399  -0.5945  -0.5247  -0.3773   2.6964  
## 
## Coefficients:
##                        Estimate    Std. Error z value             Pr(>|z|)    
## (Intercept)       -2.3400631752  0.5043734688  -4.640         0.0000034918 ***
## factor(PAY_0)-1    0.1532357179  0.0672759845   2.278             0.022743 *  
## factor(PAY_0)0    -0.3966578760  0.0673618386  -5.888         0.0000000039 ***
## factor(PAY_0)1     0.9229080060  0.0686246499  13.449 < 0.0000000000000002 ***
## factor(PAY_0)2     2.2651756785  0.0754840260  30.009 < 0.0000000000000002 ***
## factor(PAY_0)3     2.5518768302  0.1447547887  17.629 < 0.0000000000000002 ***
## factor(PAY_0)4     2.1095655651  0.2564535306   8.226 < 0.0000000000000002 ***
## factor(PAY_0)5     1.3474893846  0.4011388948   3.359             0.000782 ***
## factor(PAY_0)6     1.5720973733  0.6124299301   2.567             0.010259 *  
## factor(PAY_0)7     2.6124553647  0.8070251387   3.237             0.001207 ** 
## factor(PAY_0)8     1.6609843738  0.4729346516   3.512             0.000445 ***
## BILL_AMT1          0.0000014441  0.0000002700   5.349         0.0000000884 ***
## factor(SEX)2      -0.1667665520  0.0314658479  -5.300         0.0000001159 ***
## factor(MARRIAGE)1  1.3029925352  0.5005755583   2.603             0.009241 ** 
## factor(MARRIAGE)2  1.1067325985  0.5005064194   2.211             0.027020 *  
## factor(MARRIAGE)3  1.2827076888  0.5195430723   2.469             0.013552 *  
## LIMIT_BAL         -0.0000027485  0.0000001544 -17.796 < 0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 31705  on 29999  degrees of freedom
## Residual deviance: 26732  on 29983  degrees of freedom
## AIC: 26766
## 
## Number of Fisher Scoring iterations: 4

Estimate son las betas de las variables independientes del modelo 2.

Los betas con un p value de significancia de cada covariable tiene una probabilidad menor de 0.05 tienen la menor probabilidad de cometer el error tipo 1.

Estimacion con menor AIC

Te ayuda a escoger la menor cantidad de variables para obtener la menor cantidad de aic.

model.AIC <- stepAIC(modelo2)
## Start:  AIC=26766.11
## default.payment.next.month ~ factor(PAY_0) + BILL_AMT1 + factor(SEX) + 
##     factor(MARRIAGE) + LIMIT_BAL
## 
##                    Df Deviance   AIC
## <none>                   26732 26766
## - factor(SEX)       1    26760 26792
## - BILL_AMT1         1    26760 26792
## - factor(MARRIAGE)  3    26779 26807
## - LIMIT_BAL         1    27077 27109
## - factor(PAY_0)    10    30794 30808

yhat1 es la predicción en grafico de histograma.

yhat1<-model.AIC$fitted.values
hist(yhat1)

Sensibilidad y Espesifidad

c<-seq(0.01,0.3,by=0.01)
sens<-c()
spec<-c()
for (i in 1:length(c)){
  y.pred<-ifelse(model.AIC$fitted.values > c[i], yes = 1, no = 0) 
  spec[i]<-prop.table(table(cred$default.payment.next.month,y.pred),1)[1]
  sens[i]<-prop.table(table(cred$default.payment.next.month,y.pred),1)[4]
}
o.cut<-mean(c[which(round(spec,1)==round(sens,1))],na.rm = T)
plot(c,sens,type="l",col=2,main=c("Especificidad vs Sensibilidad"),ylab=c("Especificidad/Sensibilidad"))
lines(c,spec,col=3)

abline(v=0.163)

print(o.cut)
## [1] 0.16

La especifidad y sencibilidad evaluado entre el punto de corte donde las dos lineas se interceptan es de 0.16.

Matriz de Confusion

y.pred <- ifelse(model.AIC$fitted.values > o.cut, yes = 1, no = 0) 
matriz_confusion <- table(cred$default.payment.next.month, y.pred,
                          dnn = c("observaciones", "predicciones"))

Evaluamos en la matriz de confusion, donde si tiende a 0 sensibilidad y 1 especifidad

prop.table(matriz_confusion,1)
##              predicciones
## observaciones         0         1
##             0 0.6590909 0.3409091
##             1 0.3090717 0.6909283

Donde se observa que tiene un 0.6590909 en sensibilidad y 0.6909283 especifidad.

Area bajo la curva roc

roc(cred$default.payment.next.month,yhat1)
## Setting levels: control = 0, case = 1
## Setting direction: controls < cases
## 
## Call:
## roc.default(response = cred$default.payment.next.month, predictor = yhat1)
## 
## Data: yhat1 in 23364 controls (cred$default.payment.next.month 0) < 6636 cases (cred$default.payment.next.month 1).
## Area under the curve: 0.7467
plot(roc(cred$default.payment.next.month,yhat1),main=c("Curva ROC"))
## Setting levels: control = 0, case = 1
## Setting direction: controls < cases

La función roc muestra el area bajo la curva donde es 0.7467

EFECTO MARGINAL

Muestra la probabilidad de caer en morosidad de las siguientes variables.

marginalEf <- logitmfx(formula=XB, data=cred)
marginalEf
## Call:
## logitmfx(formula = XB, data = cred)
## 
## Marginal Effects:
##                             dF/dx       Std. Err.        z
## factor(PAY_0)-1    0.024343674424  0.010991191771   2.2148
## factor(PAY_0)0    -0.061104016309  0.010346743590  -5.9056
## factor(PAY_0)1     0.172320724921  0.014776881917  11.6615
## factor(PAY_0)2     0.488274465511  0.016537005619  29.5262
## factor(PAY_0)3     0.559787897712  0.027348434250  20.4687
## factor(PAY_0)4     0.469081536104  0.057587070041   8.1456
## factor(PAY_0)5     0.284684087495  0.099997339763   2.8469
## factor(PAY_0)6     0.340830898685  0.152477381923   2.2353
## factor(PAY_0)7     0.571870621722  0.146182248410   3.9120
## factor(PAY_0)8     0.362844783174  0.116855768231   3.1051
## BILL_AMT1          0.000000222829  0.000000041597   5.3569
## factor(SEX)2      -0.026010315765  0.004956405578  -5.2478
## factor(MARRIAGE)1  0.208705370836  0.082893827906   2.5177
## factor(MARRIAGE)2  0.167728776622  0.074752336238   2.2438
## factor(MARRIAGE)3  0.267364234459  0.128306634037   2.0838
## LIMIT_BAL         -0.000000424107  0.000000023432 -18.0996
##                                   P>|z|    
## factor(PAY_0)-1                0.026771 *  
## factor(PAY_0)0    0.0000000035130637745 ***
## factor(PAY_0)1    < 0.00000000000000022 ***
## factor(PAY_0)2    < 0.00000000000000022 ***
## factor(PAY_0)3    < 0.00000000000000022 ***
## factor(PAY_0)4    0.0000000000000003774 ***
## factor(PAY_0)5                 0.004414 ** 
## factor(PAY_0)6                 0.025398 *  
## factor(PAY_0)7    0.0000915202185973819 ***
## factor(PAY_0)8                 0.001902 ** 
## BILL_AMT1         0.0000000846787999051 ***
## factor(SEX)2      0.0000001539110036955 ***
## factor(MARRIAGE)1              0.011811 *  
## factor(MARRIAGE)2              0.024846 *  
## factor(MARRIAGE)3              0.037179 *  
## LIMIT_BAL         < 0.00000000000000022 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## dF/dx is for discrete change for the following variables:
## 
##  [1] "factor(PAY_0)-1"   "factor(PAY_0)0"    "factor(PAY_0)1"   
##  [4] "factor(PAY_0)2"    "factor(PAY_0)3"    "factor(PAY_0)4"   
##  [7] "factor(PAY_0)5"    "factor(PAY_0)6"    "factor(PAY_0)7"   
## [10] "factor(PAY_0)8"    "factor(SEX)2"      "factor(MARRIAGE)1"
## [13] "factor(MARRIAGE)2" "factor(MARRIAGE)3"

La variable PAY_0 (-1) cambia la probabilidad de 0.024343674424 de caer en morosidad.

La variable PAY_0 (0) cambia la probabilidad de -0.061104016309 de caer en morosidad.

La variable PAY_0 (1) cambia la probabilidad de 0.172320724921 de caer en morosidad.

La variable PAY_0 (2) cambia la probabilidad de 0.488274465511 de caer en morosidad.

La variable PAY_0 (3) cambia la probabilidad de 0.559787897712 de caer en morosidad.

La variable PAY_0 (4) cambia la probabilidad de 0.469081536104 de caer en morosidad.

La variable PAY_0 (5) cambia la probabilidad de 0.284684087495 de caer en morosidad.

La variable PAY_0 (6) cambia la probabilidad de 0.340830898685 de caer en morosidad.

La variable PAY_0 (7) cambia la probabilidad de 0.571870621722 de caer en morosidad.

La variable PAY_0 (8) cambia la probabilidad de 0.362844783174 de caer en morosidad.

La variable BILL_AMT1 cambia la probabilidad de 0.000000222829 de caer en morosidad.

La variable sex cambia la probabilidad de -0.026010315765 de caer en morosidad.

La variable marriage en 1 cambia la probabilidad de 0.208705370836 de caer en morosidad.

La variable marriage en 2 cambia la probabilidad de 0.167728776622 de caer en morosidad.

La variable marriage en 3 cambia la probabilidad de 0.267364234459 de caer en morosidad.

La variable LIMIT_BAL cambia la probabilidad de -0.000000424107 de caer en morosidad.

RATIO DE ODDG

PAY_0 (-1): Estado de reembolso en septiembre de 2005 (-1 = pagar debidamente,

1 = retraso en el pago de un mes,

2 = retraso en el pago de dos meses,

8 = retraso en el pago de ocho meses,

9 = retraso en el pago de nueve meses o más)

ratio_oddg_1 <- exp(modelo2$coefficients[2])-1
ratio_oddg_1
## factor(PAY_0)-1 
##       0.1655997
probabilidad_1 <- exp(modelo2$coefficients[2])/(1+exp(modelo2$coefficients[2]))
probabilidad_1
## factor(PAY_0)-1 
##       0.5382341

La chance de cambiar en morosidad es de 0.1655997

La probabilidad de caer en morosidad es de 0.5382341

PAY_0 (0):

ratio_oddg0 <- exp(modelo2$coefficients[3])-1
ratio_oddg0
## factor(PAY_0)0 
##     -0.3274359
probabilidad0 <- exp(modelo2$coefficients[3])/(1+exp(modelo2$coefficients[3]))
probabilidad0
## factor(PAY_0)0 
##      0.4021156

La chance de cambiar en morosidad es de -0.3274359

La probabilidad de caer en morosidad es de 0.4021156

PAY_0 (1):

ratio_oddg1 <- exp(modelo2$coefficients[4])-1
ratio_oddg1
## factor(PAY_0)1 
##       1.516598
probabilidad1 <- exp(modelo2$coefficients[4])/(1+exp(modelo2$coefficients[4]))
probabilidad1
## factor(PAY_0)1 
##      0.7156343

La chance de cambiar en morosidad es de 1.516598

La probabilidad de caer en morosidad es de 0.7156343

PAY_0 (2):

ratio_oddg2 <- exp(modelo2$coefficients[5])-1
ratio_oddg2
## factor(PAY_0)2 
##       8.632817
probabilidad2 <- exp(modelo2$coefficients[5])/(1+exp(modelo2$coefficients[5]))
probabilidad2
## factor(PAY_0)2 
##      0.9059515

La chance de cambiar en morosidad es de 8.632817

La probabilidad de caer en morosidad es de 0.9059515

PAY_0 (3):

ratio_oddg3 <- exp(modelo2$coefficients[6])-1
ratio_oddg3
## factor(PAY_0)3 
##       11.83116
probabilidad3 <- exp(modelo2$coefficients[6])/(1+exp(modelo2$coefficients[6]))
probabilidad3
## factor(PAY_0)3 
##      0.9276995

La chance de cambiar en morosidad es de 11.83116

La probabilidad de caer en morosidad es de 0.9276995

PAY_0 (4):

ratio_oddg4 <- exp(modelo2$coefficients[7])-1
ratio_oddg4
## factor(PAY_0)4 
##       7.244659
probabilidad4 <- exp(modelo2$coefficients[7])/(1+exp(modelo2$coefficients[7]))
probabilidad4
## factor(PAY_0)4 
##      0.8918294

La chance de cambiar en morosidad es de 7.244659

La probabilidad de caer en morosidad es de 0.8918294

PAY_0 (5):

ratio_oddg5 <- exp(modelo2$coefficients[8])-1
ratio_oddg5
## factor(PAY_0)5 
##       2.847753
probabilidad5 <- exp(modelo2$coefficients[8])/(1+exp(modelo2$coefficients[8]))
probabilidad5
## factor(PAY_0)5 
##      0.7937189

La chance de cambiar en morosidad es de 2.847753

La probabilidad de caer en morosidad es de 0.7937189

PAY_0 (6):

ratio_oddg6 <- exp(modelo2$coefficients[9])-1
ratio_oddg6
## factor(PAY_0)6 
##        3.81674
probabilidad6 <- exp(modelo2$coefficients[9])/(1+exp(modelo2$coefficients[9]))
probabilidad6
## factor(PAY_0)6 
##      0.8280824

La chance de cambiar en morosidad es de 3.81674

La probabilidad de caer en morosidad es de 0.8280824

PAY_0 (7):

ratio_oddg7 <- exp(modelo2$coefficients[10])-1
ratio_oddg7
## factor(PAY_0)7 
##       12.63248
probabilidad7 <- exp(modelo2$coefficients[10])/(1+exp(modelo2$coefficients[10]))
probabilidad7
## factor(PAY_0)7 
##      0.9316589

La chance de cambiar en morosidad es de 12.63248

La probabilidad de caer en morosidad es de 0.9316589

PAY_0 (8):

ratio_oddg8 <- exp(modelo2$coefficients[11])-1
ratio_oddg8
## factor(PAY_0)8 
##       4.264491
probabilidad8 <- exp(modelo2$coefficients[11])/(1+exp(modelo2$coefficients[11]))
probabilidad8
## factor(PAY_0)8 
##      0.8403701

La chance de cambiar en morosidad es de 4.264491

La probabilidad de caer en morosidad es de 0.8403701

Variables especificas de PAY_0

XB_PAY <-  modelo2$coefficients[2]*(1) + modelo2$coefficients[3]*(1) + modelo2$coefficients[4]*(1) + modelo2$coefficients[5]*(1) + modelo2$coefficients[6]*(1) + modelo2$coefficients[7]*(1) + modelo2$coefficients[8]*(1) + modelo2$coefficients[9]*(1) + modelo2$coefficients[10]*(1) + modelo2$coefficients[11]*(1) 

Un incremento tiene un efecto positivo

exp(XB_PAY) / (1+exp(XB_PAY))
## factor(PAY_0)-1 
##       0.9999996

La probabilidad estima es de 0.99

BILL_AMT1: Cantidad de extracto de cuenta en septiembre de 2005 (dólar NT)

ratio_oddg21 <- exp(modelo2$coefficients[12])-1
ratio_oddg21
##      BILL_AMT1 
## 0.000001444096
probabilidad21 <- exp(modelo2$coefficients[12])/(1+exp(modelo2$coefficients[12]))
probabilidad21
## BILL_AMT1 
## 0.5000004

La chance de BILL_AMT1 de cambiar en morosidad es de 0.000001444096

La probabilidad de BILL_AMT1 de caer en morosidad es de 0.5000004

SEXO: Género (1 = masculino, 2 = femenino)

ratio_oddg31 <- exp(modelo2$coefficients[13])-1
ratio_oddg31
## factor(SEX)2 
##   -0.1536028
probabilidad31 <- exp(modelo2$coefficients[13])/(1+exp(modelo2$coefficients[13]))
probabilidad31
## factor(SEX)2 
##    0.4584047

La chance del Género de cambiar en morosidad es de -0.1536028

La probabilidad del Género de caer en morosidad es de 0.4584047

Estado civil (1 = casado, 2 = soltero, 3 = otros)

ratio_oddg41 <- exp(modelo2$coefficients[14])-1
ratio_oddg41
## factor(MARRIAGE)1 
##          2.680294
probabilidad41 <- exp(modelo2$coefficients[14])/(1+exp(modelo2$coefficients[14]))
probabilidad41
## factor(MARRIAGE)1 
##         0.7863382

La chance de un casado de cambiar en morosidad es de 2.680294

La probabilidad de un casado de caer en morosidad es de 0.7863382

ratio_oddg42 <- exp(modelo2$coefficients[15])-1
ratio_oddg42
## factor(MARRIAGE)2 
##           2.02446
probabilidad42 <- exp(modelo2$coefficients[15])/(1+exp(modelo2$coefficients[15]))
probabilidad42
## factor(MARRIAGE)2 
##         0.7515195

La chance de un soltero de cambiar en morosidad es de 2.02446

La probabilidad de un soltero de caer en morosidad es de 0.7515195

ratio_oddg43 <- exp(modelo2$coefficients[16])-1
ratio_oddg43
## factor(MARRIAGE)3 
##          2.606392
probabilidad43 <- exp(modelo2$coefficients[16])/(1+exp(modelo2$coefficients[16]))
probabilidad43
## factor(MARRIAGE)3 
##         0.7829103

La chance de otros de cambiar en morosidad es de 2.606392

La probabilidad de otros de caer en morosidad es de 0.7829103

Variables especificas de Estado Civil

XB_Estado <-  modelo2$coefficients[14]*(1) + modelo2$coefficients[15]*(1) + modelo2$coefficients[16]*(1) 

Un incremento tiene un efecto positivo

exp(XB_Estado) / (1+exp(XB_Estado))
## factor(MARRIAGE)1 
##         0.9756942

La probabilidad estima es de 0.97

LIMIT_BAL: Cantidad de crédito otorgado en dólares NT (incluye crédito individual y familiar / complementario

ratio_oddg51 <- exp(modelo2$coefficients[17])-1
ratio_oddg51
##      LIMIT_BAL 
## -0.00000274852
probabilidad51 <- exp(modelo2$coefficients[17])/(1+exp(modelo2$coefficients[17]))
probabilidad51
## LIMIT_BAL 
## 0.4999993

La chance de la Linea de credito de cambiar en morosidad es de -0.00000274852

La probabilidad de la Linea de credito de caer en morosidad es de 0.4999993

Tabla de datos

id.Modelo2 <- data.frame(
  Nomb= c("Estado_2005 (-1)","Estado_2005 (0)","Estado_2005 (1)",
          "Estado_2005 (2)","Estado_2005 (3)","Estado_2005 (4)","Estado_2005 (5)",
          "Estado_2005 (6)","Estado_2005 (7)","Estado_2005 (8)", "BILL_AMT1","SEXO",
          "Estado_civil_1","Estado_civil_2","Estado_civil_3","Cantidad_crédito"),
  Estimate = c(modelo2$coefficients[2],modelo2$coefficients[3],modelo2$coefficients[4],
               modelo2$coefficients[5],modelo2$coefficients[6],modelo2$coefficients[7],
               modelo2$coefficients[8],modelo2$coefficients[9],modelo2$coefficients[10],
               modelo2$coefficients[11],modelo2$coefficients[12],modelo2$coefficients[13],
               modelo2$coefficients[14],modelo2$coefficients[15],modelo2$coefficients[16],
               modelo2$coefficients[17]), 
  dF_dx  = c(marginalEf$mfxest[1],marginalEf$mfxest[2],marginalEf$mfxest[3],
             marginalEf$mfxest[4],marginalEf$mfxest[5],marginalEf$mfxest[6],
             marginalEf$mfxest[7],marginalEf$mfxest[8],marginalEf$mfxest[9],
             marginalEf$mfxest[10],marginalEf$mfxest[11],marginalEf$mfxest[12],
             marginalEf$mfxest[13],marginalEf$mfxest[14],marginalEf$mfxest[15],
             marginalEf$mfxest[16]),
  RATIO_ODDG = c(ratio_oddg_1,ratio_oddg0,ratio_oddg1,ratio_oddg2,ratio_oddg3,ratio_oddg4,
                 ratio_oddg5,ratio_oddg6,ratio_oddg7,ratio_oddg8,ratio_oddg21,ratio_oddg31,
                 ratio_oddg41,ratio_oddg42,ratio_oddg43,ratio_oddg51), 
  PROBABILIDAD  = c(probabilidad_1,probabilidad0,probabilidad1,probabilidad2,probabilidad3,
                    probabilidad4,probabilidad5,probabilidad6,probabilidad7,probabilidad8,
                    probabilidad21,probabilidad31,probabilidad41,probabilidad42,probabilidad4,
                    probabilidad51), 
  stringsAsFactors = FALSE
)

Imprimir el marco de datos.

print(id.Modelo2) 
##                               Nomb        Estimate            dF_dx
## factor(PAY_0)-1   Estado_2005 (-1)  0.153235717916  0.0243436744238
## factor(PAY_0)0     Estado_2005 (0) -0.396657875979 -0.0611040163088
## factor(PAY_0)1     Estado_2005 (1)  0.922908005970  0.1723207249210
## factor(PAY_0)2     Estado_2005 (2)  2.265175678523  0.4882744655114
## factor(PAY_0)3     Estado_2005 (3)  2.551876830236  0.5597878977121
## factor(PAY_0)4     Estado_2005 (4)  2.109565565140  0.4690815361035
## factor(PAY_0)5     Estado_2005 (5)  1.347489384640  0.2846840874951
## factor(PAY_0)6     Estado_2005 (6)  1.572097373276  0.3408308986852
## factor(PAY_0)7     Estado_2005 (7)  2.612455364668  0.5718706217225
## factor(PAY_0)8     Estado_2005 (8)  1.660984373789  0.3628447831737
## BILL_AMT1                BILL_AMT1  0.000001444095  0.0000002228292
## factor(SEX)2                  SEXO -0.166766552023 -0.0260103157653
## factor(MARRIAGE)1   Estado_civil_1  1.302992535225  0.2087053708355
## factor(MARRIAGE)2   Estado_civil_2  1.106732598549  0.1677287766221
## factor(MARRIAGE)3   Estado_civil_3  1.282707688763  0.2673642344590
## LIMIT_BAL         Cantidad_crédito -0.000002748524 -0.0000004241074
##                        RATIO_ODDG PROBABILIDAD
## factor(PAY_0)-1    0.165599699296    0.5382341
## factor(PAY_0)0    -0.327435913395    0.4021156
## factor(PAY_0)1     1.516598041569    0.7156343
## factor(PAY_0)2     8.632816731490    0.9059515
## factor(PAY_0)3    11.831163112856    0.9276995
## factor(PAY_0)4     7.244658739324    0.8918294
## factor(PAY_0)5     2.847753165785    0.7937189
## factor(PAY_0)6     3.816740108801    0.8280824
## factor(PAY_0)7    12.632482507467    0.9316589
## factor(PAY_0)8     4.264490521139    0.8403701
## BILL_AMT1          0.000001444096    0.5000004
## factor(SEX)2      -0.153602822015    0.4584047
## factor(MARRIAGE)1  2.680293613315    0.7863382
## factor(MARRIAGE)2  2.024460107061    0.7515195
## factor(MARRIAGE)3  2.606391502968    0.8918294
## LIMIT_BAL         -0.000002748520    0.4999993