Descargar las librerías

library("stats")
library("psych")
library("MASS")
library("ISLR")
library("fRegression")
library("vcd")
## Loading required package: grid
## 
## Attaching package: 'vcd'
## The following object is masked from 'package:ISLR':
## 
##     Hitters
library("dplyr")
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:MASS':
## 
##     select
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library("openxlsx")
library("mlbench")
library("magrittr")
library("neuralnet")
## 
## Attaching package: 'neuralnet'
## The following object is masked from 'package:dplyr':
## 
##     compute
library("keras")
library("caret")
## Loading required package: ggplot2
## 
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
## 
##     %+%, alpha
## Loading required package: lattice
library("readxl")

Primero se debe de leer la base de datos, en este caso tiene el nombre “BasedeDatos2”

data <- read_xlsx("BasedeDatos2.xlsx")
str(data)
## tibble [1,492 × 6] (S3: tbl_df/tbl/data.frame)
##  $ ID     : num [1:1492] 1 1 1 1 1 1 2 2 2 2 ...
##  $ Year   : num [1:1492] 1999 2000 2001 2002 2003 ...
##  $ Default: num [1:1492] 0 0 0 0 0 0 0 0 0 0 ...
##  $ WC     : num [1:1492] 0.501 0.548 0.451 0.307 0.447 ...
##  $ RE     : num [1:1492] 0.307 0.322 0.225 0.192 0.217 ...
##  $ EBIT   : num [1:1492] 0.0434 0.0518 0.0268 0.0301 0.0325 ...

Asimismo es importante ver que no haya NAs en la base de datos, ya que en caso de que haya el modelo de Redes Neuronales no podrá ser ajustado

colSums(is.na(data)) 
##      ID    Year Default      WC      RE    EBIT 
##       0       0       0       0       0       0

Ajustar y Visualizar Redes Neuronales

Al momento de crear una red neuronal es importante mencionar las ‘capas ocultas’ de la red, en este caso crearemos una Red Neuronal dónde la primera capa oculta constará de 12 neuronas y la segunda capa consistirá de 7 neuronas.

set.seed(13)
train = createDataPartition(y = data$Default, p=0.8, list=FALSE, times = 1)
data_train = data[train,]
data_test = data[-train,]
RN <- neuralnet(Default ~ WC + RE + EBIT,  
               data = data_train,
               hidden = c(12,7),
               linear.output = T,
               lifesign = 'full',
               threshold = 0.05,
               rep=1)
## hidden: 12, 7    thresh: 0.05    rep: 1/1    steps:    1000  min thresh: 0.0515430915049259
##                                                        1085  error: 1.62441  time: 1.81 secs
?neuralnet

Para poder realizar predicciones es importante estandarizar las variables, para esto debemos de guardar la información como matrices y separar la variable que deseamos predecir, que en este caso se encuenta en la columna 3.

#train/test split en matrices y separando variable a predecir
training <- as.matrix(data_train[,1:6])
trainingtarget <- as.matrix(data_train[,3])
test <- as.matrix(data_test[,1:6])
testtarget <- as.matrix(data_test[,3])

#Estandarización de variables
m <- colMeans(training) #Obtener medias por columna
s <- apply(training, 2, sd) #Calcular StandDev por columna (por ello el apply lleva el 2, si pusieran 1 sería por renglón)
training <- scale(training, center = m, scale = s)
test <- scale(test, center = m, scale = s)

Es importante notar que tanto el data_train como el data_test se deben de estandarizar considerando las medias y desviaciones estándar obtenidas únicamente con los datos de entrenamiento.

Predicciones

A continuación se hace un reajuste del modelo con variables estanderizadas.

data_train_S <- as.data.frame(cbind(training,(trainingtarget - mean(trainingtarget))/sd(trainingtarget)))
colnames(data_train_S) <- colnames(data_train)

RNS <- neuralnet(Default ~ WC + RE + EBIT,
               data = data_train_S,
               hidden = c(12,7),
               linear.output = T, 
               #linear.output se debe poner como T en modelos de regresion y como F en modelos de clasificación
               lifesign = 'full',
               rep=1,
               # threshold=0.02,
               stepmax=250000)
