Objetivo de Estudio

Usando una muestra de distintos perfiles de personas, donde se toma en cuenta una variedad de características tanto demográficas como socioeconómicas, el objetivo del presente proyecto es predecir si cada una de estas personas son perfiles válidos de aprobación para un seguro de vida laboral. Los datos se recolectaron a través de entrevistas.

Muestra de Datos

Sexo Embarazo Familia Propensión Hijos Enfermedad Actual Accidente Trabajo Enfermedad Trabajo Muerte Trabajo Adultez Deudas Capital Resultado
0 0 0 0 0 0 0 0 0 0 1 1
0 0 1 0 0 1 0 1 0 0 1 1
0 0 0 1 0 1 1 1 1 0 1 1
0 0 1 1 1 0 0 0 0 1 1 1
0 0 1 1 0 1 0 1 0 1 0 0
0 1 0 1 0 0 0 1 0 0 1 1
0 1 1 0 0 0 0 0 1 1 0 0
0 1 1 1 0 1 0 0 1 1 1 1

Análisis Explorativo

A continuación, se detallará la naturaleza y el significado del conjunto de datos.

Identificació de variables

## [1] "Sexo : integer  :  1: Mujer | 0: Hombre"
## [1] "Embarazo : integer  :  1: Embarazada o pareja emabarazada | 0: No Embarazada ni pareja embarazada"
## [1] "Familia : integer  :  1: Propensa a tener accidentes en el trabajo | 0: No es propensa a tener accidentes en el trabajo"
## [1] "Propensión Hijos : integer  :  1: Propensa a tener hijos | 0: Persona no propensa a tener hijos"
## [1] "Enfermedad Actual : integer  :  1: Tiene enfermedades actuales | 0: No tiene enfermedades significativas"
## [1] "Accidente Trabajo : integer  :  1: Propensa a tener accidentes en el trabajo | 0: No es propensa a tener accidentes en el trabajo"
## [1] "Enfermedad Trabajo : integer  :  1: Propensa a contraer enfermedades en el trabajo | 0: No es propensa a contraer enfermedades en el trabajo"
## [1] "Muerte Trabajo : integer  :  1: Propensa a morir en el trabajo | 0: No es propensa a morir en el trabajo"
## [1] "Adultez : integer  :  1: Persona mayor a 60 años | 0: Persona menor de 60 años"
## [1] "Deudas : integer  :  1: Tiene deudas | 0: No tiene deudas"
## [1] "Capital : integer  :  1: Tiene capital | 0: No tiene capital"
## [1] "Resultado : integer  :  1: Persona apta para conseguir seguro | 0: Persona no apta para conseguir seguro"

Variables cualitativas: Sexo, Embarazo, Familia, Propensión Hijos, Enfermedad Actual, Accidente Trabajo, Enfermedad Trabajo, Muerte Trabajo, Adultez, Deudas, Capital, Resultado

Variable objetivo: Resultado

Analisis univariado de variables cualitativas

Analisis bivariado de variables cualitativas

Comparación de medias:

Variables que no muestran tendencia respecto al target: Sexo, Embarazo, Familia, Propensión Hijos, Enfermedad Actual, Accidente Trabajo, Enfermedad Trabajo, Muerte Trabajo, Adultez, Deudas

Modelo Predictivo

Creación de pesos aleatorios:

Como primer paso, previo al proceso de los datos de entradas, realizamos de forma aleatorio con valores entre 0 y 1, un arreglo de pesos para el proceso en las redes neuronales.

Primera capa:

En la primera capa, capa de entrada, se realiza con cada neurona y su respectivo peso, una operación matemática con un resultado para un nuevo dato de entrada en las siguientes capas internas. Este conjunto de nuevas entradas, su tamaño de neuronas se va reducción con respecto a la cantidad inicial, logrando así una mejor concentración de datos.

Continuidad de capas:

