Кодовая база для «Генеративные состязательные сети во времени» (Timegan) »
Авторы: Jinsung Yoon, Daniel Jarrett, Mihaela van der Schaar
Ссылка: Jinsung Yoon, Daniel Jarrett, Mihaela van der Schaar, «Генеративные состязательные сети временных рядов», системы обработки нейронной информации (Neurips), 2019.
Бумажная ссылка: https://papers.nips.cc/paper/8789-series-generative-adverarial-networks
Контакт: [email protected]
Этот каталог содержит реализации структуры Timegan для синтетического генерации данных временных рядов, используя один синтетический набор данных и два набора данных реального мира.
- Синусоидальные данные: синтетический
- Данные запаса: https://finance.yahoo.com/quote/goog/history?p=goog
- Данные энергетики: http://archive.ics.uci.edu/ml/datasets/appliances+Energy+prediction
Чтобы запустить трубопровод для обучения и оценки по временной багажнике, просто запустите Python3 -m main_timegan.py или см.
Обратите внимание, что любая модель архитектура может использоваться в качестве генератора и модели дискриминатора, такой как RNNS или трансформаторы.
Код объяснение
(1) DATA_LOADING.PY
- Преобразовать необработанные данные временных рядов в предварительные данные временных рядов (данные GOOGLD)
- Генерировать синусные данные
(2) Каталог метрик (а) Визуализация_metrics.py
- Анализ PCA и T-SNE между исходными данными и синтетическими данными (B) disciminative_metrics.py
- Используйте Post-Hoc RNN для классификации исходных данных и синтетических данных (c) Predictive_metrics.py
- Используйте после HOC RNN, чтобы предсказать один шаг вперед (последняя функция)
(3) Timegan.py
- Используйте оригинальные данные временных рядов в качестве обучающего набора для создания синтетических данных временных рядов
(4) main_timegan.py
- Сообщайте дискриминационные и прогнозирующие оценки для анализа набора данных и T-SNE и PCA
(5) utils.py
- Некоторые функции утилиты для метрик и Timegan.
Входные данные команды:
- DATA_NAME: SINE, Stock или Energy
- seq_len: длина последовательности
- Модуль: GRU, LSTM или LSTMLN
- hidden_dim: скрытые измерения
- num_layers: количество слоев
- Итерации: количество итераций обучения
- batch_size: количество образцов в каждой партии
- Metric_iterations: количество итераций для метрического вычисления
Обратите внимание, что сетевые параметры должны быть оптимизированы для различных наборов данных.
Пример команды
$ python3 main_timegan.py --data_name stock --seq_len 24 --module gru
--hidden_dim 24 --num_layer 3 --iteration 50000 --batch_size 128
--metric_iteration 10
Выходы
- ori_data: исходные данные
- Сгенерировано_дата: сгенерированные синтетические данные
- metric_results: дискриминационные и прогнозирующие оценки
- Визуализация: анализ PCA и TSNE