## hidden: 12, 7    thresh: 0.01    rep: 1/1    steps:    1000  min thresh: 2.35350078657483
##                                                        2000  min thresh: 2.35350078657483
##                                                        3000  min thresh: 2.35350078657483
##                                                        4000  min thresh: 1.47956124843642
##                                                        5000  min thresh: 0.986060753686461
##                                                        6000  min thresh: 0.695350260370848
##                                                        7000  min thresh: 0.627030769336324
##                                                        8000  min thresh: 0.627030769336324
##                                                        9000  min thresh: 0.456074448511186
##                                                       10000  min thresh: 0.403148092775502
##                                                       11000  min thresh: 0.327704492813451
##                                                       12000  min thresh: 0.204507165190992
##                                                       13000  min thresh: 0.174165542518758
##                                                       14000  min thresh: 0.130844229082232
##                                                       15000  min thresh: 0.130844229082232
##                                                       16000  min thresh: 0.12235378047947
##                                                       17000  min thresh: 0.11833844424873
##                                                       18000  min thresh: 0.102275785957315
##                                                       19000  min thresh: 0.0839898222611937
##                                                       20000  min thresh: 0.0839898222611937
##                                                       21000  min thresh: 0.0839898222611937
##                                                       22000  min thresh: 0.0734209759073296
##                                                       23000  min thresh: 0.0655077605382321
##                                                       24000  min thresh: 0.0627242848807178
##                                                       25000  min thresh: 0.0608871787565538
##                                                       26000  min thresh: 0.0575554229131829
##                                                       27000  min thresh: 0.0538472665527144
##                                                       28000  min thresh: 0.0489647359495737
##                                                       29000  min thresh: 0.0478770970018755
##                                                       30000  min thresh: 0.0478770970018755
##                                                       31000  min thresh: 0.0478770970018755
##                                                       32000  min thresh: 0.0478770970018755
##                                                       33000  min thresh: 0.0478770970018755
##                                                       34000  min thresh: 0.0478770970018755
##                                                       35000  min thresh: 0.0478770970018755
##                                                       36000  min thresh: 0.0478770970018755
##                                                       37000  min thresh: 0.0478770970018755
##                                                       38000  min thresh: 0.0478770970018755
##                                                       39000  min thresh: 0.0478770970018755
##                                                       40000  min thresh: 0.0478770970018755
##                                                       41000  min thresh: 0.0478770970018755
##                                                       42000  min thresh: 0.0478770970018755
##                                                       43000  min thresh: 0.0478770970018755
##                                                       44000  min thresh: 0.0458880184015274
##                                                       45000  min thresh: 0.0458880184015274
##                                                       46000  min thresh: 0.0384016052130875
##                                                       47000  min thresh: 0.0336750427223512
##                                                       48000  min thresh: 0.0336750427223512
##                                                       49000  min thresh: 0.0336750427223512
##                                                       50000  min thresh: 0.0336750427223512
##                                                       51000  min thresh: 0.0326503140354387
##                                                       52000  min thresh: 0.0326503140354387
##                                                       53000  min thresh: 0.0320969358161425
##                                                       54000  min thresh: 0.030740868118323
##                                                       55000  min thresh: 0.0294981551233054
##                                                       56000  min thresh: 0.0294981551233054
##                                                       57000  min thresh: 0.0294981551233054
##                                                       58000  min thresh: 0.0287330726948095
##                                                       59000  min thresh: 0.0278273766906158
##                                                       60000  min thresh: 0.0249604968495271
##                                                       61000  min thresh: 0.0249604968495271
##                                                       62000  min thresh: 0.0249064573659374
##                                                       63000  min thresh: 0.0245403924060244
##                                                       64000  min thresh: 0.0245403924060244
##                                                       65000  min thresh: 0.0238251728236197
##                                                       66000  min thresh: 0.0238251728236197
##                                                       67000  min thresh: 0.0238251728236197
##                                                       68000  min thresh: 0.0238251728236197
##                                                       69000  min thresh: 0.0235831256025326
##                                                       70000  min thresh: 0.0235831256025326
##                                                       71000  min thresh: 0.0235831256025326
##                                                       72000  min thresh: 0.0235831256025326
##                                                       73000  min thresh: 0.0204433243836221
##                                                       74000  min thresh: 0.0204433243836221
##                                                       75000  min thresh: 0.0204433243836221
##                                                       76000  min thresh: 0.0204433243836221
##                                                       77000  min thresh: 0.0204433243836221
##                                                       78000  min thresh: 0.0204433243836221
##                                                       79000  min thresh: 0.0204433243836221
##                                                       80000  min thresh: 0.0190118394009979
##                                                       81000  min thresh: 0.0190118394009979
##                                                       82000  min thresh: 0.0190118394009979
##                                                       83000  min thresh: 0.0190118394009979
##                                                       84000  min thresh: 0.0190118394009979
##                                                       85000  min thresh: 0.0189077138885954
##                                                       86000  min thresh: 0.0187378116963939
##                                                       87000  min thresh: 0.0187378116963939
##                                                       88000  min thresh: 0.0186225415478224
##                                                       89000  min thresh: 0.0186225415478224
##                                                       90000  min thresh: 0.0186225415478224
##                                                       91000  min thresh: 0.0178980939315201
##                                                       92000  min thresh: 0.0178980939315201
##                                                       93000  min thresh: 0.017682842425676
##                                                       94000  min thresh: 0.0176358143068378
##                                                       95000  min thresh: 0.0176358143068378
##                                                       96000  min thresh: 0.0168836364955361
##                                                       97000  min thresh: 0.0168836364955361
##                                                       98000  min thresh: 0.0159007551494033
##                                                       99000  min thresh: 0.0159007551494033
##                                                       1e+05  min thresh: 0.0159007551494033
##                                                      101000  min thresh: 0.0155446986768746
##                                                      102000  min thresh: 0.0154267313295337
##                                                      103000  min thresh: 0.0154267313295337
##                                                      104000  min thresh: 0.0154067058741009
##                                                      105000  min thresh: 0.0151315411962028
##                                                      106000  min thresh: 0.0151315411962028
##                                                      107000  min thresh: 0.0149962735654919
##                                                      108000  min thresh: 0.0149962735654919
##                                                      109000  min thresh: 0.014526780889452
##                                                      110000  min thresh: 0.0143936470792787
##                                                      111000  min thresh: 0.0143936470792787
##                                                      112000  min thresh: 0.0143936470792787
##                                                      113000  min thresh: 0.0143936470792787
##                                                      114000  min thresh: 0.0143936470792787
##                                                      115000  min thresh: 0.0143936470792787
##                                                      116000  min thresh: 0.0143936470792787
##                                                      117000  min thresh: 0.0143936470792787
##                                                      118000  min thresh: 0.0141106893321205
##                                                      119000  min thresh: 0.0141106893321205
##                                                      120000  min thresh: 0.0141106893321205
##                                                      121000  min thresh: 0.0141106893321205
##                                                      122000  min thresh: 0.0141106893321205
##                                                      123000  min thresh: 0.0141106893321205
##                                                      124000  min thresh: 0.0138020359636436
##                                                      125000  min thresh: 0.0136677672117083
##                                                      126000  min thresh: 0.0136677672117083
##                                                      127000  min thresh: 0.0133016800163788
##                                                      128000  min thresh: 0.0133016800163788
##                                                      129000  min thresh: 0.0133016800163788
##                                                      130000  min thresh: 0.0132333417954097
##                                                      131000  min thresh: 0.0128701004654011
##                                                      132000  min thresh: 0.0128701004654011
##                                                      133000  min thresh: 0.0128701004654011
##                                                      134000  min thresh: 0.0128701004654011
##                                                      135000  min thresh: 0.0128701004654011
##                                                      136000  min thresh: 0.0128701004654011
##                                                      137000  min thresh: 0.0128701004654011
##                                                      138000  min thresh: 0.0128701004654011
##                                                      139000  min thresh: 0.0125194701773989
##                                                      140000  min thresh: 0.0125194701773989
##                                                      141000  min thresh: 0.0125194701773989
##                                                      142000  min thresh: 0.0125194701773989
##                                                      143000  min thresh: 0.0125194701773989
##                                                      144000  min thresh: 0.0125194701773989
##                                                      145000  min thresh: 0.0125194701773989
##                                                      146000  min thresh: 0.0125194701773989
##                                                      147000  min thresh: 0.0125194701773989
##                                                      148000  min thresh: 0.0117685440451644
##                                                      149000  min thresh: 0.0117685440451644
##                                                      150000  min thresh: 0.0117685440451644
##                                                      151000  min thresh: 0.0117685440451644
##                                                      152000  min thresh: 0.0117685440451644
##                                                      153000  min thresh: 0.0117685440451644
##                                                      154000  min thresh: 0.0117685440451644
##                                                      155000  min thresh: 0.0117685440451644
##                                                      156000  min thresh: 0.0117685440451644
##                                                      157000  min thresh: 0.0117685440451644
##                                                      158000  min thresh: 0.0115551732659466
##                                                      159000  min thresh: 0.0115551732659466
##                                                      160000  min thresh: 0.0115551732659466
##                                                      161000  min thresh: 0.0115551732659466
##                                                      162000  min thresh: 0.0115551732659466
##                                                      163000  min thresh: 0.0115551732659466
##                                                      164000  min thresh: 0.0115551732659466
##                                                      165000  min thresh: 0.0115551732659466
##                                                      166000  min thresh: 0.0115551732659466
##                                                      167000  min thresh: 0.0115551732659466
##                                                      168000  min thresh: 0.0115551732659466
##                                                      169000  min thresh: 0.0115551732659466
##                                                      170000  min thresh: 0.0115551732659466
##                                                      170942  error: 0.03931  time: 4.1 mins

