Subido por mateo.flores

Sesion de ejercicios

Anuncio
Tema:
Sesión de ejercicios 5.
Docente:
Andrés Auquilla.
Integrantes:
Mateo Reinoso, Mateo Flores.
Ejercicio 1
El objetivo de este ejercicio es que el estudiante utilice Deep Neural Networks, específicamente la
arquitectura LTSM para realizar forecast. Así mismo, el estudiante comenzará a analizar de forma objetiva
series de tiempo.
Ejercicio 1.1
Ejecute y analice el siguiente código
Figura. 1 Gráfica de datos de prueba y entrenamiento del dataset gas.
En base a este gráfico:
●
Como podría comparar los valores de prueba y los de entrenamiento: tendencia, amplitud, etc
De manera gráfica no se puede apreciar un parecido, en cuanto a tendencia no está claro puesto a que no se
puede ver alguna clase de patrón en el comportamiento hay varias subidas y bajadas repentinas, y con los
datos de prueba se observa una tendencia a la disminución. En cuanto a la amplitud de la misma manera no
está claro debido a que en ciertos instantes el precio se elevo bastante sin embargo con las pruebas este
tiende a disminuir.
●
¿Cree que es factible que un modelo pueda capturar las dinámicas intrínsecas de la serie de tiempo
para predecir valores futuros acertadamente? ¿Por qué?
Si es factible pues los valores futuros van a tener una relación directa con eventos que caracterizan los
históricos de los datos y van a tratar de replicar su comportamiento por ello se lograrán generar
predicciones que se ajusten de una manera más precisa.
Ejercicio 1.2
●
¿Los resultados son lo suficientemente aceptables para aplicar este modelo en predicción? ¿Por
qué?
No, ya que si bien el modelo se ajusta de buena manera para los datos de entrenamiento ya que el R2 es
casi uno lo que lo hace altamente fiable, para los datos de prueba no ya que su R2 baja de 0.98 a 0.62 por
lo que sus resultados no son lo suficientemente aceptables para aplicar el modelo en la predicción; esto nos
dice que el modelo no está generalizando bien y está realizando overfitting con los datos de entrenamiento.
●
Durante el entrenamiento de la red, ¿Que realiza el dropout?
Durante el proceso de entrenamiento en cada iteración simula la eliminación de una o más neuronas
haciendo que el modelo se entrene sin la discriminante que tiene la neurona para la predicción, es decir
entrena sin el conocimiento de la neurona lo que evita el overfitting y va realizando este proceso de manera
aleatoria.
Ejercicio 1.3
¿Puede mejorar de alguna manera los resultados de este problema?
●
Test Base
Figura. 2 Prueba con configuración Base.
●
lag: 60, épocas: 12, capas: 2, neuronas: 50, dp: 0.1
Figura. 3 Prueba con configuración 1.
●
lag: 60, épocas: 15, capas: 3, neuronas: 50, dp: 0.2
Figura. 4 Prueba con configuración 2.
●
lag: 80, épocas: 20, capas: 4, neuronas: 50, dp: 0.1
Figura. 5 Prueba con configuración 3.
Por tema de recursos del ordenador utilizado para realizar las pruebas se redujeron los datos. Se hicieron
varias pruebas y en las figuras de la 2 a la 5 se muestran los resultados con más diferencias. Como
podemos observar el mejor resultado lo obtuvimos en la prueba con la configuración 1, lo destacable es
que en esta prueba se utiliza el menor número de capas con ello podemos decir que para este conjunto de
datos es más beneficioso restar complejidad al modelo además en las gráficas observamos que no se
produce underfitting ni overfitting. También podemos mencionar que el modelo está generalizando
correctamente y para afirmar esto nos apoyamos del hecho en el cual restar complejidad al modelo le
resulta más beneficioso.
Ejercicio 1.4
Utilizar ahora SVR para el mismo problema. ¿Los resultados son mejores o peores?
●
Prueba 1 - C=10, gamma=0.001, kernel=linear
Prueba 2 - C=1, gamma=10, kernel=linear
●
Prueba 3 - C=10, gamma=0.001, kernel=rbf
Prueba 4 - C=1, gamma=10, kernel=rbf
●
Prueba 5 - C=10, gamma=0.001, kernel=poly
Prueba 6 - C=1, gamma=10, kernel=poly
Los resultados en todas las pruebas arrojan predicciones del precio del gas peores que antes, en donde en
ningún caso vemos la más mínima mejoría o siquiera que se acerquen a los resultados obtenidos
anteriormente. Solamente la prueba 6 arroja resultados mínimamente buenos pero ni aún así logran llegar a
ser aceptables para elegir un modelo de SVR sobre el modelo LTSM actual, para este problema.
Ejercicio 1.5
Comparar los resultados anteriores con los resultados de un modelo persistente. Un modelo
persistente en términos de forecast es un modelo que predice el valor futuro repitiendo lo que sucede
actualmente; es decir, 𝐹(𝑥𝑡+1) = 𝑥𝑡.
●
Habiendo probado varios modelos, ¿Qué modelo le parece mejor? ¿Por qué?
Entrenamiento
Prueba
RMSE
0.23
0.12
R2
0.99
0.86
Figura. 6 Resultados modelo SVR con kernel rbf, C=50 y gamma=0.05.
En este modelo como observamos en el gráfico podríamos pensar que existe overfitting y que el modelo
está generalizando mal, sin embargo tiene buenos resultados con los datos de prueba, datos que nunca
antes ha visto entonces el modelo está generalizado bien así que concluimos que el modelo persistente se
ajusta de manera increíble a este problema por lo que es el mejor modelo a seleccionar. Con los datos de
R2 siendo tan alto y con un RMSE tan bajo no necesitamos ni mirar el gráfico para concluir que es el
mejor modelo ya que en los otros modelos ni siquiera se acerca a tener datos de R2 tan alto y cercanos a
uno y tampoco un RMSE tan cercano a 0.
Ejercicio 2
El objetivo de este ejercicio es que el estudiante utilice Deep Neural Networks, específicamente la
arquitectura LTSM para realizar forecast. Así mismo, el estudiante comenzará a analizar de forma objetiva
series de tiempo.
Ejercicio 2.1
Ejecute y analice el siguiente código
Figura. 7 Gráfica de datos de prueba y entrenamiento del dataset milk.
En base a este gráfico:
●
Como podría comparar los valores de prueba y los de entrenamiento: tendencia, amplitud, etc.
Claramente en la gráfica podemos observar un patrón que se repite a lo largo del tiempo, en la mitad del
periodo de la repetición tenemos una alza abrupta que cae rápidamente hasta el final del mismo. Conforme
las repeticiones suceden el gráfico tiende al alza es decir el precio de la leche en cada periodo sube y baja
de precio pero la caída no lo vuelve al precio inicial sino sufre esta abrupta caída pero el precio termina un
poco más alto que en el inicio del periodo.
Ejercicio 2.2
En base a los resultados de la predicción:
●
¿Los resultados son lo suficientemente aceptables para aplicar este modelo en predicción? ¿Por
qué?
No, solo observando el siguiente gráfico notamos un claro underfitting donde pareciera que el modelo
solamente genera una línea recta más no aprende bien.
Figura 8. Modelo entrenado con datos por defecto de la hoja
Por otro lado, analizando el RMSE siendo tan alto en entrenamiento y prueba sabemos que el modelo no
está bien ni genera resultados aceptables para aplicar el modelo en predicción, aparte con un R2 negativo
notamos que los resultados son sumamente inaceptables y el modelo no está aprendiendo nada
simplemente da predicciones incorrectas e inútiles.
Ejercicio 2.3
¿Puede mejorar de alguna manera los resultados de este problema?
●
Base
Figura. 9 Prueba con configuración Base.
●
lag: 60, épocas: 12, capas: 2, neuronas: 50, dp: 0.1
Figura. 10 Prueba con configuración 1.
●
lag: 80, épocas: 10, capas: 3, neuronas: 50, dp: 0.2
Figura. 11 Prueba con configuración 2.
●
lag: 60, épocas: 7, capas: 4, neuronas: 50, dp: 0.1
Figura. 12 Prueba con configuración 3.
En este problema no se pueden mejorar los resultados, es más empeoran. No existe una prueba en la
que los resultados hayan sido mejores y el principal problema que hemos identificado es la cantidad
de datos en el dataset pues debemos recordar que en los modelos de redes neuronales tienen la
desventaja de que necesitan una gran cantidad de datos de entrada para funcionar de una manera
correcta la cual es uno de sus mayores inconvenientes si no es el peor. En este caso sería aconsejable
optar por otros modelos como los de SVR.
Ejercicio 2.4
Utilizar ahora SVR para el mismo problema. ¿Los resultados son mejores o peores?
●
Prueba 1 - C=0.1, gamma=0.001, kernel=linear Prueba 2 - C=0.05, gamma=0.001, kernel=linear
●
Prueba 3 - C=50, gamma=0.05, kernel=rbf
●
Prueba 5 - C=10, gamma=0.001, kernel=poly
Prueba 4 - C=1, gamma=10, kernel=rbf
Prueba 6 - C=100, gamma=0.005, kernel=poly
Los resultados en casi todas las pruebas excepto en la prueba 4 y en la prueba 5 son mejores que los
obtenidos en la arquitectura LTSM esto puede ser debido a que para este problema se ajustan mejores los
datos para las predicciones empleando SVR a diferencia de con el dataset anterior que se ajustaba mejor
con la arquitectura LTSM. Un punto clave o importante es que en estos problemas ligeros cambios en C y
GAMMA incluso un tanto bruscos produce exactamente el mismo resultado en el modelo por lo que para
estas pruebas tuvimos que hacer cambios sumamente agresivos o no podríamos obtener diferentes
resultados en el mismo kernel para poder comparar.
Ejercicio 2.5
Comparar los resultados anteriores con los resultados de un modelo persistente. Un modelo
persistente en términos de forecast es un modelo que predice el valor futuro repitiendo lo que sucede
actualmente; es decir, 𝐹(𝑥𝑡+1) = 𝑥𝑡.
●
Habiendo probado varios modelos, ¿Qué modelo le parece mejor? ¿Por qué?
Como podemos observar en el siguiente gráfico no es la mejor opción para este problema el modelo
persistente, ya que si bien los resultados no son pesimos como en otro modelos de este análisis donde el R2
llegaba a ser negativo y en este caso solamente es bajo también tenemos resultados como en la prueba 3
del punto 2.4 donde el R2 es casi el doble que en el modelo persistente y hasta gráficamente podemos
notar que se ajusta mejor a los datos del problema por lo que con todos los modelos probados para este
problema el mejor es el SVR con kernel rbf y una buena combinación de C y gamma donde inicialmente
encontramos la más óptima C=50 y gamma=0.05.
Entrenamiento
Prueba
RMSE
48.38
48.54
R2
0.77
0.24
Figura. 13 Resultados modelo Persistance con dataset milk.
Entrenamiento
Prueba
RMSE
24.26
22.27
R2
0.89
0.82
Figura. 14 Resultados modelo SVR con kernel rbf, C=50 y gamma=0.05.
Descargar