Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Un caso de estudio
Ing. Julio César Cesano González Curso de Redes Neuronales Generativas Profundas:
jcesano@gmail.com. fundamentos y resolución de problemas.
Abstract—Este trabajo presenta un caso de aplicación de un En la sección de Ejecición del Modelo se describen las
conjunto datos reales que representan una serie temporal de características principales del modelo utilizado para la
medidas de polución tomdas de 5 sensores ubicados en la cuidad de generacion de datos sintéticos.
Madrid, España. Estos datos fueron utilizados en un modelo
TimeGan a efectos de generar nuevos datos sintéticos que En la sección de Resultados se muestra las medidas y
preserven la fidelidad y características de los datos reales. gráficas con medidas de evaluación de los datos generados
versus los datos reales.
Se logró la generación de nuevos datos sintéticos preservando en
una medida razonable la similitud de datos y características. Como Finalmente en la sección Implementación se detallan
medida de evaluación se usó principales PCA y TSNE. apreciaciones al código implementación así como la url donde
se ubica el proyecto complento y los archivos principales
Keywords— formatting; preprocess; TimeGans, PCA, TSNE, modificados en relación al código original utilizado y facilitado
Dataset, Train, Test; en el curso.
El cuadro anterior indica que hubo 24 valores de fecha-hora DATETIME: columna que contiene la fecha y hora en
que se repitieron 3 veces comprendiendo un total de 72 que se tomó la medida en formato AAAA-MM-DD
registros, 32.784 valores de fecha-hora que se repitieron 4 hh:mm:ss.
veces comprendiendo un total de 131.116 registros y Mean_S008: columna que contiene el promedio de
finalmente 48 valores de fechas-hora que se repitieron 8 veces las medidas capturadas por el sensor para la fecha
comprendiendo un total de 384 registros. indicada en la columna DATETIME en el sensor
También se detectaron fechas y horas para los que no se S008.
tiene ningún registro. Los datos están comprendidos entre el 1 Mean_S035: columna que contiene el promedio de
de enero de 2014 a las 00:00 hs y el 30 de noviembre de 2021 a las medidas capturadas por el sensor para la fecha
las 23:00 hs. Se detectaron 4 valores de fecha-hora entre los indicada en la columna DATETIME en el sensor
valores anteriormente indicados para los cuales no se tiene S035.
ningún registro.
Mean_S038: columna que contiene el promedio de
Las fechas sin medidas registradas son: 2018-03-25 las medidas capturadas por el sensor para la fecha
02:00:00, 2019-03-31 02:00:00, 2020-03-29 02:00:00 y 2021- indicada en la columna DATETIME en el sensor
03-28 02:00:00. S038.
En la siguiente sección se presentan las acciones realizadas Mean_S048: columna que contiene el promedio de
para el tratamiento de las situaciónes antes mencionadas y la las medidas capturadas por el sensor para la fecha
adaptación del conjunto de datos para poder ser utilizado en el indicada en la columna DATETIME en el sensor
modelo TimeGAN. S008.
Mean_S050: columna que contiene el promedio de
III. PROCESAMIENTO DE INFORMACIÓN las medidas capturadas por el sensor para la fecha
indicada en la columna DATETIME en el sensor
A. Tratamiento de valores negativos
S050.
Los registros con valores negativos fueron tratados como
errores de medición, por lo tanto se trataron de igual modo que Se obtuvo una serie de tiempo con un total 69.380 registros
los valores faltantes. y 5 columnas (una para cada sensor).
Se transformó cada valor negativo en un valor NaN, para E. Formato para el modelo TimeGAN
así unificar el conjunto de valores faltantes y aplicar un mismo
criterio para el tratamiento de estos casos (valores NaN). Una vez obtenida la tabla conteniendo la serie de tiempo de
medidas de polución, el paso a seguir fue utilizar un modelo
TimeGAN para la generación de datos.
B. Tratamiento de valores faltantes
Considerando que el primer registro de la tabla se Como modelo TimeGAN, se utilizó la implementación
encuentra completo y con valores correctos, se implementó un brindada en el curso de un modelo de ejemplo que utiliza un
algoritmo que sustituye cada valor NaN en cada columna con conjuto de datos de stock.
el último valor (válido) inmediato anterior de la misma Para utilizar nuestro conjunto de datos, se estudió el código
columna. de la implementación del modelo TimeGAN otorgada en el
curso para entender los detalles de implementación para el
C. Tratamiento de agujeros (gaps) preprocesamiento de los datos de entrada y se analizó también
En cuanto a las cuatro fechas para las cuales no se presentó el formato del conjunto de datos de entrada de stock.
ningún registro, se agregó un registro para cada fecha y se Luego, se implementó el preprocesamiento de los datos
completo cada valor con el valor inmediato anterior, siguiendo para dar el formato necesario para ser utilizado en el modelo
el criterio utilizado para los valores faltantes (NaN). (que se ejecuta en el main2.py). Se creó una nueva columna
con forma YYYYMMDD con nombre Idx. Dado que los datos
D. Tratamiento de registros duplicados se registran por hora, esto hace que tengan 24 registros para
Una vez obtenida una tabla con valores válidos, solo cada día. Esta columna "Idx" es utilizada por el método
restaba tomar un criterio para obtener un registro único para data_preprocess() dentro del módulo data_preprocess.py del
modelo TimeGAN. En el juego de datos de stock el campo Idx
original se formaban bloques de 7 registros. Por ello, en forma En este caso se observa que los datos no están mezclados
análoga se implementó un nuevo campo Idx = YYYYMMDD como el la imagen de PCA. Sin embargo, al lado de la cada
generando bloques de 24 registros. nube de puntos azules (datos reales) se genera una nube de
puntos naranja ubicado próximo la nube azul, que es de similar
El dataframe resultante genera un archivo CSV llamado
tamaño. Y en el caso de la nube de mayor tamaño azúl, existe
Sensors_data_formatted.csv que se carga en Main2.py y se
una nube naranja que además de tener tamaño similar, también
ejecuta todo el proceso de TimeGAN.
presenta una forma similar.
B. TSNE
A continuación se muestra el resutado de la técnica TSNE.