Visualizar la Red Neuronal ajustada

plot(RNS,col.hidden = 'darkgreen',     
col.hidden.synapse = 'darkgreen',
     show.weights = T,
     information = F,
     fill = 'lightblue')

Se realizan las predicciones

data_test_S <- as.data.frame(test)
colnames(data_test_S) <- colnames(data_test)[1:6]

RNSPredictions <- predict(RNS,data_test_S)
cor(RNSPredictions,(testtarget-mean(trainingtarget))/sd(trainingtarget))
##         Default
## [1,] 0.05575387

Para calcular métricas de regresión es importante ‘desestandarizar’ las predicciones y eso es lo que se comparará contra los valores de testtarget

RNSPred <- RNSPredictions*sd(trainingtarget) + mean(trainingtarget)
plot(RNSPred,testtarget)
abline(a=0, b=1)

RSSnn <- (RNSPred - testtarget)^2
sum(RSSnn)/nrow(testtarget)
## [1] 0.01406571
1 - sum(RSSnn)/sum((testtarget - mean(trainingtarget))^2)
## [1] -0.05652631

Este es un segundo intento con una Red Neuronal pero con una menor cantidad de neuronas.

data_train_S <- as.data.frame(cbind(training,(trainingtarget - mean(trainingtarget))/sd(trainingtarget)))
colnames(data_train_S) <- colnames(data_train)

RNS2 <- neuralnet(Default ~ WC + RE + EBIT,
               data = data_train_S,
               hidden = c(5,3),
               linear.output = T, 
               lifesign = 'full',
               rep=1,
               # threshold=0.02,
               stepmax=700000)
