Skip to content

Commit ce75895

Browse files
ricardodcpereiraricardodcpereira
authored andcommitted
feat: add doppelganger docs
1 parent 809008a commit ce75895

6 files changed

Lines changed: 28 additions & 0 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ In this repository you can find the several GAN architectures that are used to c
120120

121121
### Sequential data
122122
- [TimeGAN](https://papers.nips.cc/paper/2019/file/c9efe5f26cd17ba6216bbe2a7d26d490-Paper.pdf)
123+
- [DoppelGANger](https://dl.acm.org/doi/pdf/10.1145/3419394.3423643)
123124

124125
## Contributing
125126
We are open to collaboration! If you want to start contributing you only need to:
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Synthesize time-series data
2+
3+
**Using *DoppelGANger* to generate synthetic time-series data:**
4+
5+
Although tabular data may be the most frequently discussed type of data, a great number of real-world domains — from traffic and daily trajectories to stock prices and energy consumption patterns — produce **time-series data** which introduces several aspects of complexity to synthetic data generation.
6+
7+
Time-series data is structured sequentially, with observations **ordered chronologically** based on their associated timestamps or time intervals. It explicitly incorporates the temporal aspect, allowing for the analysis of trends, seasonality, and other dependencies over time.
8+
9+
DoppelGANger is a model that uses a Generative Adversarial Network (GAN) framework to generate synthetic time series data by learning the underlying temporal dependencies and characteristics of the original data:
10+
11+
- 📑 **Paper:** [Using GANs for Sharing Networked Time Series Data: Challenges, Initial Promise, and Open Questions](https://dl.acm.org/doi/pdf/10.1145/3419394.3423643)
12+
13+
Here’s an example of how to synthetize time-series data with DoppelGANger using the [Yahoo Stock Price](https://www.kaggle.com/datasets/arashnic/time-series-forecasting-with-yahoo-stock-price) dataset:
14+
15+
16+
```python
17+
--8<-- "examples/timeseries/stock_doppelganger.py"
18+
```
19+
20+
21+

docs/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,4 @@ The following architectures are currently supported:
5656
- [CWGAN-GP](https://cameronfabbri.github.io/papers/conditionalWGAN.pdf) (Conditional Wassertein GAN with Gradient Penalty)
5757
- [CTGAN](https://arxiv.org/pdf/1907.00503.pdf) (Conditional Tabular GAN)
5858
- [TimeGAN](https://papers.nips.cc/paper/2019/file/c9efe5f26cd17ba6216bbe2a7d26d490-Paper.pdf) (specifically for *time-series* data)
59+
- [DoppelGANger](https://dl.acm.org/doi/pdf/10.1145/3419394.3423643) (specifically for *time-series* data)
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
::: ydata_synthetic.synthesizers.timeseries.doppelganger.model.DoppelGANger

examples/timeseries/stock_doppelganger.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
else:
2929
model_dop_gan = TimeSeriesSynthesizer(modelname='doppelganger', model_parameters=model_args)
3030
model_dop_gan.fit(stock_data, train_args, num_cols=["Open", "High", "Low", "Close", "Adj_Close", "Volume"])
31+
model_dop_gan.save('doppelganger_stock')
3132

3233
# Generating new synthetic samples
3334
synth_data = model_dop_gan.sample(n_samples=500)

mkdocs.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ nav:
2121
- CWGAN-GP: "examples/cwgangp_example.md"
2222
- Generate Time-Series Data:
2323
- TimeGAN: "examples/timegan_example.md"
24+
- DoppelGANger: "examples/doppelganger_example.md"
2425
- Frequently Asked Questions: "examples/faqs.md"
2526
- Integrations:
2627
- Great Expectations: "integrations/gx_integration.md"
@@ -43,6 +44,7 @@ nav:
4344
- WGAN: 'reference/api/synthesizers/regular/wgan.md'
4445
- Timeseries:
4546
- TimeGAN: 'reference/api/synthesizers/timeseries/timegan.md'
47+
- DoppelGANger: 'reference/api/synthesizers/timeseries/doppelganger.md'
4648
- Preprocessing:
4749
- BaseProcessor: 'reference/api/preprocessing/base.md'
4850
- Regular:

0 commit comments

Comments
 (0)