Con la primera capa realizada, se aplica un bucle con un numero de capas internas a trabajar, en nuestro caso igual al número de preguntas en la encuesta, y tomando en cuenta la reducción de neuronas por cada capa. Teniendo al final un solo valor.

Función Activación:

Para la función activación del dato de salido, se aplicó la función sigmoidal. Dado que como respuesta buscamos un valor directo. Para el caso del proyecto, un SI o NO con respecto a la medida de otorgar el seguro de vida laboral al cliente.

Error:

Al igual que el bucle para las capas internas, bajo un valor estimado se resta al dato de salida y juntos a los pesos de cada neurona en cada capa, se busca un valor de error por cada neurona dentro de la red en un bucle en retroceso, desde el dato de salida hasta el dato de entrada.

Actualización de Pesos:

Una vez obtenido para cada neurona su valor de error, se aplica la misma lógica de bucle dentro de las capas para la actualización del peso con respecto a su peso anterior o inicial y el error, logrando un mejor valor en los pesos dado que en su comienzo eran de carácter aleatorio.

Gráficos

Pesos Actualizados

## [[1]]
##                [,1]          [,2]          [,3]          [,4]
##  [1,]    0.77524834  6.150789e-01 -3.232149e-01  -0.627299235
##  [2,]    0.30991613  1.707561e-01 -6.741634e-02   0.060969955
##  [3,]   -6.94564297 -2.792772e+00  9.916901e-01  -0.920012167
##  [4,]  146.87873430  7.866586e+01 -3.926708e+01  12.337825243
##  [5,]   -8.19102556 -9.437348e+00  3.636708e+00  -5.060791404
##  [6,]   -3.08236576 -1.697761e+00  5.712025e-01  -0.465934540
##  [7,] 6393.66556677  3.317730e+03 -1.380034e+03 662.914870674
##  [8,]   26.41558704 -1.217917e+01  5.283213e+00  -2.974740377
##  [9,]   73.29250471  3.926650e+01 -1.146148e+01 -15.572084222
## [10,]  -54.28226109  2.416342e+01 -7.077218e+00   5.643071712
## [11,]    1.12073212  2.995990e+00 -2.332598e+00  -1.553565418
## [12,]   45.05893089  3.439964e+01 -2.103136e+01  -0.246946990
## [13,]   -3.31887034 -1.436783e+00  6.129113e-01  -0.676958257
## [14,]   -5.04670633 -2.524688e+00  1.222923e+00  -0.823372170
## [15,]   20.92099014  8.400705e+00 -3.242925e+00   4.032367052
## [16,]  -30.82666715 -1.249408e+01  4.966256e+00  -6.833443337
## [17,]  -23.06676108 -1.348199e+01  6.827038e+00   2.092678251
## [18,]   -0.33138087  1.060978e+01 -9.061159e+00  -7.084062833
## [19,]   40.80560093  3.682193e+01 -2.374578e+01  -5.361641220
## [20,]    0.01951531  8.386935e-03 -3.008144e-03   0.001263746
##                [,5]          [,6]          [,7]          [,8]
##  [1,]    0.40545999 -6.658311e-01    0.22906521    1.91639744
##  [2,]    0.26865989 -2.103190e-01    0.31380198    0.45693223
##  [3,]   -5.87541187  4.198697e+00   -6.32548802   -7.23951483
##  [4,]  132.08638050 -9.147906e+01  135.73721959  270.70076852
##  [5,]   -7.50432372  8.503153e+00  -12.64604184  -21.98203115
##  [6,]   -2.47072945  2.215949e+00   -2.99511423   -3.74357552
##  [7,] 5421.30202128 -4.203087e+03 5938.34984900 9401.82602414
##  [8,]   23.98837324 -1.612920e+00   11.48086024  -19.32351441
##  [9,]   44.89242896 -5.719452e+01   49.21630155   66.63288882
## [10,]  -54.17719055  1.384011e-01  -24.69301950   11.46065634
## [11,]    1.33855917 -1.344353e+00    0.62507229   14.66674479
## [12,]   43.65303738 -3.015029e+01   42.35195960  139.97033386
## [13,]   -3.03035984  1.938159e+00   -3.25914338   -4.48278470
## [14,]   -4.67061022  3.032636e+00   -4.92026046   -8.63110120
## [15,]   18.62051549 -1.219725e+01   20.09695882   24.12883999
## [16,]  -28.00581666  1.778235e+01  -30.38526859  -37.11608996
## [17,]  -19.05197851  1.540846e+01  -18.46865351  -45.27624856
## [18,]    1.34455153 -2.661544e+00   -1.86403045   56.19596135
## [19,]   39.61418714 -2.911282e+01   36.37202460  155.38492202
## [20,]    0.01583228 -1.231915e-02    0.01688609    0.02110484
##                [,9]         [,10]         [,11]
##  [1,]  7.393162e-01    0.23696282 -3.171057e-01
##  [2,] -3.485551e-02    0.38595040 -8.750667e-01
##  [3,]  7.985449e-01   -6.56297650  1.510357e+01
##  [4,] -7.075495e+00  170.20797387 -3.556370e+02
##  [5,]  1.717817e+00  -20.99145496  4.876853e+01
##  [6,]  1.324431e-01   -3.48106870  8.270303e+00
##  [7,] -2.799983e+02 6988.74301154 -1.557221e+04
##  [8,] -8.577351e+00  -12.46357302  3.160720e+01
##  [9,]  2.436552e+01   41.37586792 -1.102687e+02
## [10,]  2.017210e+01   18.32280212 -6.112042e+01
## [11,]  2.078031e+00    3.72145637 -4.728371e+00
## [12,]  3.712146e+00   67.27967247 -1.271693e+02
## [13,]  6.391020e-01   -3.75464087  8.259597e+00
## [14,]  6.991452e-01   -6.09594806  1.293191e+01
## [15,] -3.874098e+00   21.94054865 -4.937643e+01
## [16,]  6.650390e+00  -33.95076612  7.587798e+01
## [17,] -3.391031e+00  -22.83560110  4.666409e+01
## [18,]  9.253068e+00   11.02598892 -9.402112e+00
## [19,]  9.737478e+00   64.74818238 -1.160750e+02
## [20,] -6.317526e-04    0.01727434 -3.994360e-02

