Codebasis für "Time-Serie Generative Conversarial Networks (Timegan)" "
Autoren: Jinsung Yoon, Daniel Jarrett, Mihaela van der Schaar
Referenz: Jinsung Yoon, Daniel Jarrett, Mihaela van der Schaar, "Time-Serie Generative Contarial Networks", Neural Information Processing Systems (Neurips), 2019.
Papierlink: https://papers.nips.cc/paper/8789-time-series-generative-adverarial-networks
Kontakt: [email protected]
Dieses Verzeichnis enthält Implementierungen von Timegan Framework für synthetische Zeitreihendatenerzeugung unter Verwendung eines synthetischen Datensatzes und zwei realen Datensätze.
- Sinusdaten: synthetisch
- Stock Daten: https://finance.yahoo.com/quote/goog/history?p=goog
- Energiebedaten: http://archive.ics.uci.edu/ml/datasets/appliances+energy+Prediction
Um die Pipeline für das Training und die Bewertung in Timegan Framwork durchzuführen, führen Sie einfach Python3 -m main_timegan.py aus oder sehen Sie sich das Jupyter -Notebook -Tutorial von Timegan in tutorial_timegan.ipynb an.
Beachten Sie, dass jede Modellarchitektur als Generator- und Diskriminatormodell wie RNNs oder Transformatoren verwendet werden kann.
Code Erläuterung
(1) data_loading.py
- Verwandeln Sie RAW-Zeitreihendaten in vorverarbeitete Zeitreihendaten (Googld-Daten)
- Generieren Sie Sinusdaten
(2) Metrikverzeichnis (a) visualisierung_metrics.py
- PCA- und T-SNE-Analyse zwischen Originaldaten und synthetischen Daten (b) diskriminativ_metrics.py
- Verwenden Sie Post-hoc-RNN, um Originaldaten und synthetische Daten zu klassifizieren (c) predictive_metrics.py
- Verwenden Sie Post-hoc RNN, um ein Schritt vorauszusagen (letzte Funktion)
(3) Timegan.py
- Verwenden Sie Original-Zeitreihendaten als Schulungssatz, um Synthetic Time-Series-Daten zu generieren
(4) main_timegan.py
- Melden Sie diskriminative und prädiktive Bewertungen für die Datensatz- und T-SNE- und PCA-Analyse
(5) utils.py
- Einige Versorgungsfunktionen für Metriken und Timegan.
Befehlseingänge:
- Data_Name: Sinus, Lager oder Energie
- SEQ_LEN: Sequenzlänge
- Modul: Gru, LSTM oder LSTMLN
- Hidden_dim: versteckte Dimensionen
- num_layers: Anzahl der Schichten
- Iterationen: Anzahl der Trainings -Iterationen
- batch_size: Die Anzahl der Proben in jeder Stapel
- metric_iterations: Anzahl der Iterationen für die metrische Berechnung
Beachten Sie, dass Netzwerkparameter für verschiedene Datensätze optimiert werden sollten.
Beispielbefehl
$ 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
Ausgänge
- ori_data: Originaldaten
- generated_data: generierte synthetische Daten
- metric_results: diskriminative und prädiktive Werte
- Visualisierung: PCA- und TSNE -Analyse