felixdivo commited on
Commit
fb5feeb
·
verified ·
1 Parent(s): ee6a9ec

Add a proper README

Browse files
Files changed (1) hide show
  1. README.md +61 -0
README.md CHANGED
@@ -1,4 +1,15 @@
1
  ---
 
 
 
 
 
 
 
 
 
 
 
2
  dataset_info:
3
  features:
4
  - name: start
@@ -21,3 +32,53 @@ configs:
21
  - split: train
22
  path: data/train-*
23
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ license: cc-by-4.0
3
+ pretty_name: KernelSynth (annotated)
4
+ task_categories:
5
+ - time-series-forecasting
6
+ size_categories:
7
+ - 1M<n<10M
8
+ tags:
9
+ - synthetic
10
+ - gaussian-process
11
+ - kernel-synth
12
+ - interpretability
13
  dataset_info:
14
  features:
15
  - name: start
 
32
  - split: train
33
  path: data/train-*
34
  ---
35
+
36
+ # KernelSynth (annotated)
37
+
38
+ One million synthetic univariate time series, each 1024 points long, drawn from a Gaussian
39
+ process prior whose kernel is a random composition of up to five base kernels. This is the
40
+ KernelSynth procedure from [Chronos](https://arxiv.org/abs/2403.07815) with one addition:
41
+ **the generating kernel is kept alongside each series**. The ground-truth structure behind
42
+ every series is therefore known, which makes the corpus usable for interpretability work
43
+ rather than only for pretraining.
44
+
45
+ ## Fields
46
+
47
+ - `start` — constant `2000-01-01T00:00:00`. The time index is arbitrary and carries no meaning.
48
+ - `target` — the series itself: 1024 `float64` values sampled from the GP prior.
49
+ - `selected_kernel_reprs` — the base kernels drawn from the kernel bank, as scikit-learn reprs.
50
+ - `kernel_formula` — the composed kernel with explicit precedence, e.g.
51
+ `RBF(length_scale=1) * (DotProduct(sigma_0=1) + WhiteKernel(noise_level=1))`.
52
+ scikit-learn's own repr omits parentheses, so `(a + b) * c` and `a + b * c` are
53
+ indistinguishable there; this field disambiguates them.
54
+
55
+ ## Generation
56
+
57
+ Produced by a script adapted from Chronos'
58
+ [`kernel-synth.py`](https://github.com/amazon-science/chronos-forecasting/blob/main/scripts/kernel-synth.py),
59
+ with these settings: 1,000,000 series, length 1024, at most 5 base kernels each, seed 1.
60
+ Kernels are drawn with replacement from the 33-entry Chronos kernel bank and combined
61
+ pairwise with random `+` / `*` operators. Each series draws from its own independent random
62
+ stream derived from the seed, so the corpus is reproducible and independent of worker count.
63
+
64
+ One deviation from upstream: a jitter of `1e-8 * mean(diag(cov))` is added to the covariance
65
+ diagonal to keep it numerically positive semi-definite, since composed kernels are often
66
+ ill-conditioned.
67
+
68
+ ## License and attribution
69
+
70
+ The data is released under [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/).
71
+
72
+ It was produced by a script adapted from Chronos' `kernel-synth.py` (Copyright Amazon.com,
73
+ Inc., Apache-2.0). That license covers the generator code, not the series it emits, and no
74
+ Chronos data is contained here — every series is sampled fresh from a GP prior. The method,
75
+ however, is theirs; please cite the Chronos paper:
76
+
77
+ ```bibtex
78
+ @article{ansari2024chronos,
79
+ author = {Ansari, Abdul Fatir and Stella, Lorenzo and Turkmen, Caner and Zhang, Xiyuan and Mercado, Pedro and Shen, Huibin and Shchur, Oleksandr and Rangapuram, Syama Syndar and Pineda Arango, Sebastian and Kapoor, Shubham and Zschiegner, Jasper and Maddix, Danielle C. and Wang, Hao and Mahoney, Michael W. and Torkkola, Kari and Gordon Wilson, Andrew and Bohlke-Schneider, Michael and Wang, Yuyang},
80
+ title = {Chronos: Learning the Language of Time Series},
81
+ journal = {arXiv preprint arXiv:2403.07815},
82
+ year = {2024}
83
+ }
84
+ ```