## hidden: 5, 3    thresh: 0.01    rep: 1/1    steps:    1000   min thresh: 0.359444195307591
##                                                       2000   min thresh: 0.359444195307591
##                                                       3000   min thresh: 0.359444195307591
##                                                       4000   min thresh: 0.359444195307591
##                                                       5000   min thresh: 0.359444195307591
##                                                       6000   min thresh: 0.359444195307591
##                                                       7000   min thresh: 0.359444195307591
##                                                       8000   min thresh: 0.359444195307591
##                                                       9000   min thresh: 0.359444195307591
##                                                      10000   min thresh: 0.359444195307591
##                                                      11000   min thresh: 0.333689365981326
##                                                      12000   min thresh: 0.333689365981326
##                                                      13000   min thresh: 0.156305955946757
##                                                      14000   min thresh: 0.101432931879946
##                                                      15000   min thresh: 0.0655698899925627
##                                                      16000   min thresh: 0.0642149695786127
##                                                      17000   min thresh: 0.0517016342992195
##                                                      18000   min thresh: 0.0388026084972058
##                                                      19000   min thresh: 0.0385200514442264
##                                                      20000   min thresh: 0.0342191806634239
##                                                      21000   min thresh: 0.0339381371034097
##                                                      22000   min thresh: 0.0323575793506294
##                                                      23000   min thresh: 0.0323575793506294
##                                                      24000   min thresh: 0.0317326683696498
##                                                      25000   min thresh: 0.0299694296531639
##                                                      26000   min thresh: 0.0279954461055298
##                                                      27000   min thresh: 0.027683216239339
##                                                      28000   min thresh: 0.0276076097326709
##                                                      29000   min thresh: 0.0267936026318221
##                                                      30000   min thresh: 0.026281997772147
##                                                      31000   min thresh: 0.0248729906848235
##                                                      32000   min thresh: 0.0248729906848235
##                                                      33000   min thresh: 0.0248729906848235
##                                                      34000   min thresh: 0.0248729906848235
##                                                      35000   min thresh: 0.0248729906848235
##                                                      36000   min thresh: 0.0246934741871166
##                                                      37000   min thresh: 0.0246647521909552
##                                                      38000   min thresh: 0.0240115867757761
##                                                      39000   min thresh: 0.0239517515924209
##                                                      40000   min thresh: 0.0234342185160456
##                                                      41000   min thresh: 0.0226893127978197
##                                                      42000   min thresh: 0.0225809951562794
##                                                      43000   min thresh: 0.022466356845437
##                                                      44000   min thresh: 0.0218324810838088
##                                                      45000   min thresh: 0.0214677706806258
##                                                      46000   min thresh: 0.0210984146416637
##                                                      47000   min thresh: 0.0204295585957759
##                                                      48000   min thresh: 0.0201343305513942
##                                                      49000   min thresh: 0.0200476581172789
##                                                      50000   min thresh: 0.0200476581172789
##                                                      51000   min thresh: 0.0200476581172789
##                                                      52000   min thresh: 0.0200476581172789
##                                                      53000   min thresh: 0.0200476581172789
##                                                      54000   min thresh: 0.0200476581172789
##                                                      55000   min thresh: 0.0200476581172789
##                                                      56000   min thresh: 0.0200476581172789
##                                                      57000   min thresh: 0.0200476581172789
##                                                      58000   min thresh: 0.0200476581172789
##                                                      59000   min thresh: 0.0200476581172789
##                                                      60000   min thresh: 0.0200476581172789
##                                                      61000   min thresh: 0.0200476581172789
##                                                      62000   min thresh: 0.0200476581172789
##                                                      63000   min thresh: 0.0200476581172789
##                                                      64000   min thresh: 0.0200476581172789
##                                                      65000   min thresh: 0.0200476581172789
##                                                      66000   min thresh: 0.0200476581172789
##                                                      67000   min thresh: 0.0200476581172789
##                                                      68000   min thresh: 0.0200476581172789
##                                                      69000   min thresh: 0.0200476581172789
##                                                      70000   min thresh: 0.0200476581172789
##                                                      71000   min thresh: 0.0200476581172789
##                                                      72000   min thresh: 0.0200476581172789
##                                                      73000   min thresh: 0.0200476581172789
##                                                      74000   min thresh: 0.0200476581172789
##                                                      75000   min thresh: 0.0200476581172789
##                                                      76000   min thresh: 0.0200476581172789
##                                                      77000   min thresh: 0.0200476581172789
##                                                      78000   min thresh: 0.0200476581172789
##                                                      79000   min thresh: 0.0200476581172789
##                                                      80000   min thresh: 0.0200476581172789
##                                                      81000   min thresh: 0.0200476581172789
##                                                      82000   min thresh: 0.0200476581172789
##                                                      83000   min thresh: 0.0200476581172789
##                                                      84000   min thresh: 0.0200476581172789
##                                                      85000   min thresh: 0.0200476581172789
##                                                      86000   min thresh: 0.0200476581172789
##                                                      87000   min thresh: 0.0200476581172789
##                                                      88000   min thresh: 0.0200476581172789
##                                                      89000   min thresh: 0.0200476581172789
##                                                      90000   min thresh: 0.0200476581172789
##                                                      91000   min thresh: 0.0200476581172789
##                                                      92000   min thresh: 0.0200476581172789
##                                                      93000   min thresh: 0.0200476581172789
##                                                      94000   min thresh: 0.0200476581172789
##                                                      95000   min thresh: 0.0200476581172789
##                                                      96000   min thresh: 0.0200476581172789
##                                                      97000   min thresh: 0.0200476581172789
##                                                      98000   min thresh: 0.0200476581172789
##                                                      99000   min thresh: 0.0200476581172789
##                                                      1e+05   min thresh: 0.0200476581172789
##                                                     101000   min thresh: 0.0200476581172789
##                                                     102000   min thresh: 0.0200476581172789
##                                                     103000   min thresh: 0.0200476581172789
##                                                     104000   min thresh: 0.0200476581172789
##                                                     105000   min thresh: 0.0200476581172789
##                                                     106000   min thresh: 0.0200476581172789
##                                                     107000   min thresh: 0.0200476581172789
##                                                     108000   min thresh: 0.0200476581172789
##                                                     109000   min thresh: 0.0200476581172789
##                                                     110000   min thresh: 0.0200476581172789
##                                                     111000   min thresh: 0.0200476581172789
##                                                     112000   min thresh: 0.0200476581172789
##                                                     113000   min thresh: 0.0200476581172789
##                                                     114000   min thresh: 0.0200476581172789
##                                                     115000   min thresh: 0.0200476581172789
##                                                     116000   min thresh: 0.0200476581172789
##                                                     117000   min thresh: 0.0200476581172789
##                                                     118000   min thresh: 0.0200476581172789
##                                                     119000   min thresh: 0.0200476581172789
##                                                     120000   min thresh: 0.0200476581172789
##                                                     121000   min thresh: 0.0200476581172789
##                                                     122000   min thresh: 0.0200476581172789
##                                                     123000   min thresh: 0.0200476581172789
##                                                     124000   min thresh: 0.0200476581172789
##                                                     125000   min thresh: 0.0200476581172789
##                                                     126000   min thresh: 0.0200476581172789
##                                                     127000   min thresh: 0.0200476581172789
##                                                     128000   min thresh: 0.0200476581172789
##                                                     129000   min thresh: 0.0200476581172789
##                                                     130000   min thresh: 0.0200476581172789
##                                                     131000   min thresh: 0.0200476581172789
##                                                     132000   min thresh: 0.0200476581172789
##                                                     133000   min thresh: 0.0200476581172789
##                                                     134000   min thresh: 0.0200476581172789
##                                                     135000   min thresh: 0.0200476581172789
##                                                     136000   min thresh: 0.0200476581172789
##                                                     137000   min thresh: 0.0200476581172789
##                                                     138000   min thresh: 0.0200476581172789
##                                                     139000   min thresh: 0.0200476581172789
##                                                     140000   min thresh: 0.0200476581172789
##                                                     141000   min thresh: 0.0200476581172789
##                                                     142000   min thresh: 0.0200476581172789
##                                                     143000   min thresh: 0.0200476581172789
##                                                     144000   min thresh: 0.0200476581172789
##                                                     145000   min thresh: 0.0200476581172789
##                                                     146000   min thresh: 0.0200476581172789
##                                                     147000   min thresh: 0.0200476581172789
##                                                     148000   min thresh: 0.0200476581172789
##                                                     149000   min thresh: 0.0200476581172789
##                                                     150000   min thresh: 0.0200476581172789
##                                                     151000   min thresh: 0.0200476581172789
##                                                     152000   min thresh: 0.0200476581172789
##                                                     153000   min thresh: 0.0200476581172789
##                                                     154000   min thresh: 0.0200476581172789
##                                                     155000   min thresh: 0.0200476581172789
##                                                     156000   min thresh: 0.0200476581172789
##                                                     157000   min thresh: 0.0200476581172789
##                                                     158000   min thresh: 0.0200476581172789
##                                                     159000   min thresh: 0.0200476581172789
##                                                     160000   min thresh: 0.0200476581172789
##                                                     161000   min thresh: 0.0200476581172789
##                                                     162000   min thresh: 0.0200476581172789
##                                                     163000   min thresh: 0.0200476581172789
##                                                     164000   min thresh: 0.0200476581172789
##                                                     165000   min thresh: 0.0200476581172789
##                                                     166000   min thresh: 0.0200476581172789
##                                                     167000   min thresh: 0.0200476581172789
##                                                     168000   min thresh: 0.0200476581172789
##                                                     169000   min thresh: 0.0200476581172789
##                                                     170000   min thresh: 0.0200476581172789
##                                                     171000   min thresh: 0.0200476581172789
##                                                     172000   min thresh: 0.0200476581172789
##                                                     173000   min thresh: 0.0200476581172789
##                                                     174000   min thresh: 0.0200476581172789
##                                                     175000   min thresh: 0.0200476581172789
##                                                     176000   min thresh: 0.0200476581172789
##                                                     177000   min thresh: 0.0200476581172789
##                                                     178000   min thresh: 0.0200476581172789
##                                                     179000   min thresh: 0.0200476581172789
##                                                     180000   min thresh: 0.0200476581172789
##                                                     181000   min thresh: 0.0200476581172789
##                                                     182000   min thresh: 0.0200476581172789
##                                                     183000   min thresh: 0.0200476581172789
##                                                     184000   min thresh: 0.0200476581172789
##                                                     185000   min thresh: 0.0200476581172789
##                                                     186000   min thresh: 0.0200476581172789
##                                                     187000   min thresh: 0.0200476581172789
##                                                     188000   min thresh: 0.0200476581172789
##                                                     189000   min thresh: 0.0200476581172789
##                                                     190000   min thresh: 0.0200476581172789
##                                                     191000   min thresh: 0.0200476581172789
##                                                     192000   min thresh: 0.0200476581172789
##                                                     193000   min thresh: 0.0200476581172789
##                                                     194000   min thresh: 0.0200476581172789
##                                                     195000   min thresh: 0.0200476581172789
##                                                     196000   min thresh: 0.0200476581172789
##                                                     197000   min thresh: 0.0200476581172789
##                                                     198000   min thresh: 0.0200476581172789
##                                                     199000   min thresh: 0.0200476581172789
##                                                      2e+05   min thresh: 0.0200476581172789
##                                                     201000   min thresh: 0.0200476581172789
##                                                     202000   min thresh: 0.0200476581172789
##                                                     203000   min thresh: 0.0200476581172789
##                                                     204000   min thresh: 0.0200476581172789
##                                                     205000   min thresh: 0.0200476581172789
##                                                     206000   min thresh: 0.0200476581172789
##                                                     207000   min thresh: 0.0200476581172789
##                                                     208000   min thresh: 0.0200476581172789
##                                                     209000   min thresh: 0.0200476581172789
##                                                     210000   min thresh: 0.0200476581172789
##                                                     211000   min thresh: 0.0200476581172789
##                                                     212000   min thresh: 0.0200476581172789
##                                                     213000   min thresh: 0.0200476581172789
##                                                     214000   min thresh: 0.0200476581172789
##                                                     215000   min thresh: 0.0200476581172789
##                                                     216000   min thresh: 0.0200476581172789
##                                                     217000   min thresh: 0.0200476581172789
##                                                     218000   min thresh: 0.0200476581172789
##                                                     219000   min thresh: 0.0200476581172789
##                                                     220000   min thresh: 0.0200476581172789
##                                                     221000   min thresh: 0.0200476581172789
##                                                     222000   min thresh: 0.0200476581172789
##                                                     223000   min thresh: 0.0200476581172789
##                                                     224000   min thresh: 0.0200476581172789
##                                                     225000   min thresh: 0.0200476581172789
##                                                     226000   min thresh: 0.0200476581172789
##                                                     227000   min thresh: 0.0200476581172789
##                                                     228000   min thresh: 0.0200476581172789
##                                                     229000   min thresh: 0.0200476581172789
##                                                     230000   min thresh: 0.0200476581172789
##                                                     231000   min thresh: 0.0200476581172789
##                                                     232000   min thresh: 0.0200476581172789
##                                                     233000   min thresh: 0.0200476581172789
##                                                     234000   min thresh: 0.0200476581172789
##                                                     235000   min thresh: 0.0200476581172789
##                                                     236000   min thresh: 0.0200476581172789
##                                                     237000   min thresh: 0.0200476581172789
##                                                     238000   min thresh: 0.0200476581172789
##                                                     239000   min thresh: 0.0200476581172789
##                                                     240000   min thresh: 0.0200476581172789
##                                                     241000   min thresh: 0.0200476581172789
##                                                     242000   min thresh: 0.0200476581172789
##                                                     243000   min thresh: 0.0200476581172789
##                                                     244000   min thresh: 0.0200476581172789
##                                                     245000   min thresh: 0.0200476581172789
##                                                     246000   min thresh: 0.0200476581172789
##                                                     247000   min thresh: 0.0200476581172789
##                                                     248000   min thresh: 0.0200476581172789
##                                                     249000   min thresh: 0.0200476581172789
##                                                     250000   min thresh: 0.0200476581172789
##                                                     251000   min thresh: 0.0200476581172789
##                                                     252000   min thresh: 0.0200476581172789
##                                                     253000   min thresh: 0.0200476581172789
##                                                     254000   min thresh: 0.0200476581172789
##                                                     255000   min thresh: 0.0200476581172789
##                                                     256000   min thresh: 0.0200476581172789
##                                                     257000   min thresh: 0.0200476581172789
##                                                     258000   min thresh: 0.0200476581172789
##                                                     259000   min thresh: 0.0200476581172789
##                                                     260000   min thresh: 0.0200476581172789
##                                                     261000   min thresh: 0.0200476581172789
##                                                     262000   min thresh: 0.0200476581172789
##                                                     263000   min thresh: 0.0200476581172789
##                                                     264000   min thresh: 0.0200476581172789
##                                                     265000   min thresh: 0.0200476581172789
##                                                     266000   min thresh: 0.0200476581172789
##                                                     267000   min thresh: 0.0200476581172789
##                                                     268000   min thresh: 0.0200476581172789
##                                                     269000   min thresh: 0.0200476581172789
##                                                     270000   min thresh: 0.0200476581172789
##                                                     271000   min thresh: 0.0200476581172789
##                                                     272000   min thresh: 0.0200476581172789
##                                                     273000   min thresh: 0.0200476581172789
##                                                     274000   min thresh: 0.0200476581172789
##                                                     275000   min thresh: 0.0200476581172789
##                                                     276000   min thresh: 0.0200476581172789
##                                                     277000   min thresh: 0.0200476581172789
##                                                     278000   min thresh: 0.0200476581172789
##                                                     279000   min thresh: 0.0200476581172789
##                                                     280000   min thresh: 0.0200476581172789
##                                                     281000   min thresh: 0.0200476581172789
##                                                     282000   min thresh: 0.0200476581172789
##                                                     283000   min thresh: 0.0200476581172789
##                                                     284000   min thresh: 0.0200476581172789
##                                                     285000   min thresh: 0.0200476581172789
##                                                     286000   min thresh: 0.0200476581172789
##                                                     287000   min thresh: 0.0200476581172789
##                                                     288000   min thresh: 0.0200476581172789
##                                                     289000   min thresh: 0.0200476581172789
##                                                     290000   min thresh: 0.0200476581172789
##                                                     291000   min thresh: 0.0200476581172789
##                                                     292000   min thresh: 0.0200476581172789
##                                                     293000   min thresh: 0.0195822963987866
##                                                     294000   min thresh: 0.0195822963987866
##                                                     295000   min thresh: 0.0195822963987866
##                                                     296000   min thresh: 0.0195822963987866
##                                                     297000   min thresh: 0.0195822963987866
##                                                     298000   min thresh: 0.0195822963987866
##                                                     299000   min thresh: 0.0195822963987866
##                                                      3e+05   min thresh: 0.0195822963987866
##                                                     301000   min thresh: 0.0195822963987866
##                                                     302000   min thresh: 0.0195822963987866
##                                                     303000   min thresh: 0.0195822963987866
##                                                     304000   min thresh: 0.0195822963987866
##                                                     305000   min thresh: 0.0195822963987866
##                                                     306000   min thresh: 0.0195822963987866
##                                                     307000   min thresh: 0.0195822963987866
##                                                     308000   min thresh: 0.0195822963987866
##                                                     309000   min thresh: 0.0195822963987866
##                                                     310000   min thresh: 0.0195822963987866
##                                                     311000   min thresh: 0.0195822963987866
##                                                     312000   min thresh: 0.0195822963987866
##                                                     313000   min thresh: 0.0195822963987866
##                                                     314000   min thresh: 0.0188989372385484
##                                                     315000   min thresh: 0.0188989372385484
##                                                     316000   min thresh: 0.0188989372385484
##                                                     317000   min thresh: 0.0188989372385484
##                                                     318000   min thresh: 0.0188989372385484
##                                                     319000   min thresh: 0.0188989372385484
##                                                     320000   min thresh: 0.0188989372385484
##                                                     321000   min thresh: 0.0188989372385484
##                                                     322000   min thresh: 0.0188989372385484
##                                                     323000   min thresh: 0.0188989372385484
##                                                     324000   min thresh: 0.0188989372385484
##                                                     325000   min thresh: 0.0188989372385484
##                                                     326000   min thresh: 0.0188989372385484
##                                                     327000   min thresh: 0.0188989372385484
##                                                     328000   min thresh: 0.0188989372385484
##                                                     329000   min thresh: 0.0188989372385484
##                                                     330000   min thresh: 0.0188989372385484
##                                                     331000   min thresh: 0.0188989372385484
##                                                     332000   min thresh: 0.0188989372385484
##                                                     333000   min thresh: 0.0188989372385484
##                                                     334000   min thresh: 0.0188989372385484
##                                                     335000   min thresh: 0.0188989372385484
##                                                     336000   min thresh: 0.0188989372385484
##                                                     337000   min thresh: 0.0188989372385484
##                                                     338000   min thresh: 0.0188989372385484
##                                                     339000   min thresh: 0.0188989372385484
##                                                     340000   min thresh: 0.0188989372385484
##                                                     341000   min thresh: 0.0188989372385484
##                                                     342000   min thresh: 0.0188989372385484
##                                                     343000   min thresh: 0.0188989372385484
##                                                     344000   min thresh: 0.0188478991197229
##                                                     345000   min thresh: 0.0188478991197229
##                                                     346000   min thresh: 0.0188478991197229
##                                                     347000   min thresh: 0.017987423961282
##                                                     348000   min thresh: 0.017987423961282
##                                                     349000   min thresh: 0.0178613791364932
##                                                     350000   min thresh: 0.0178613791364932
##                                                     351000   min thresh: 0.0178613791364932
##                                                     352000   min thresh: 0.0178613791364932
##                                                     353000   min thresh: 0.0174114036013302
##                                                     354000   min thresh: 0.0174114036013302
##                                                     355000   min thresh: 0.0174114036013302
##                                                     356000   min thresh: 0.0174114036013302
##                                                     357000   min thresh: 0.0174114036013302
##                                                     358000   min thresh: 0.0174114036013302
##                                                     359000   min thresh: 0.0174114036013302
##                                                     360000   min thresh: 0.0174114036013302
##                                                     361000   min thresh: 0.0174114036013302
##                                                     362000   min thresh: 0.0172870198663945
##                                                     363000   min thresh: 0.0172870198663945
##                                                     364000   min thresh: 0.0172870198663945
##                                                     365000   min thresh: 0.0172870198663945
##                                                     366000   min thresh: 0.01697351900726
##                                                     367000   min thresh: 0.01697351900726
##                                                     368000   min thresh: 0.01697351900726
##                                                     369000   min thresh: 0.01613177408133
##                                                     370000   min thresh: 0.01613177408133
##                                                     371000   min thresh: 0.01613177408133
##                                                     372000   min thresh: 0.01613177408133
##                                                     373000   min thresh: 0.01613177408133
##                                                     374000   min thresh: 0.01613177408133
##                                                     375000   min thresh: 0.01613177408133
##                                                     376000   min thresh: 0.01613177408133
##                                                     377000   min thresh: 0.0148217547578398
##                                                     378000   min thresh: 0.0148217547578398
##                                                     379000   min thresh: 0.0148217547578398
##                                                     380000   min thresh: 0.0148217547578398
##                                                     381000   min thresh: 0.0148217547578398
##                                                     382000   min thresh: 0.0148217547578398
##                                                     383000   min thresh: 0.0148217547578398
##                                                     384000   min thresh: 0.0148217547578398
##                                                     385000   min thresh: 0.0148217547578398
##                                                     386000   min thresh: 0.0148217547578398
##                                                     387000   min thresh: 0.0148217547578398
##                                                     388000   min thresh: 0.0148217547578398
##                                                     389000   min thresh: 0.0148217547578398
##                                                     390000   min thresh: 0.0148217547578398
##                                                     391000   min thresh: 0.0148217547578398
##                                                     392000   min thresh: 0.0144048809718934
##                                                     393000   min thresh: 0.0144048809718934
##                                                     394000   min thresh: 0.0144048809718934
##                                                     395000   min thresh: 0.0144048809718934
##                                                     396000   min thresh: 0.0144048809718934
##                                                     397000   min thresh: 0.0144048809718934
##                                                     398000   min thresh: 0.0137798737305812
##                                                     399000   min thresh: 0.0137798737305812
##                                                      4e+05   min thresh: 0.0137798737305812
##                                                     401000   min thresh: 0.0137798737305812
##                                                     402000   min thresh: 0.0137798737305812
##                                                     403000   min thresh: 0.0125086878467876
##                                                     404000   min thresh: 0.0125086878467876
##                                                     405000   min thresh: 0.0125086878467876
##                                                     406000   min thresh: 0.0125086878467876
##                                                     407000   min thresh: 0.0125086878467876
##                                                     408000   min thresh: 0.0125086878467876
##                                                     409000   min thresh: 0.0125086878467876
##                                                     410000   min thresh: 0.0125086878467876
##                                                     411000   min thresh: 0.0125086878467876
##                                                     412000   min thresh: 0.0125086878467876
##                                                     413000   min thresh: 0.0125086878467876
##                                                     414000   min thresh: 0.0125086878467876
##                                                     415000   min thresh: 0.0125086878467876
##                                                     416000   min thresh: 0.0125086878467876
##                                                     417000   min thresh: 0.0125086878467876
##                                                     418000   min thresh: 0.0125086878467876
##                                                     419000   min thresh: 0.0125086878467876
##                                                     420000   min thresh: 0.0125086878467876
##                                                     421000   min thresh: 0.0123891055176483
##                                                     422000   min thresh: 0.0123891055176483
##                                                     423000   min thresh: 0.0122816623099729
##                                                     424000   min thresh: 0.0122816623099729
##                                                     425000   min thresh: 0.0122816623099729
##                                                     426000   min thresh: 0.0122816623099729
##                                                     427000   min thresh: 0.0120709140706029
##                                                     428000   min thresh: 0.0120324662488636
##                                                     429000   min thresh: 0.0118423161326998
##                                                     430000   min thresh: 0.0118423161326998
##                                                     431000   min thresh: 0.0118423161326998
##                                                     432000   min thresh: 0.0118423161326998
##                                                     433000   min thresh: 0.0117828858024763
##                                                     434000   min thresh: 0.0116897341014906
##                                                     435000   min thresh: 0.0116897341014906
##                                                     436000   min thresh: 0.011331535967634
##                                                     437000   min thresh: 0.0112928377687601
##                                                     438000   min thresh: 0.0112031900167676
##                                                     439000   min thresh: 0.01079486181789
##                                                     440000   min thresh: 0.01079486181789
##                                                     441000   min thresh: 0.01079486181789
##                                                     442000   min thresh: 0.0104587969239889
##                                                     443000   min thresh: 0.0104587969239889
##                                                     444000   min thresh: 0.0104587969239889
##                                                     445000   min thresh: 0.0104587969239889
##                                                     446000   min thresh: 0.0104587969239889
##                                                     447000   min thresh: 0.0104587969239889
##                                                     447279   error: 82.29639 time: 4.31 mins