Neuronas

Algoritmo Propio

Por otro lado, también logramos resolver el problema sin usar neural network, logrando de esta manera propagación de error y actualización de pesos

Datos de entrada:

##    X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11
## 20  1  1  0  0  1  1  1  1  1   1   0

Lista de pesos:

##             [,1]       [,2]       [,3]       [,4]       [,5]       [,6]
##  [1,] 0.49175414 0.96086721 0.55552580 0.64756730 0.40211560 0.44612519
##  [2,] 0.44612519 0.37716841 0.89816713 0.44241315 0.81052734 0.09849889
##  [3,] 0.09849889 0.49175414 0.96086721 0.55552580 0.64756730 0.40211560
##  [4,] 0.40211560 0.44612519 0.37716841 0.89816713 0.44241315 0.81052734
##  [5,] 0.81052734 0.09849889 0.49175414 0.96086721 0.55552580 0.64756730
##  [6,] 0.64756730 0.40211560 0.44612519 0.37716841 0.89816713 0.44241315
##  [7,] 0.44241315 0.81052734 0.09849889 0.49175414 0.96086721 0.55552580
##  [8,] 0.55552580 0.64756730 0.40211560 0.44612519 0.37716841 0.89816713
##  [9,] 0.89816713 0.44241315 0.81052734 0.09849889 0.49175414 0.96086721
## [10,] 0.96086721 0.55552580 0.64756730 0.40211560 0.44612519 0.37716841
## [11,] 0.37716841 0.89816713 0.44241315 0.81052734 0.09849889 0.49175414
## [12,] 0.49175414 0.96086721 0.55552580 0.64756730 0.40211560 0.44612519
## [13,] 0.44612519 0.37716841 0.89816713 0.44241315 0.81052734 0.09849889
## [14,] 0.09849889 0.49175414 0.96086721 0.55552580 0.64756730 0.40211560
## [15,] 0.40211560 0.44612519 0.37716841 0.89816713 0.44241315 0.81052734
## [16,] 0.81052734 0.09849889 0.49175414 0.96086721 0.55552580 0.64756730
## [17,] 0.64756730 0.40211560 0.44612519 0.37716841 0.89816713 0.44241315
## [18,] 0.44241315 0.81052734 0.09849889 0.49175414 0.96086721 0.55552580
## [19,] 0.55552580 0.64756730 0.40211560 0.44612519 0.37716841 0.89816713
## [20,] 0.89816713 0.44241315 0.81052734 0.09849889 0.49175414 0.96086721
##             [,7]       [,8]       [,9]      [,10]      [,11]
##  [1,] 0.37716841 0.89816713 0.44241315 0.81052734 0.09849889
##  [2,] 0.49175414 0.96086721 0.55552580 0.64756730 0.40211560
##  [3,] 0.44612519 0.37716841 0.89816713 0.44241315 0.81052734
##  [4,] 0.09849889 0.49175414 0.96086721 0.55552580 0.64756730
##  [5,] 0.40211560 0.44612519 0.37716841 0.89816713 0.44241315
##  [6,] 0.81052734 0.09849889 0.49175414 0.96086721 0.55552580
##  [7,] 0.64756730 0.40211560 0.44612519 0.37716841 0.89816713
##  [8,] 0.44241315 0.81052734 0.09849889 0.49175414 0.96086721
##  [9,] 0.55552580 0.64756730 0.40211560 0.44612519 0.37716841
## [10,] 0.89816713 0.44241315 0.81052734 0.09849889 0.49175414
## [11,] 0.96086721 0.55552580 0.64756730 0.40211560 0.44612519
## [12,] 0.37716841 0.89816713 0.44241315 0.81052734 0.09849889
## [13,] 0.49175414 0.96086721 0.55552580 0.64756730 0.40211560
## [14,] 0.44612519 0.37716841 0.89816713 0.44241315 0.81052734
## [15,] 0.09849889 0.49175414 0.96086721 0.55552580 0.64756730
## [16,] 0.40211560 0.44612519 0.37716841 0.89816713 0.44241315
## [17,] 0.81052734 0.09849889 0.49175414 0.96086721 0.55552580
## [18,] 0.64756730 0.40211560 0.44612519 0.37716841 0.89816713
## [19,] 0.44241315 0.81052734 0.09849889 0.49175414 0.96086721
## [20,] 0.55552580 0.64756730 0.40211560 0.44612519 0.37716841

