Análisis de sentimientos

Shinny APP MIAU - HIMNO NACIONAL

Redes Neuronales

Conceptos

Una Red Neural Artificial (ANN) modela la relación entre un conjunto de entradas y una salida, resolviendo un problema de aprendizaje.

Ejemplos de aplicación de Redes Neuronales son:
1. La recomendación de contenido de Netflix.
2. El feed de Instagram o Tiktok.
3. Determinar el número o letra escrito a mano.

1. Instalar paquetes y llamar librerias

#install.packages("neuralnet")
library(neuralnet)

2. Alimentar con ejemplos

examen <- c(20,10,30,20,80,30)
proyecto <- c(90,20,40,50,50,80)
estatus <- c(1,0,0,0,0,1)
clase <- data.frame(examen,proyecto,estatus)

3. General la Red Neuronal

red_neuronal <- neuralnet(estatus~., data=clase)
plot(red_neuronal, rep = "best")

## 4. Predecir con la Red Neuronal

prueba_examen <- c(30,40,85)
prueba_proyecto <- c(85,50,40)
prueba <- data.frame(prueba_examen,prueba_proyecto)
prediccion <- compute(red_neuronal, prueba)
prediccion$net.result
##             [,1]
## [1,]  1.02198990
## [2,] -0.02481264
## [3,] -0.02486555
probabilidad <- prediccion$net.result
resultado <- ifelse(probabilidad>0.5,1,0)
resultado
##      [,1]
## [1,]    1
## [2,]    0
## [3,]    0

Cancer de mama

1. Instalar paquetes y llamar librerias

#install.packages("neuralnet")
library(neuralnet)

2. Alimentar con ejemplos

cancerdemama <- read.csv("/Users/ariadnapalacios/R/cancer_de_mama.csv")
cancerdemama$diagnosis <- ifelse(cancerdemama$diagnosis == "M",1,0)

3. General la Red Neuronal

red_neuronal <- neuralnet(diagnosis ~., data=cancerdemama)
plot(red_neuronal, rep = "best")

## 4. Predecir con la Red Neuronal

prueba <- cancerdemama[c(19,20,21,22,23),]
prediccion <- compute(red_neuronal,prueba)
prediccion$net.result
##        [,1]
## 19 0.372596
## 20 0.372596
## 21 0.372596
## 22 0.372596
## 23 0.372596
probabilidad <- prediccion$net.result
resultado <- ifelse(probabilidad>0.5,1,0)
resultado
##    [,1]
## 19    0
## 20    0
## 21    0
## 22    0
## 23    0

Series de tiempo

0. Concepto

Una serie de tiempo es una colección de observaciones sobre un determinado fenómeno efectuadas en momentos de tiempo sucesivos, usualmente equiespaciados.

Ejemplos de series de tiempo son:
1. Precio de acciones.
2. Niveles de inventario.
3. Rotación de personal.
4. Ventas.
5. PIB (GDP).

1. Instalar paquetes y llamar librerías

#install.packages("forecast")
library(forecast)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo

2. Crear la serie de tiempo

# Ejemplo: Los siguientes datos de producción trimestral inicial en el primer trimestre del 2020.
# Se busca pronosticar la producción de los siguientes 5 trimestres

produccion <- c(50,53,55,57,55,60)

serie_de_tiempo <- ts(data=produccion, start = c(2020,1), frequency = 4)
serie_de_tiempo
##      Qtr1 Qtr2 Qtr3 Qtr4
## 2020   50   53   55   57
## 2021   55   60

3. Crear el modelo ARIMA

ARIMA significa AutoRegressive Integrated de Promedio Average o Modelo Autoregresivo Integrado de Premedio Movil

modelo <- auto.arima(serie_de_tiempo, D=1)
modelo
## Series: serie_de_tiempo 
## ARIMA(0,0,0)(0,1,0)[4] with drift 
## 
## Coefficients:
##        drift
##       1.5000
## s.e.  0.1768
## 
## sigma^2 = 2.01:  log likelihood = -2.84
## AIC=9.68   AICc=-2.32   BIC=7.06
summary(modelo)
## Series: serie_de_tiempo 
## ARIMA(0,0,0)(0,1,0)[4] with drift 
## 
## Coefficients:
##        drift
##       1.5000
## s.e.  0.1768
## 
## sigma^2 = 2.01:  log likelihood = -2.84
## AIC=9.68   AICc=-2.32   BIC=7.06
## 
## Training set error measures:
##                      ME      RMSE       MAE        MPE      MAPE       MASE
## Training set 0.03333332 0.5787923 0.3666667 0.03685269 0.6429133 0.06111111
##                    ACF1
## Training set -0.5073047