Por medio de este código se puede visualizar la Red Neuronal Ajustada.

dev.set(dev.next())
## pdf 
##   3
print(plot(RNS2,col.hidden = 'darkgreen',     
col.hidden.synapse = 'darkgreen',
     show.weights = T,
     information = F,
     fill = 'lightblue'))
## NULL

Aquí se realiza la predicción.

data_test_S <- as.data.frame(test)
colnames(data_test_S) <- colnames(data_test)[1:6]

RNS2Predictions <- predict(RNS2,data_test_S)
cor(RNS2Predictions,(testtarget-mean(trainingtarget))/sd(trainingtarget))
##          Default
## [1,] -0.01186769

Para calcular métricas de regresión es importante ‘desestandarizar’ las predicciones y eso es lo que se comparará contra los valores de testtarget.

RNS2Pred <- RNS2Predictions*sd(trainingtarget) + mean(trainingtarget)
plot(RNS2Pred,testtarget)
abline(a=0, b=1)

RSS2nn <- (RNS2Pred - testtarget)^2
sum(RSS2nn)/nrow(testtarget)
## [1] 0.01670349
1 - sum(RSS2nn)/sum((testtarget - mean(trainingtarget))^2)
## [1] -0.2546595

A continuación hay 2 formas de comparar los moedlos de forma gráfica.

