Codebase สำหรับ "Networks enderial Networks (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-time-series-generative-adversarial-networks
ติดต่อ: [email protected]
ไดเรกทอรีนี้มีการใช้งานของ Timegan Framework สำหรับการสร้างข้อมูลอนุกรมเวลาสังเคราะห์โดยใช้ชุดข้อมูลสังเคราะห์หนึ่งชุดและชุดข้อมูลจริงสองชุด
- ข้อมูลไซน์: สังเคราะห์
- ข้อมูลสต็อก: https://finance.yahoo.com/quote/goog/history?p=google
- ข้อมูลพลังงาน: http://archive.ics.uci.edu/ml/datasets/appliances+energy+prediction
ในการเรียกใช้ไปป์ไลน์สำหรับการฝึกอบรมและการประเมินผลเกี่ยวกับ Timegan Framwork เพียงเรียกใช้ Python3 -m main_timegan.py หรือดูการสอน Jupyter -Notebook ของ Timegan ใน Tutorial_timegan.ipynb
โปรดทราบว่าสถาปัตยกรรมโมเดลใด ๆ สามารถใช้เป็นเครื่องกำเนิดไฟฟ้าและแบบจำลอง discriminator เช่น RNNs หรือหม้อแปลง
คำอธิบายรหัส
(1) data_loading.py
- แปลงข้อมูลอนุกรมเวลาดิบเป็นข้อมูลอนุกรมเวลาที่กำหนดไว้ล่วงหน้า (ข้อมูล GOOGLD)
- สร้างข้อมูลไซน์
(2) ไดเรกทอรีตัวชี้วัด (a) การแสดงภาพ _metrics.py
- การวิเคราะห์ PCA และ T-SNE ระหว่างข้อมูลดั้งเดิมและข้อมูลสังเคราะห์ (b) discriminative_metrics.py
- ใช้ post-hoc rnn เพื่อจำแนกข้อมูลต้นฉบับและข้อมูลสังเคราะห์ (c) predictive_metrics.py
- ใช้ Post-Hoc RNN เพื่อทำนายล่วงหน้าหนึ่งขั้นตอน (คุณสมบัติสุดท้าย)
(3) timegan.py
- ใช้ข้อมูลอนุกรมเวลาดั้งเดิมเป็นชุดการฝึกอบรมเพื่อสร้างข้อมูลอนุกรมเวลาสังเคราะห์
(4) main_timegan.py
- รายงานคะแนนการเลือกปฏิบัติและการทำนายสำหรับชุดข้อมูลและการวิเคราะห์ T-SNE และ PCA
(5) utils.py
- ฟังก์ชั่นยูทิลิตี้บางอย่างสำหรับตัวชี้วัดและ Timegan
คำสั่งอินพุต:
- data_name: ไซน์สต็อกหรือพลังงาน
- 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: ข้อมูลต้นฉบับ
- สร้าง _data: ข้อมูลสังเคราะห์ที่สร้างขึ้น
- Metric_Results: คะแนนการเลือกปฏิบัติและการทำนาย
- การสร้างภาพ: การวิเคราะห์ PCA และ TSNE