4. Realizar el pronóstico

pronostico <- forecast(modelo, level=c(95), h=5)
pronostico
##         Point Forecast    Lo 95    Hi 95
## 2021 Q3             61 58.22127 63.77873
## 2021 Q4             63 60.22127 65.77873
## 2022 Q1             61 58.22127 63.77873
## 2022 Q2             66 63.22127 68.77873
## 2022 Q3             67 63.07028 70.92972
plot(pronostico)

LS0tCnRpdGxlOiAiQWN0aXZpZGFkIDQuMiAtIENvbXBsZXRhIgphdXRob3I6ICJBcmlhZG5hIFBhbGFjaW9zIEEwMDgyOTYyNyIKZGF0ZTogIjIwMjMtMTAtMDIiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgdG9jOiBUUlVFCiAgICB0b2NfZmxvYXQ6IFRSVUUKICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUKICAgIHRoZW1lOiAieWV0aSIKICAgIGhpZ2hsaWdodDogInRhbmdvIgoKLS0tCiMgPHNwYW4gc3R5bGU9ImNvbG9yOiBwdXJwbGU7IiA+QW7DoWxpc2lzIGRlIHNlbnRpbWllbnRvcyAgPC9zcGFuPgojIyBTaGlubnkgQVBQIE1JQVUgLSBISU1OTyBOQUNJT05BTAoKIyMgW2xpbmtdKGh0dHBzOi8vYXJpcGFsYWNpb3Muc2hpbnlhcHBzLmlvL0FQUEhpbW5vLykgCgoKCiMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyIgPlJlZGVzIE5ldXJvbmFsZXM8L3NwYW4+CiFbXSgvVXNlcnMvYXJpYWRuYXBhbGFjaW9zL1IvY2VyZWJybzEuZ2lmKQoKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyIgPkNvbmNlcHRvczwvc3Bhbj4KVW5hIFJlZCBOZXVyYWwgQXJ0aWZpY2lhbCAoQU5OKSBtb2RlbGEgbGEgcmVsYWNpw7NuIGVudHJlIHVuIGNvbmp1bnRvIGRlIGVudHJhZGFzIHkgdW5hIHNhbGlkYSwgcmVzb2x2aWVuZG8gdW4gcHJvYmxlbWEgZGUgYXByZW5kaXphamUuCgpFamVtcGxvcyBkZSBhcGxpY2FjacOzbiBkZSBSZWRlcyBOZXVyb25hbGVzIHNvbjogICAgCjEuIExhIHJlY29tZW5kYWNpw7NuIGRlIGNvbnRlbmlkbyBkZSBOZXRmbGl4LiAgIAoyLiBFbCBmZWVkIGRlIEluc3RhZ3JhbSBvIFRpa3Rvay4gICAKMy4gRGV0ZXJtaW5hciBlbCBuw7ptZXJvIG8gbGV0cmEgZXNjcml0byBhIG1hbm8uICAgIAoKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyIgPjEuIEluc3RhbGFyIHBhcXVldGVzIHkgbGxhbWFyIGxpYnJlcmlhczwvc3Bhbj4KYGBge3J9CiNpbnN0YWxsLnBhY2thZ2VzKCJuZXVyYWxuZXQiKQpsaWJyYXJ5KG5ldXJhbG5ldCkKCmBgYAoKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyIgPjIuIEFsaW1lbnRhciBjb24gZWplbXBsb3M8L3NwYW4+CmBgYHtyfQpleGFtZW4gPC0gYygyMCwxMCwzMCwyMCw4MCwzMCkKcHJveWVjdG8gPC0gYyg5MCwyMCw0MCw1MCw1MCw4MCkKZXN0YXR1cyA8LSBjKDEsMCwwLDAsMCwxKQpjbGFzZSA8LSBkYXRhLmZyYW1lKGV4YW1lbixwcm95ZWN0byxlc3RhdHVzKQoKYGBgCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IGJsdWU7IiA+My4gR2VuZXJhbCBsYSBSZWQgTmV1cm9uYWw8L3NwYW4+CmBgYHtyfQpyZWRfbmV1cm9uYWwgPC0gbmV1cmFsbmV0KGVzdGF0dXN+LiwgZGF0YT1jbGFzZSkKcGxvdChyZWRfbmV1cm9uYWwsIHJlcCA9ICJiZXN0IikKYGBgCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiID40LiBQcmVkZWNpciBjb24gbGEgUmVkIE5ldXJvbmFsPC9zcGFuPgpgYGB7cn0KcHJ1ZWJhX2V4YW1lbiA8LSBjKDMwLDQwLDg1KQpwcnVlYmFfcHJveWVjdG8gPC0gYyg4NSw1MCw0MCkKcHJ1ZWJhIDwtIGRhdGEuZnJhbWUocHJ1ZWJhX2V4YW1lbixwcnVlYmFfcHJveWVjdG8pCnByZWRpY2Npb24gPC0gY29tcHV0ZShyZWRfbmV1cm9uYWwsIHBydWViYSkKcHJlZGljY2lvbiRuZXQucmVzdWx0CnByb2JhYmlsaWRhZCA8LSBwcmVkaWNjaW9uJG5ldC5yZXN1bHQKcmVzdWx0YWRvIDwtIGlmZWxzZShwcm9iYWJpbGlkYWQ+MC41LDEsMCkKcmVzdWx0YWRvCgpgYGAKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBwaW5rOyIgPkNhbmNlciBkZSBtYW1hPC9zcGFuPgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IHBpbms7IiA+MS4gSW5zdGFsYXIgcGFxdWV0ZXMgeSBsbGFtYXIgbGlicmVyaWFzPC9zcGFuPgpgYGB7cn0KI2luc3RhbGwucGFja2FnZXMoIm5ldXJhbG5ldCIpCmxpYnJhcnkobmV1cmFsbmV0KQpgYGAKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogcGluazsiID4yLiBBbGltZW50YXIgY29uIGVqZW1wbG9zPC9zcGFuPgpgYGB7cn0KY2FuY2VyZGVtYW1hIDwtIHJlYWQuY3N2KCIvVXNlcnMvYXJpYWRuYXBhbGFjaW9zL1IvY2FuY2VyX2RlX21hbWEuY3N2IikKY2FuY2VyZGVtYW1hJGRpYWdub3NpcyA8LSBpZmVsc2UoY2FuY2VyZGVtYW1hJGRpYWdub3NpcyA9PSAiTSIsMSwwKQpgYGAKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogcGluazsiID4zLiBHZW5lcmFsIGxhIFJlZCBOZXVyb25hbDwvc3Bhbj4KYGBge3J9CnJlZF9uZXVyb25hbCA8LSBuZXVyYWxuZXQoZGlhZ25vc2lzIH4uLCBkYXRhPWNhbmNlcmRlbWFtYSkKcGxvdChyZWRfbmV1cm9uYWwsIHJlcCA9ICJiZXN0IikKYGBgCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogcGluazsiID40LiBQcmVkZWNpciBjb24gbGEgUmVkIE5ldXJvbmFsPC9zcGFuPgpgYGB7cn0KcHJ1ZWJhIDwtIGNhbmNlcmRlbWFtYVtjKDE5LDIwLDIxLDIyLDIzKSxdCnByZWRpY2Npb24gPC0gY29tcHV0ZShyZWRfbmV1cm9uYWwscHJ1ZWJhKQpwcmVkaWNjaW9uJG5ldC5yZXN1bHQKCnByb2JhYmlsaWRhZCA8LSBwcmVkaWNjaW9uJG5ldC5yZXN1bHQKcmVzdWx0YWRvIDwtIGlmZWxzZShwcm9iYWJpbGlkYWQ+MC41LDEsMCkKcmVzdWx0YWRvCmBgYAoKCiMgPHNwYW4gc3R5bGU9ImNvbG9yOiBvcmFuZ2U7IiA+U2VyaWVzIGRlIHRpZW1wbzwvc3Bhbj4KCiFbXSgvVXNlcnMvYXJpYWRuYXBhbGFjaW9zL1IvdGllbXBvLmdpZikKCgojIyA8c3BhbiBzdHlsZT0iY29sb3I6IG9yYW5nZTsiID4wLiBDb25jZXB0bzwvc3Bhbj4KVW5hICoqc2VyaWUgZGUgdGllbXBvKiogZXMgdW5hIGNvbGVjY2nDs24gZGUgb2JzZXJ2YWNpb25lcyBzb2JyZSB1biBkZXRlcm1pbmFkbyBmZW7Ds21lbm8gZWZlY3R1YWRhcyBlbiBtb21lbnRvcyBkZSB0aWVtcG8gc3VjZXNpdm9zLCB1c3VhbG1lbnRlIGVxdWllc3BhY2lhZG9zLiAgICAKCkVqZW1wbG9zIGRlIHNlcmllcyBkZSB0aWVtcG8gc29uOiAgICAKMS4gUHJlY2lvIGRlIGFjY2lvbmVzLiAgIAoyLiBOaXZlbGVzIGRlIGludmVudGFyaW8uICAgCjMuIFJvdGFjacOzbiBkZSBwZXJzb25hbC4gICAKNC4gVmVudGFzLiAgIAo1LiAgUElCIChHRFApLiAgIAoKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogb3JhbmdlOyIgPjEuIEluc3RhbGFyIHBhcXVldGVzIHkgbGxhbWFyIGxpYnJlcsOtYXM8L3NwYW4+CmBgYHtyfQojaW5zdGFsbC5wYWNrYWdlcygiZm9yZWNhc3QiKQpsaWJyYXJ5KGZvcmVjYXN0KQpgYGAKCiMjIDxzcGFuIHN0eWxlPSJjb2xvcjogb3JhbmdlOyIgPjIuIENyZWFyIGxhIHNlcmllIGRlIHRpZW1wbzwvc3Bhbj4KYGBge3J9CiMgRWplbXBsbzogTG9zIHNpZ3VpZW50ZXMgZGF0b3MgZGUgcHJvZHVjY2nDs24gdHJpbWVzdHJhbCBpbmljaWFsIGVuIGVsIHByaW1lciB0cmltZXN0cmUgZGVsIDIwMjAuCiMgU2UgYnVzY2EgcHJvbm9zdGljYXIgbGEgcHJvZHVjY2nDs24gZGUgbG9zIHNpZ3VpZW50ZXMgNSB0cmltZXN0cmVzCgpwcm9kdWNjaW9uIDwtIGMoNTAsNTMsNTUsNTcsNTUsNjApCgpzZXJpZV9kZV90aWVtcG8gPC0gdHMoZGF0YT1wcm9kdWNjaW9uLCBzdGFydCA9IGMoMjAyMCwxKSwgZnJlcXVlbmN5ID0gNCkKc2VyaWVfZGVfdGllbXBvCmBgYAoKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBvcmFuZ2U7IiA+My4gQ3JlYXIgZWwgbW9kZWxvIEFSSU1BPC9zcGFuPgoqKkFSSU1BKiogc2lnbmlmaWNhICpBdXRvUmVncmVzc2l2ZSBJbnRlZ3JhdGVkIGRlIFByb21lZGlvIEF2ZXJhZ2UqIG8gKk1vZGVsbyBBdXRvcmVncmVzaXZvIEludGVncmFkbyBkZSBQcmVtZWRpbyBNb3ZpbCoKCmBgYHtyfQptb2RlbG8gPC0gYXV0by5hcmltYShzZXJpZV9kZV90aWVtcG8sIEQ9MSkKbW9kZWxvCnN1bW1hcnkobW9kZWxvKQpgYGAKIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiBvcmFuZ2U7IiA+NC4gUmVhbGl6YXIgZWwgcHJvbsOzc3RpY288L3NwYW4+CgpgYGB7cn0KcHJvbm9zdGljbyA8LSBmb3JlY2FzdChtb2RlbG8sIGxldmVsPWMoOTUpLCBoPTUpCnByb25vc3RpY28KcGxvdChwcm9ub3N0aWNvKQpgYGAKCgo=