Primera forma, esta es mediante 2 gráficas diferentes.

par(mfrow=c(1,2))
plot(data_test$Default,RNS2Pred,col='red',main='Real vs predicted NN',pch=19,cex=1)
abline(0,1,lwd=2)
legend('bottomright',legend='NN',pch=18,col='red', bty='n')
plot(data_test$Default,RNSPred,col='blue',main='Real vs predicted LM',pch=15, cex=1)
abline(0,1,lwd=2)
legend('bottomright',legend='LM',pch=18,col='blue', bty='n', cex=.95)

En esta segunda forma se puede ver en una misma gráfica.

dev.set(dev.next())
## pdf 
##   3
plot(data_test$Default,RNS2Pred,col='red',main='Real vs predicted NN',pch=19,cex=1)
points(data_test$Default,RNSPred,col='blue',pch=15,cex=1)
abline(0,1,lwd=2)
legend('bottomright',legend=c('NN','LM'),pch=c(19,15),col=c('red','blue'))

#Conclusión

Una red neuronal, es un algoritmo que consiste en simular el comportamiento de un cerebro biológico mediante capas compuestas por nodos o neuronas que tienen una capa de entrada, una o más capas ocultas y una de salida y ada nodo se conecta a otro y tiene un peso asociado, así es como se forman miles de conexiones.

Estas redes sirven para problemas de clasificación como obtener alguna probabilidad o problemas de regresión, como predecir el número de algún dato, como lo es en esta evidencia en donde hacemos predicciones de la variable “Default”. Para lograr hacer predicciones utilizamos las variables WC,RE y EBIT.

En el área financiera las redes neuronales son muy importantes y cuentan con diversas aplicaciones. Entre ellas se pueden encontrar, en la administración de los portafolios de inversión, la evaluación de acciones y bonos, las estrategias de cobertura y arbitraje, el análisis de la volatilidad y correlación y la predicción de los precios de acciones, bonos, tasas de interés y de cambio, evolución de precios, valoración de créditos, identificación de falsificaciones entre otras.