Time-Shell Long-Horizon Decoder / custom_track.py

✓✓ Beats tuned baseline

Raw ⬇ ZIP
 1import numpy as np
 2
 3META = {
 4    "name": "multihorizon_sequence",
 5    "domain": "sequence",
 6    "description": "Window-to-multiple-future-values prediction for weak-memory sinusoidal dynamics."
 7}
 8
 9def get_dataset(seed, n_train=400, n_test=400):
10    rng = np.random.default_rng(int(seed))
11    total = int(n_train) + int(n_test)
12    win, horizon = 32, 16
13    t = np.arange(win + horizon, dtype=np.float32)[None, :]
14    phase = rng.uniform(-np.pi, np.pi, (total, 3)).astype(np.float32)
15    freq = np.array([0.08, 0.17, 0.31], dtype=np.float32)[None, :]
16    amp = np.array([0.9, 0.45, 0.25], dtype=np.float32)[None, :]
17    signal = np.zeros((total, win + horizon), dtype=np.float32)
18    for i in range(3):
19        signal += amp[:, i:i+1] * np.sin(freq[:, i:i+1] * t + phase[:, i:i+1])
20    signal += 0.025 * rng.normal(size=signal.shape).astype(np.float32)
21    return {"xtr": signal[:n_train, :win], "ytr": signal[:n_train, win:],
22            "xte": signal[n_train:, :win], "yte": signal[n_train:, win:],
23            "task": "regression", "metric": "mse", "out_dim": horizon}