Resultados

Con la función de activacion (sigmoidal):

## [1] 0.9856069

Error

Calculo de Error:

## [1] 0.2324686

Pesos actualizados

Nuevos pesos:

##             [,1]       [,2]       [,3]       [,4]       [,5]       [,6]
##  [1,] 0.51040077 0.97951384 0.57417243 0.66621392 0.42076223 0.46477181
##  [2,] 0.48255991 0.41360314 0.93460186 0.47884788 0.84696207 0.13493362
##  [3,] 0.11956364 0.51281890 0.98193197 0.57659056 0.66863205 0.42318036
##  [4,] 0.42667044 0.47068002 0.40172325 0.92272197 0.46696799 0.83508218
##  [5,] 0.82577500 0.11374655 0.50700180 0.97611487 0.57077346 0.66281495
##  [6,] 0.66448373 0.41903204 0.46304162 0.39408485 0.91508357 0.45932959
##  [7,] 0.45671485 0.82482904 0.11280058 0.50605584 0.97516891 0.56982750
##  [8,] 0.58958303 0.68162452 0.43617283 0.48018241 0.41122564 0.93222436
##  [9,] 0.91494282 0.45918884 0.82730303 0.11527457 0.50852982 0.97764289
## [10,] 0.99160126 0.58625985 0.67830135 0.43284966 0.47685924 0.40790246
## [11,] 0.37716841 0.89816713 0.44241315 0.81052734 0.09849889 0.49175414
## [12,] 0.49175414 0.96086721 0.55552580 0.64756730 0.40211560 0.44612519
## [13,] 0.44612519 0.37716841 0.89816713 0.44241315 0.81052734 0.09849889
## [14,] 0.09849889 0.49175414 0.96086721 0.55552580 0.64756730 0.40211560
## [15,] 0.40211560 0.44612519 0.37716841 0.89816713 0.44241315 0.81052734
## [16,] 0.81052734 0.09849889 0.49175414 0.96086721 0.55552580 0.64756730
## [17,] 0.64756730 0.40211560 0.44612519 0.37716841 0.89816713 0.44241315
## [18,] 0.44241315 0.81052734 0.09849889 0.49175414 0.96086721 0.55552580
## [19,] 0.55552580 0.64756730 0.40211560 0.44612519 0.37716841 0.89816713
## [20,] 0.89816713 0.44241315 0.81052734 0.09849889 0.49175414 0.96086721
##             [,7]       [,8]       [,9]     [,10]      [,11]
##  [1,] 0.39581503 0.91681376 0.46105978 0.8291740 0.11714551
##  [2,] 0.52818887 0.99730194 0.59196053 0.6840020 0.43855033
##  [3,] 0.46718994 0.39823317 0.91923189 0.4634779 0.83159210
##  [4,] 0.12305373 0.51630898 0.98542205 0.5800806 0.67212213
##  [5,] 0.41736326 0.46137284 0.39241607 0.9134148 0.45766081
##  [6,] 0.82744378 0.11541533 0.50867058 0.9777836 0.57244224
##  [7,] 0.66186899 0.41641730 0.46042688 0.3914701 0.91246883
##  [8,] 0.47647038 0.84458457 0.13255612 0.5258114 0.99492444
##  [9,] 0.57230148 0.66434298 0.41889129 0.4629009 0.39394409
## [10,] 0.92890119 0.47314721 0.84126140 0.1292329 0.52248819
## [11,] 0.96086721 0.55552580 0.64756730 0.4021156 0.44612519
## [12,] 0.37716841 0.89816713 0.44241315 0.8105273 0.09849889
## [13,] 0.49175414 0.96086721 0.55552580 0.6475673 0.40211560
## [14,] 0.44612519 0.37716841 0.89816713 0.4424132 0.81052734
## [15,] 0.09849889 0.49175414 0.96086721 0.5555258 0.64756730
## [16,] 0.40211560 0.44612519 0.37716841 0.8981671 0.44241315
## [17,] 0.81052734 0.09849889 0.49175414 0.9608672 0.55552580
## [18,] 0.64756730 0.40211560 0.44612519 0.3771684 0.89816713
## [19,] 0.44241315 0.81052734 0.09849889 0.4917541 0.96086721
## [20,] 0.55552580 0.64756730 0.40211560 0.4461252 0.37716841

Conclusiones

En conclusión, el siguiente proyecto se trató de predecir si el cliente consultado debe otorgarle un seguro de vida laboral usando los algoritmos de redes neuronales multicapa, trabajando en conjunto con el margen de error. Al principio se optó por un algoritmo de perceptrón simple para el proceso de datos, pero se apreció que los resultados no eran óptimos y una falta de mejor acabo en el dato de salida. Por último, usando el paquete NeuralNet, se aplicó una secuencia de capas internar en donde los datos de entrada junto con el arreglo de datos deseados, se lograba predecir un mejor valor de salida, y el margen de error era de carácter menor, asegurándonos un mejor resultado.