Conceptio › Archive › arXiv CS
arXiv CS open access

Dual-Context Analog Retrieval for Time Series Forecasting

Jung Min Choi et al. · arxiv_cs
arXiv CS · Papers
Open Source ↗Direct PDF ↓
deep-learningmachine-learningneural-networks
Most long-term time-series forecasting models map the look-back window directly to the full horizon in a single pass. While efficient, this design does not explicitly identify which historical states are most relevant to different future segments or exploit what followed those states. Analog forecas
Conceptio Open Archive

Analyze & explore related research in Conceptio

Connect this record directly into your research workflow or AI agent. Explore citations across open repositories, query full text, and export structured proof bundles.

Preprint

D UAL -C ONTEXT A NALOG R ETRIEVAL FOR T IME -S ERIES F ORECASTING

arXiv:2610.03491v1 [cs.LG] 2 Oct 2026

Jung Min Choi, Ngoc Son Le, Ibram Abdelmalak, Vijaya Krishna Yalavarthi & Lars Schmidt-Thieme ISMLL, University of Hildesheim VWFS Data Analytics Research Center (VWFS-DARC), Hildesheim, Germany choi@ismll.de, sle@ismll.de, abdelmalak@ismll.de, yalavarthi@ismll.de, schmidt-thieme@ismll.de

A BSTRACT Most long-term time-series forecasting models map the look-back window directly to the full horizon in a single pass. While efficient, this design does not explicitly determine which historical state is most relevant to each future segment or consider what followed that state. Analog forecasting can provide such evidence by retrieving a past state similar to the present and examining its observed continuation. However, relying on a single nearest match can be unreliable, and overlapping patches may yield highly similar or near-duplicate candidates. To address these limitations, we propose DuoTS, a Dual-Context Time Series forecasting model, which leverages retrieved evidence without depending on it exclusively. DuoTS first generates a base forecast using a fully parallel patch encoder and a linear prediction head, and then progressively refines this forecast one future patch at a time. Each refinement considers two complementary views. The first view, the current context, attends to recent tokens and captures the latest dynamics of the series. The second view, the detail context, provides distinct retrieved analogs together with the trajectories that followed them. Since the refinement is performed separately for each future patch, the model weighs the two views differently across the forecast horizon and associates each segment of the prediction with the evidence most appropriate to its temporal distance from the present. Extensive experiments on multiple real-world time-series datasets show that DuoTS achieves state-of-the-art performance, while component-wise ablation studies verify the contribution of each context. Moreover, the refinement mechanism is independent of the remaining DuoTS architecture. It requires only the encoded look-back window and the position of the future patch, allowing it to be applied as a model-agnostic module to improve existing forecasting models.

1

I NTRODUCTION

Forecasting models predict the future from the (a) One-shot forecast predicted forecast past, and much of what they exploit is recurring structure: trends that persist and cycles that repeat. Models differ in how they use this structure. One observed history future (b) DuoTS: current + detail view revision class learns it implicitly. PatchTST, iTransformer, revised and TSMixer map the look-back window directly to the horizon and achieve strong accuracy without an explicit notion of trend or cycle (Nie et al., Current view + Detail view 2023; Liu et al., 2024b; Chen et al., 2023). A second class separates recurring structure explicitly. view weights per patch Decomposition models such as Autoformer, DLinear, and TimeMixer split or mix trend and seasonal components (Wu et al., 2021; Zeng et al., 2023; Figure 1: Forecast, retrieve, revise. (a) One-shot Wang et al., 2024), while CycleNet learns a recur- forecasting predicts the full horizon directly. (b) DuoTS revises each future patch using current and retrieved-detail evidence with learned view weights.

1

Preprint

rent cycle for each channel and adds it back to the prediction (Lin et al., 2024). Both classes rely on structure learned across the training set. An implicit model must discover for itself which past states matter for a given window, whereas an explicit cycle describes a typical period and stays fixed after training. Neither is designed to use what the current window itself reveals. Consider electricity demand during a heat wave. A learned daily cycle describes a typical day, but a heat-wave day is not typical. The most relevant evidence is the earlier days of the same heat wave and how demand evolved after them, and the window already holds it. This is the principle of analog forecasting: find a past state resembling the present and use what followed it (Lorenz, 1969; van den Dool, 1994). We propose DuoTS, which consists of a base forecaster and a corrector. The base forecaster is a fully patch-based model that mixes information sparsely across channels and across time through local dynamics. The corrector makes window-specific evidence explicit and uses it to refine each future patch of the base prediction. It looks at the past through two views: the current context, which attends to recent tokens and captures what the series has just been doing, and the detail context, which retrieves earlier states resembling the present together with what followed them. Retrieved analogs can nevertheless be misleading: the nearest match is not always the most predictive, overlapping patches yield near-duplicates, and sometimes no good analog exists. The corrector therefore refines the base prediction rather than overriding it, adjusting it only as far as the retrieved evidence warrants. Figure 1 contrasts this forecast–retrieve–revise process with one-shot forecasting. The corrector reads only patch embeddings, so it can be attached to other patch-based forecasters without changing its design. Attached to SRSNet, TimeKAN, and PatchTST, it improves 15 of 24 tested settings under joint training. The full DuoTS model achieves the lowest MSE in 22 and the lowest MAE in 23 of 32 dataset–horizon settings across eight benchmarks. Our contributions are as follows. • We propose DuoTS, which pairs a base forecaster with a corrector that makes windowspecific evidence explicit through two views of the past: recent dynamics and retrieved analogs. • DuoTS achieves state-of-the-art results on eight long-term forecasting benchmarks, obtaining the lowest MSE in 22 and the lowest MAE in 23 of 32 dataset–horizon settings. • The corrector is model-agnostic: it requires only patch embeddings and transfers across backbones. Attached to SRSNet, TimeKAN, and PatchTST, it improves accuracy in 15 of 24 tested settings. Code is available at https://anonymous.4open.science/r/ DuoTS-244D.

2

R ELATED W ORK

Time-series forecasting. Modern forecasting models use several architectural families. DLinear maps decomposed signal components through linear layers (Zeng et al., 2023). TSMixer and TimeMixer use MLP mixing over temporal features or temporal scales (Chen et al., 2023; Wang et al., 2024). PatchTST represents temporal segments as tokens while iTransformer instead represents variables as tokens (Nie et al., 2023; Liu et al., 2024b). Recent models further explore wavelet features in SimpleTM (Chen et al., 2025) and frequency decomposition in TimeKAN (Huang et al., 2025). SRSNet learns which patch representations to retain (Wu et al., 2025). The lightweight TSMixer of Ekambaram et al. (2023) is the closest backbone-level precedent to DuoTS: it applies MLP mixing to patched multivariate series and explicitly models channel interactions with gated components. DuoTS instead combines a direct patch path with a structured path containing sparse cross-channel mixing and explicit first- and second-order patch dynamics, then adds a separate evidence query and dual-context correction for each future patch. Retrieval-augmented forecasting. Classical analog forecasting uses the continuation of a similar past state (Lorenz, 1969; van den Dool, 1994). Context Parroting demonstrates that related copying strategies remain competitive for scientific time series (Zhang & Gilpin, 2026). Recent methods retrieve evidence from training data or a global memory. RATD guides a diffusion model with 2

Preprint

retrieved references (Liu et al., 2024a). RAFT supplies matched historical futures (Han et al., 2025). TS-RAG augments a pretrained foundation model with retrieved patterns (Ning et al., 2025). Other methods use a cached nearest-neighbor store (Zhang et al., 2025) or retrieve aligned global segments (Cao et al., 2026). PFRP combines global retrieval with a local model (Du et al., 2026). SARAF promotes both relevance and diversity under nonstationarity (Zhou et al., 2026). DuoTS instead retrieves from the current look-back window for every future patch. Each retrieved analog is paired with its successors. These successors are the trajectories observed immediately after the matched historical patch. The model places this evidence beside the current context and uses it to refine a direct forecast. Multi-resolution history modeling. TimeMixer represents a series at several sampling scales (Wang et al., 2024). Pathformer learns pathways across multiple patch sizes (Chen et al., 2024). HDMixer captures dependencies within patches as well as dependencies across patches and variables (Huang et al., 2024). GRACE groups a long user history into journeys and reads several scopes of that history (Ma et al., 2025). DuoTS borrows only the idea of grouping a long sequence into ordered blocks. Those blocks serve as a coarse search index rather than an additional context branch. The search first selects promising blocks and then retrieves individual patches inside them. This design reduces the search space while preserving detailed analog continuations for the final refinement.

3

M ETHOD

For one sample, let X ∈ RC×L be a look-back window of L observations from each of C channels, and let Y ∈ RC×H contain the next H target values. We omit the batch dimension throughout. Reversible instance normalization (RevIN; Kim et al., 2022) normalizes each input channel, and RevIN−1 maps a normalized forecast back to its original scale. DuoTS produces a normalized base b base ∈ RC×H and refines it using the dual-context correction E b ∈ RC×H . Let P be the forecast Y patch length and F = ⌈H/P ⌉ the number of future patches. Each future patch f has a learned gate ζf = tanh(θf ), repeated over its P output positions to form ζ ∈ RH . The final forecast is   b base + ζ ⊙ E b = RevIN−1 Y b , Y (1) where the gate vector is broadcast across channels. The gates share a small initialization but are learned independently; setting them to zero recovers the base forecast. Figure 2 summarizes the complete forecast–retrieve–revise pipeline. The normalized window is divided into N overlapping patches of length P and stride S < P , where N = ⌈max(0, L − P )/S⌉ + 1. We write pc,n ∈ RP for patch n of channel c, ordered from oldest to newest. Left padding, used only when needed, ensures that the final patch ends at the forecast boundary. Residual branch weights are initialized at or near zero; λ denotes a tanh-transformed learned scalar, and distinct MLP subscripts denote separate parameters unless stated otherwise. 3.1

T WO -V IEW C ORRECTION OF THE E NCODED H ISTORY

For each future patch, DuoTS contrasts two views of the encoded history. The current view summarizes the tokens nearest the forecast boundary; the detail view retrieves earlier analogs and the trajectories observed after them. Let Uc,1:N ∈ RN ×d denote the patch embeddings supplied by the backbone described in Section 3.2. Horizon queries and journey blocks. For f = 1, . . . , F , future patch f issues a query anchored at the newest token and offset by a learned horizon embedding ehor ∈ Rd : f ξc,f = Uc,N + ehor ∈ Rd . f

(2)

For readability, the equations below suppress c; all operations are applied separately to every channel with shared parameters. Let Bblk be the journey-block width. The token sequence is zero-padded only on the left to a multiple of Bblk and divided into M = ⌈N/Bblk ⌉ ordered blocks Gm ∈ 3

Preprint

INPUT

STAGE 1 · PATCH BACKBONE Residual path

RevIN norm.

Overlapping patching Intra-patch MLP

Base forecast

Sparse channel mixing

Patch-axis MLP

STAGE 2 · REFINEMENT

FORECAST

Base forecast path +

RevIN denorm.

Dual-view correction

Figure 2: Overview of the DuoTS architecture.

Current Context

Base forecast

Decoding

Horizon query

+

Refined forecast

Detail Context

Figure 3: Overview of the dual-context correction. Each future-patch query combines recent tokens with retrieved analogs and their observed successors to produce an additive correction. RBblk ×d , m = 1, . . . , M . The compressor and block-axis mixer produce d b0m = MLPblk (vec(Gm )) + eblk m ∈R ,

b1:M = b01:M + λblk MLPbaxis (b01:M ) ∈ RM ×d ,

(3)

d where eblk m ∈ R is a learned block-position embedding. The block-axis MLP mixes the M block positions independently for each feature coordinate. The final tokens bm form a coarse index for detail retrieval; they are not a third correction view.

Cosine attention. We write CosSim(x, y) for the cosine similarity between x and y. DuoTS uses A-head cosine cross-attention, with head width da = d/A. For a query x ∈ Rd and memory (a) (a) (a) Z1:K = (z1 , . . . , zK ), head a = 1, . . . , A has learned projections WQ , WK , WV ∈ Rda ×d att and positive logit scale τa , obtained by exponentiating a learned log-scale and clamping the result (a) above at 100. Its attention weights and the complete operator are defined as follows. Let αj denote the softmax-normalized weight that head a assigns to memory token j, computed over all (a) (a) K memory tokens from the temperature-scaled cosine similarities τaatt CosSim(WQ x, WK zj ). Then   K K X X (1) (1) (A) (A) CosineAttention(x, Z1:K ) = WO  αj WV zj · · · αj WV zj  ∈ Rd , (4) j=1

j=1

4

Preprint

where WO ∈ Rd×d is learned. Attention and output dropout used during training are omitted from equation 4 for readability. View 1: current context. The state at the forecast boundary is read by multi-head cosine attention from the query to the Kcur newest tokens, where Kcur is the current-context window size: d hcur f = CosineAttention(ξf , UN −Kcur +1:N ) ∈ R .

(5)

This context directly summarizes the dynamics closest to the forecast origin. View 2: detail context. The detail view retrieves past states that resemble ξf and reads what followed them. Separate learned query and key projections score journey blocks and eligible historical patches. With Wqx , Wkx ∈ Rd×d and positive logit scales τx for x ∈ {blk, det}, the scores are blk blk sblk f,m = τblk CosSim(Wq ξf , Wk bm ),

det det sdet f,n = τdet CosSim(Wq ξf , Wk Un ).

(6)

Each τx is obtained by exponentiating a learned log-scale and clamping the result above at 100. The block retrieval budget Kblk specifies how many highest-scoring valid blocks are retained, and patches are ranked only inside those blocks. A patch is eligible only if all Ksuc requested successor patches, spaced by ν = ⌈P/S⌉ patch positions, are observed. Within the retained blocks, the model greedily selects Kdet high-scoring patches, where Kdet is the patch retrieval budget. The exclusion radius ρ is measured in patch positions: the selector prefers a new index more than ρ positions from those already selected. If that preference would leave too few candidates, it falls back to the next highest-scoring valid patch. This avoids filling the evidence set with near-duplicates created by overlapping patches while keeping the requested number of matches whenever possible. (k)

Let nf be the k-th selected historical index, k = 1, . . . , Kdet . The retrieved value combines that state, its ordered successor changes, and the future-patch query: h (k) vf = MLPtrans Un(k) ∥ (Un(k) +ν − Un(k) ) ∥ · · · f f f i (7) ∥ (Un(k) +Ksuc ν − Un(k) ) ∥ ξf ∈ Rd . f

f

Successor changes transfer what happened after the match rather than the absolute level at which the (k) successor ended. Let Vf contain the valid selected slots, and let πf be the softmax of their retrieval scores after invalid slots are masked. The detail context is X (k) (k) blk det hdet πf vf ∈ Rd . (8) f = χf χf k∈Vf

det The factors χblk f and χf are learned sigmoid calibrations of the gap between the best and second-

best block and patch scores, respectively. Detail confidence is used only when a single patch is retrieved; otherwise χdet f = 1. If no runner-up exists, a large positive margin gives confidence close to one. Two-view fusion and correction. A sample- and horizon-conditioned two-way softmax blends the current and detail contexts, after which an MLP decodes one correction patch:  2 ωf = softmax MLPview ([ξf ∥ehor f ]) ∈ R , det d hf = ωf,1 hcur f + ωf,2 hf ∈ R ,

(9)

rf = MLPdec (hf ) ∈ RP .

Because ξf depends on the input and both terms depend on f , the view weights can change across samples and forecast locations. Reintroducing the channel index, the normalized correction is the first H components of the concatenated correction patches:   b c,: = rc,1 ∥ · · · ∥rc,F E ∈ RH . (10) 1:H

There is no additional projection after concatenation. Equation 1 then applies the learned futurepatch gates and inverse RevIN. Algorithm 1 gives the complete correction procedure. 5

Preprint

3.2

BASE F ORECAST: D UAL -PATH BACKBONE

The backbone provides both the base forecast and the patch embeddings used by the correction module above. Each patch follows a structured path and a direct path. The structured path mixes information within each patch, across related channels, and across historical patch positions; the direct path preserves a short linear route from the raw patch to the forecast head. Sparse cross-channel mixing. Each patch first passes through a residual intra-patch MLP. Learned channel embeddings then select the κch most related channels and use softmax attention to form their neighborhood consensus. DuoTS passes only the difference between this consensus and the current channel through a shared MLP and adds the result residually with a learned coefficient γch , producing qc,n . The graph is shared across samples and patch positions; setting κch = 0 bypasses the update. Appendix B gives the complete construction. Local and full-window patch dynamics. Let d be the shared token width and Λ the number of structured-path layers. After linearly projecting qc,n to width d and adding a learned patch-position (0)

embedding, let Vc,n ∈ Rd denote the structured token. At each layer ℓ = 1, . . . , Λ, DuoTS makes first- and second-order changes explicit: (ℓ−1)

(ℓ−1) ∆1,(ℓ) − Vc,n−1 , c,n = Vc,n

(ℓ−1)

(ℓ−1)

(ℓ−1) ∆2,(ℓ) − 2Vc,n−1 + Vc,n−2 . c,n = Vc,n

(11)

Unavailable differences at the first or second patch are set to zero. Learned scalars admit the local trend and curvature signals, e (ℓ) = V(ℓ−1) + λ1 ∆1,(ℓ) + λ2 ∆2,(ℓ) , V c,n c,n ℓ c,n ℓ c,n

(12)

after which a residual MLP mixes all N patch positions: e (ℓ) + λaxis MLPaxis,ℓ (V e (ℓ) ). V(ℓ) = V ℓ

(13)

e (ℓ) ∈ RC×N ×d stack the tokens for one sample, and dff is the hidden width of the axis Here V(ℓ) , V mixer. The mixer applies a shared N → dff → N MLP independently to every channel and feature coordinate. Thus the differences supply immediate-neighbor dynamics while the axis MLP allows any historical patch to influence any other. ∈ Rd , where Path fusion and base forecast. The direct token is Dc,n = Wdir pc,n + epos n ∈ Rd . The same position embedding was already added to the structured Wdir ∈ Rd×P and epos n token. The effective scalar λfuse merges the final structured token with the direct route:   (Λ) Uc,n = Dc,n + λfuse MLPfuse ([Vc,n ∥Dc,n ]) − Dc,n ∈ Rd , (14) b base = Whead vec(Uc,1:N ) + bhead . Y c,: Here [·∥·] denotes feature concatenation, vec flattens the N tokens in chronological order, Whead ∈ RH×N d , and bhead ∈ RH . The learned fusion weight λfuse is initialized at zero, so the backbone initially follows the direct linear patch route. The shared flattening head maps the fused tokens to all H forecast steps in normalized coordinates. The same tokens are also read by the correction module above.

4

E XPERIMENTS

Evaluation setup and protocol. We evaluate DuoTS on eight standard multivariate benchmarks: ETTh1, ETTh2, ETTm1, and ETTm2 (Zhou et al., 2021), Weather (Max Planck Institute for Biogeochemistry, 2024), Electricity (Trindade, 2015), Traffic (California Department of Transportation (Caltrans), 2024), and Solar (National Renewable Energy Laboratory, 2024). Forecast horizons are H ∈ {96, 192, 336, 720}. The look-back length for each setting is selected from {96, 336, 512} following Wu et al. (2025). Using one window length for all settings would not be neutral because it affects the cross-channel structure available to a forecasting model (Abdelmalak et al., 2026). Training minimizes mean squared error, and we report MSE and MAE on standardized values. Results are reported as the mean and sample standard deviation over three runs. We compare against 6

Preprint

six published long-term forecasting baselines: SRSNet (Wu et al., 2025), TimeKAN (Huang et al., 2025), Amplifier (Fei et al., 2025), iTransformer (Liu et al., 2024b), TimeMixer (Wang et al., 2024), and PatchTST (Nie et al., 2023). Appendices C and D provide the benchmark statistics, metric definitions, and search space. 4.1

M AIN R ESULTS

Table 1 reports the full comparison. DuoTS obtains the lowest MAE in 23 of the 32 dataset–horizon settings and the lowest MSE in 22, compared with 9 and 9 for SRSNet, the strongest baseline. Based on the horizon averages, DuoTS leads both metrics on ETTh1, ETTh2, Weather, Traffic, and Solar. It ties SRSNet on Electricity, achieves the best MAE on ETTm1, and trails on ETTm2. ETTh2 shows the clearest improvement. DuoTS reduces the horizon-average MSE by 4.5% and the MAE by 2.3% relative to SRSNet and leads at all four horizons. Traffic also provides a large and diverse retrieval pool through its 862 sensors, and DuoTS leads at every horizon on both metrics. The correction is more challenging on the two quarter-hourly ETT subsets. At a 15-minute sampling interval the look-back window spans only a day or two, and adjacent patches often provide similar candidates. DuoTS still matches the best MAE on ETTm1 but gives up 1.7% MSE to TimeKAN. On ETTm2 it trails SRSNet by 2.0% in horizon-average MSE. 4.2

A BLATION S TUDY

Table 2 compares DuoTS with four training-time variants over ETTh2, ETTm2, Weather, and Electricity. The variants remove the second-order patch dynamics, sparse cross-channel mixing, or the intra-patch mixer, or disable the patch-axis MLP, respectively. Each dataset column averages the four forecasting horizons. Table 2: Component ablation results averaged over the four forecasting horizons for each dataset. Each variant was tuned separately for this ablation study. The best MSE and MAE in each column are in bold and the second best are underlined. The DuoTS row exactly reproduces the corresponding Avg rows of Table 1. ETTh2

Case

ETTm2

Weather

Electricity

MSE

MAE

MSE

MAE

MSE

MAE

MSE

MAE

DuoTS

0.318

0.375

0.257

0.316

0.219

0.259

0.160

0.254

w/o second-order dynamics w/o channel mixing w/o intra-patch mixer w/o patch-axis MLP

0.319 0.319 0.322 0.330

0.374 0.375 0.376 0.383

0.259 0.256 0.263 0.263

0.318 0.314 0.319 0.318

0.227 0.227 0.224 0.224

0.265 0.265 0.262 0.263

0.160 0.166 0.164 0.158

0.253 0.260 0.258 0.252

The full configuration is best on both metrics for Weather and has the lowest MSE on ETTh2. Channel mixing is most useful on Electricity, while removing it gives a small improvement on ETTm2. Second-order dynamics are beneficial in Weather and ETTm2. Removing them improves MAE by 0.001 on ETTh2 and Electricity and ties the full model in Electricity MSE. The intra-patch mixer helps on every reported dataset. Disabling the patch-axis MLP degrades ETTh2, ETTm2, and Weather, but improves Electricity by 0.002 in both MSE and MAE. Thus each component contributes overall, although none yields a uniform gain on every metric and dataset.

7

Preprint

Table 1: Long-term forecasting results for DuoTS at the horizons H ∈ {96, 192, 336, 720} with the horizon average of each dataset in the rows marked Avg. The best MSE and MAE per row are in bold and the second best are underlined. DuoTS (Ours) Dataset

Horizon

ETTh1

SRSNet

TimeKAN

Amplifier

iTransformer

TimeMixer

PatchTST

MSE

MAE

MSE

MAE

MSE

MAE

MSE

MAE

MSE

MAE

MSE

MAE

MSE

MAE

96 192 336 720

0.363 ±0.0008 0.400 ±0.0050 0.401 ±0.0002 0.441 ±0.0023

0.388 ±0.0003 0.413 ±0.0033 0.430 ±0.0004 0.457 ±0.0016

0.366 0.400 0.424 0.426

0.394 0.415 0.430 0.455

0.370 0.403 0.420 0.442

0.396 0.417 0.432 0.465

0.373 0.414 0.442 0.455

0.399 0.420 0.446 0.467

0.386 0.430 0.450 0.495

0.405 0.435 0.452 0.487

0.372 0.413 0.438 0.483

0.401 0.430 0.450 0.483

0.377 0.409 0.431 0.457

0.397 0.425 0.444 0.477

0.401

0.422

0.404

0.423

0.408

0.427

0.421

0.433

0.440

0.444

0.426

0.441

0.418

0.435

96 192 336 720

0.263 ±0.0006 0.312 ±0.0001 0.314 ±0.0018 0.383 ±0.0027

0.332 ±0.0011 0.367 ±0.0002 0.377 ±0.0012 0.424 ±0.0023

0.271 0.324 0.349 0.391

0.338 0.372 0.394 0.434

0.280 0.329 0.370 0.420

0.343 0.382 0.412 0.450

0.287 0.348 0.383 0.407

0.349 0.393 0.423 0.444

0.292 0.348 0.372 0.424

0.347 0.384 0.407 0.444

0.270 0.349 0.367 0.401

0.342 0.387 0.410 0.436

0.274 0.348 0.377 0.406

0.337 0.384 0.416 0.441

0.318

0.375

0.333

0.384

0.349

0.396

0.356

0.402

0.359

0.395

0.346

0.393

0.351

0.394

96 192 336 720

0.284 ±0.0019 0.334 ±0.0005 0.364 ±0.0002 0.419 ±0.0020

0.342 ±0.0010 0.366 ±0.0009 0.383 ±0.0005 0.419 ±0.0013

0.288 0.326 0.365 0.426

0.341 0.364 0.386 0.420

0.290 0.332 0.354 0.401

0.348 0.368 0.386 0.417

0.292 0.327 0.365 0.427

0.346 0.365 0.386 0.419

0.287 0.331 0.358 0.412

0.342 0.371 0.384 0.416

0.293 0.335 0.368 0.426

0.345 0.372 0.386 0.417

0.289 0.329 0.362 0.416

0.343 0.368 0.390 0.423

0.350

0.377

0.351

0.377

0.344

0.379

0.352

0.379

0.347

0.378

0.355

0.380

0.349

0.381

96 192 336 720

0.166 ±0.0003 0.220 ±0.0011 0.278 ±0.0034 0.364 ±0.0015

0.255 ±0.0004 0.293 ±0.0008 0.330 ±0.0014 0.385 ±0.0009

0.164 0.220 0.271 0.353

0.254 0.296 0.327 0.380

0.164 0.238 0.278 0.359

0.254 0.300 0.331 0.387

0.164 0.226 0.276 0.358

0.254 0.300 0.331 0.388

0.168 0.224 0.274 0.367

0.262 0.295 0.330 0.385

0.165 0.225 0.277 0.360

0.256 0.298 0.332 0.387

0.165 0.221 0.276 0.362

0.255 0.293 0.327 0.381

0.257

0.316

0.252

0.314

0.259

0.318

0.256

0.318

0.258

0.318

0.256

0.318

0.256

0.314

96 192 336 720

0.142 ±0.0017 0.188 ±0.0019 0.237 ±0.0038 0.312 ±0.0022

0.193 ±0.0015 0.238 ±0.0019 0.276 ±0.0031 0.330 ±0.0015

0.147 0.190 0.241 0.325

0.198 0.242 0.282 0.340

0.151 0.195 0.242 0.317

0.205 0.244 0.287 0.340

0.147 0.194 0.243 0.310

0.199 0.245 0.282 0.329

0.150 0.200 0.252 0.320

0.207 0.248 0.287 0.336

0.151 0.191 0.244 0.316

0.198 0.242 0.280 0.331

0.150 0.191 0.242 0.312

0.200 0.239 0.279 0.330

0.219

0.259

0.225

0.265

0.226

0.269

0.223

0.263

0.230

0.269

0.225

0.262

0.223

0.262

96 192 336 720

0.127 ±0.0003 0.146 ±0.0007 0.162 ±0.0006 0.206 ±0.0044

0.222 ±0.0004 0.241 ±0.0007 0.258 ±0.0007 0.296 ±0.0032

0.131 0.147 0.163 0.201

0.226 0.241 0.258 0.291

0.135 0.149 0.165 0.206

0.231 0.243 0.260 0.297

0.132 0.149 0.167 0.203

0.227 0.243 0.261 0.292

0.134 0.154 0.169 0.194

0.230 0.250 0.265 0.288

0.153 0.168 0.189 0.228

0.256 0.269 0.281 0.320

0.143 0.158 0.168 0.214

0.247 0.260 0.267 0.307

0.160

0.254

0.160

0.254

0.163

0.257

0.162

0.255

0.162

0.258

0.184

0.281

0.170

0.270

96 192 336 720

0.355 ±0.0007 0.380 ±0.0006 0.386 ±0.0016 0.424 ±0.0032

0.252 ±0.0008 0.259 ±0.0004 0.262 ±0.0002 0.284 ±0.0021

0.361 0.380 0.392 0.434

0.254 0.263 0.270 0.293

0.388 0.411 0.425 0.455

0.269 0.286 0.284 0.302

0.391 0.405 0.416 0.436

0.277 0.283 0.290 0.312

0.363 0.384 0.396 0.445

0.265 0.273 0.277 0.308

0.369 0.400 0.407 0.462

0.256 0.271 0.272 0.316

0.370 0.386 0.396 0.435

0.262 0.269 0.275 0.295

0.387

0.264

0.391

0.270

0.419

0.285

0.412

0.290

0.397

0.280

0.409

0.278

0.396

0.275

96 192 336 720

0.162 ±0.0016 0.177 ±0.0014 0.185 ±0.0019 0.196 ±0.0006

0.218 ±0.0008 0.236 ±0.0016 0.241 ±0.0019 0.250 ±0.0032

0.167 0.182 0.188 0.195

0.222 0.237 0.245 0.251

0.187 0.194 0.203 0.209

0.255 0.265 0.264 0.269

0.175 0.198 0.213 0.222

0.237 0.259 0.259 0.369

0.174 0.205 0.216 0.211

0.229 0.270 0.282 0.260

0.180 0.201 0.214 0.218

0.233 0.259 0.272 0.278

0.170 0.204 0.212 0.215

0.234 0.302 0.293 0.307

Avg

0.180

0.236

0.183

0.238

0.198

0.263

0.202

0.281

0.201

0.260

0.203

0.260

0.200

0.284

# Best/32

22

23

9

9

3

1

2

2

1

2

0

0

0

2

Avg ETTh2

Avg ETTm1

Avg ETTm2

Avg Weather

Avg Electricity

Avg Traffic

Avg Solar

Which correction contexts matter? Table 3 removes the indicated context components at inference time. ETTm2, Solar, and Weather show that removing either individual context worsens every horizon. Averaged over the four horizons, removing the current context increases MSE by 0.005–0.014, while removing the retrieved detail context increases it by 0.004–0.012. Removing both contexts also degrades all three datasets, by 0.005– 0.019. Thus the two views provide complementary evidence rather than an inactive auxiliary path.

Table 3: Context-component ablation on representative datasets. Entries are ∆MSE (×10−3 ), averaged over four horizons. Positive values mean that removing the indicated component hurts. Component w/o Current context w/o Detail context w/o Both

ETTm2

Solar

Weather

+5.25 +8.64 +5.89 +4.20 +5.37 +9.46

+13.82 +11.77 +18.85

Does the view router depend on forecast position? Figure 4 shows representative full patch-wise router trajectories for Weather and Solar. Across all 32 dataset–horizon cells, the detail-view weight varies by at least 0.02 in 24 cells. Among those 24, 21 assign more detail weight farther into the forecast and three assign less. The trajectories show both smooth horizon-dependent routing and non-monotone, patch-specific routing, supporting an adaptive mixture across the forecast.

8

f, 2 (detail vie

0.4

Preprint

0.2

0.2

0.0 0.0

0.2

0.4

0.6

0.8

future patch f / (F-1)

1.0

0.0

0.2

0.0 0.6 0.0 0.8 0.2 1.0 0.4 0.0 0.6 0.2 0.8 0.4 1.0 0.6 0.0 0.8 0.2 1.0 0.4 0.0 0.6 0.2 0.8 0.4 1.0 0.6 0.0 0.8 0.2 1.0 0.4

0.4

future patch f / (F-1)

Weather

1.0

1.0

f, 2 (detail view weight)

0.6 0.4 0.2 0.0 0.2

0.4

0.6

0.8

future patch f / (F-1)

1.0

0.0

0.2

0.8 0.6 0.4

Weather

0.4

future patch f / (F-1) future patch f / (F-1)

Traffic

Electricity

Solar

0.8

1.0

H=96 H=192 H=336 H=720

0.4

0.6

0.8

future patch f / (F-1)

1.0

H=96 H=192 H=336 H=720

H=96 H=192 H=336 H=720

H=96 H=192 H=336 H=720

future patch f / (F-1) future patch f / (F-1)

future patch f / (F-1) future patch f / (F-1)

H=96 H=192 H=336 H=720

0.6

0.8

future patch f / (F-1)

1.0

T RANSFERRING THE C ORRECTION TO OTHER BACKBONES

We add the Dual-Context Correction from DuoTS to SRSNet, TimeKAN, and PatchTST. Across the 24 backbone–dataset–horizon cells in Table 4, the correction lowers MSE in 15. The transfer is not uniform. On ETTm1, adding the correction to the strong SRSNet backbone reduces MSE from 0.426 to 0.423 at H = 720. However, only two of the six ETTm1 cells improve, while four become worse. The 15-minute sampling interval may help explain this result. With L = 512, adjacent patches densely cover roughly 5.3 days and may yield highly redundant retrieved contexts. This interpretation remains a hypothesis rather than causal evidence. Full DuoTS has the lowest MSE in four of the eight dataset–horizon settings. Table 4: Correction transfer. Within each arrow, the lower endpoint is bold. The DuoTS column is from Table 1 and is bold when it is lower than all three correction-equipped backbones. The secondlowest value among the three correction-equipped endpoints and Full DuoTS is underlined. Original → +Dual-Context Correction from DuoTS Dataset

H

SRSNet

TimeKAN

PatchTST

Full DuoTS

ETTh2

96 720

0.271 → 0.270 0.391 → 0.382

0.280 → 0.267 0.420 → 0.409

0.274 → 0.275 0.406 → 0.393

0.263 0.383

Weather

96 720

0.147 → 0.145 0.325 → 0.314

0.151 → 0.141 0.317 → 0.315

0.150 → 0.143 0.312 → 0.315

0.142 0.312

Electricity

96 720

0.131 → 0.130 0.201 → 0.206

0.135 → 0.135 0.206 → 0.215

0.143 → 0.129 0.214 → 0.205

0.127 0.206

ETTm1

96 720

0.288 → 0.295 0.426 → 0.423

0.290 → 0.287 0.401 → 0.405

0.289 → 0.296 0.416 → 0.425

0.284 0.419

5

0.2

Solar

Figure 4: Full patch-wise view-weight profiles. Mean weight ωf,2 assigned to the retrieved-detail view at future patch f for Weather and Solar. The current view receives 1 − ωf,2 . Curves correspond to forecast horizons. 4.3

0.0

Traffic

0.0 0.6 0.0 0.8 0.2 1.0 0.4 0.0 0.6 0.2 0.8 0.4 1.0 0.6 0.0 0.8 0.2 1.0 0.4 0.0 0.6 0.2 0.8 0.4 1.0 0.6 0.0 0.8 0.2 1.0 0.4

future patch f / (F-1)

0.6

future patch f / (F-1)

H=96 H=192 H=336 H=720

0.2

H=96 H=192 H=336 H=720

0.0

future patch f / (F-1) future patch f / (F-1)

Electricity

H=96 H=192 H=336 H=720

0.8

0.4

C ONCLUSION

DuoTS combines a parallel patch backbone with a horizon-specific dual-context correction. Each future patch balances recent information with retrieved analogs and their observed successors to refine the base forecast. Across eight long-term benchmarks, DuoTS obtains the lowest MSE in 22 and the lowest MAE in 23 of 32 dataset–horizon settings. The ablation results show that the second-order dynamics, channel mixing, and intra-patch mixing are generally useful, while contextcomponent ablation confirms that both correction views affect the forecast. Gains across SRSNet, TimeKAN, and PatchTST further support the correction as a model-agnostic module for forecasting architectures. 9

0.0

0.2

0.4

0.6

0.8

future patch f / (F-1)

1.0

Preprint

Limitations & Future Work. DuoTS is limited to analogs within the finite look-back window, and weak or duplicate matches can make the detail evidence uninformative. Its fixed-width projections and patch-wise correction also add overhead on small-channel series, while selected lags represent latent evidence rather than causal local analogs. Future work will add diversity-aware retrieval and abstention, extend memory beyond the input window, and develop lighter corrections with more interpretable local matches and successor tests. AI USE STATEMENT Generative AI tools were used to draft portions of the manuscript, revise and polish the writing, and assist with the retrieval and discovery of related work. The authors checked the suggested literature against the original sources and manually reviewed and revised all AI-assisted text. Generative AI tools were not used to generate datasets, develop the model or its theoretical claims, design the experiments, implement the method, preprocess the data, or interpret the results. The authors take responsibility for the final content of the paper, including all text, claims, citations, and artifacts produced with the aid of generative AI. R EPRODUCIBILITY STATEMENT The DuoTS architecture and its implementation-level computation are specified in Section 3; Appendix A gives pseudocode for the complete dual-context correction. Section 4 reports the experiments, while Appendices C and D document their setup. The anonymous GitHub repository supplied with the submission contains the code and configurations needed to reproduce the reported results.

R EFERENCES Ibram Abdelmalak, Kiran Madhusudhanan, Jungmin Choi, Christian Klötergens, Vijaya Krishna Yalavarthi, Maximilian Stubbemann, and Lars Schmidt-Thieme. Channel dependence, limited lookback windows, and the simplicity of datasets: How biased is time series forecasting? In Pacific-Asia Conference on Knowledge Discovery and Data Mining, pp. 585–597. Springer, 2026. Takuya Akiba, Shotaro Sano, Toshihiko Yanase, Takeru Ohta, and Masanori Koyama. Optuna: A next-generation hyperparameter optimization framework, 2019. California Department of Transportation (Caltrans). Performance measurement system (PeMS). https://pems.dot.ca.gov/, 2024. Accessed: 2024-05-20. Fanpu Cao, Lu Dai, Jindong Han, and Hui Xiong. Enhancing multivariate time series forecasting with global temporal retrieval. In International Conference on Learning Representations, 2026. Hui Chen, Viet Luong, Lopamudra Mukherjee, and Vikas Singh. SimpleTM: A simple baseline for multivariate time series forecasting. In The Thirteenth International Conference on Learning Representations, 2025. URL https://openreview.net/forum?id=oANkBaVci5. Peng Chen, Yingying Zhang, Yunyao Cheng, Yang Shu, Yihang Wang, Qingsong Wen, Bin Yang, and Chenjuan Guo. Pathformer: Multi-scale transformers with adaptive pathways for time series forecasting. In International Conference on Learning Representations, 2024. Si-An Chen, Chun-Liang Li, Sercan O Arik, Nathanael Christian Yoder, and Tomas Pfister. TSMixer: An all-MLP architecture for time series forecasting. Transactions on Machine Learning Research, 2023. Dazhao Du, Tao Han, and Song Guo. Predicting the future by retrieving the past. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 40, pp. 20896–20904, 2026. doi: 10. 1609/aaai.v40i25.39230. Vijay Ekambaram, Arindam Jati, Nam Nguyen, Phanwadee Sinthong, and Jayant Kalagnanam. TSMixer: Lightweight MLP-mixer model for multivariate time series forecasting. In Proceedings of the 29th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD ’23), pp. 459–469, New York, NY, USA, 2023. Association for Computing Machinery. ISBN 10

Preprint

9798400701030. doi: 10.1145/3580305.3599533. URL https://doi.org/10.1145/ 3580305.3599533. Jingru Fei, Kun Yi, Wei Fan, Qi Zhang, and Zhendong Niu. Amplifier: Bringing attention to neglected low-energy components in time series forecasting. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 39, pp. 11645–11653, 2025. doi: 10.1609/aaai.v39i11.33267. Sungwon Han, Seungeon Lee, Meeyoung Cha, Sercan O. Arik, and Jinsung Yoon. Retrieval augmented time series forecasting. In Proceedings of the 42nd International Conference on Machine Learning, volume 267 of Proceedings of Machine Learning Research, pp. 21774–21797, 2025. Qihe Huang, Lei Shen, Ruixin Zhang, Jiahuan Cheng, Shouhong Ding, Zhengyang Zhou, and Yang Wang. Hdmixer: Hierarchical dependency with extendable patch for multivariate time series forecasting. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 38, pp. 12608–12616, 2024. Songtao Huang, Zhen Zhao, Can Li, and Lei Bai. TimeKAN: KAN-based frequency decomposition learning architecture for long-term time series forecasting. In International Conference on Learning Representations, 2025. URL https://openreview.net/forum?id=wTLc79YNbh. Taesung Kim, Jinhee Kim, Yunwon Tae, Cheonbok Park, Jang-Ho Choi, and Jaegul Choo. Reversible instance normalization for accurate time-series forecasting against distribution shift. In International Conference on Learning Representations, 2022. Shengsheng Lin, Weiwei Lin, Xinyi Hu, Wentai Wu, Ruichao Mo, and Haocheng Zhong. Cyclenet: Enhancing time series forecasting through modeling periodic patterns. Advances in Neural Information Processing Systems, 37:106315–106345, 2024. Jingwei Liu, Ling Yang, Hongyan Li, and Shenda Hong. Retrieval-augmented diffusion models for time series forecasting. In Advances in Neural Information Processing Systems, volume 37, pp. 2766–2786, 2024a. doi: 10.52202/079017-0091. Yong Liu, Tengge Hu, Haoran Zhang, Haixu Wu, Shiyu Wang, Lintao Ma, and Mingsheng Long. iTransformer: Inverted transformers are effective for time series forecasting. In International Conference on Learning Representations, 2024b. URL https://openreview.net/ forum?id=JePfAI8fah. Edward N. Lorenz. Atmospheric predictability as revealed by naturally occurring analogues. Journal of the Atmospheric Sciences, 26(4):636–646, 1969. Luyi Ma, Wanjia Zhang, Kai Zhao, Abhishek Kulkarni, Lalitesh Morishetti, Anjana Ganesh, Ashish Ranjan, Aashika Padmanabhan, Jianpeng Xu, Jason Cho, Praveen Kanumala, Kaushiki Nag, Sumit Dutta, Kamiya Motwani, Malay Patel, Evren Korpeoglu, Sushant Kumar, and Kannan Achan. GRACE: Generative recommendation via journey-aware sparse attention on chain-ofthought tokenization. In Proceedings of the 19th ACM Conference on Recommender Systems, pp. 135–144, 2025. doi: 10.1145/3705328.3748056. Max Planck Institute for Biogeochemistry. Jena climate dataset. https://www.bgc-jena. mpg.de/wetter/, 2024. Accessed: 2024-05-20. National Renewable Energy Laboratory. Solar power data for integration studies. https://www. nrel.gov/grid/solar-power-data.html, 2024. Accessed: 2024-05-20. Yuqi Nie, Nam H Nguyen, Phanwadee Sinthong, and Jayant Kalagnanam. A time series is worth 64 words: Long-term forecasting with transformers. In International Conference on Learning Representations, 2023. Kanghui Ning, Zijie Pan, Yu Liu, Yushan Jiang, James Y. Zhang, Kashif Rasul, Anderson Schneider, Lintao Ma, Yuriy Nevmyvaka, and Dongjin Song. TS-RAG: Retrieval-augmented generation based time series foundation models are stronger zero-shot forecaster. In Advances in Neural Information Processing Systems, volume 38, 2025. Artur Trindade. ElectricityLoadDiagrams20112014. UCI Machine Learning Repository, 2015. DOI: https://doi.org/10.24432/C58C86. 11

Preprint

H. M. van den Dool. Searching for analogues, how long must we wait? Tellus A: Dynamic Meteorology and Oceanography, 46(3):314–324, 1994. Shiyu Wang, Haixu Wu, Xiaoming Shi, Tengge Hu, Huakun Luo, Lintao Ma, James Y. Zhang, and Jun Zhou. TimeMixer: Decomposable multiscale mixing for time series forecasting. In International Conference on Learning Representations, 2024. URL https://openreview. net/forum?id=7oLshfEIC2. Haixu Wu, Jiehui Xu, Jianmin Wang, and Mingsheng Long. Autoformer: Decomposition transformers with auto-correlation for long-term series forecasting. In Advances in Neural Information Processing Systems, volume 34, 2021. Xingjian Wu, Xiangfei Qiu, Hanyin Cheng, Zhengyu Li, Jilin Hu, Chenjuan Guo, and Bin Yang. Enhancing time series forecasting through selective representation spaces: A patch perspective. In Advances in Neural Information Processing Systems, volume 38, pp. 23328–23354, 2025. doi: 10.52202/085713-0789. Ailing Zeng, Muxi Chen, Lei Zhang, and Qiang Xu. Are transformers effective for time series forecasting? In Proceedings of the AAAI Conference on Artificial Intelligence, volume 37, pp. 11121–11128, 2023. doi: 10.1609/aaai.v37i9.26317. Huiliang Zhang, Ping Nie, Lijun Sun, and Benoit Boulet. Nearest neighbor multivariate time series forecasting. IEEE Transactions on Neural Networks and Learning Systems, 36(7):12606–12618, 2025. doi: 10.1109/TNNLS.2024.3490603. Yuanzhao Zhang and William Gilpin. Context parroting: A simple but tough-to-beat baseline for foundation models in scientific machine learning. In International Conference on Learning Representations, 2026. Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. Informer: Beyond efficient transformer for long sequence time-series forecasting. In Proceedings of the AAAI Conference on Artificial Intelligence, 2021. Shiqiao Zhou, Holger Schöner, Zipeng Wu, Edouard Fouché, IAG Wilson, and Shuo Wang. Stationarity-aware retrieval-augmented time series forecasting. In Proceedings of the 32nd ACM SIGKDD Conference on Knowledge Discovery and Data Mining, 2026. doi: 10.1145/3770855. 3817813.

12

Preprint

A

C ORRECTION P ROCEDURE IN P SEUDOCODE

Algorithm 1 writes the implementation as a loop over future patches while remaining vectorized over channels. A block is valid if it contains at least one historical patch whose requested successors are all observed. TopKValid(s, K) returns the indices of the min(K, number of valid blocks) highestscoring valid blocks. Masked blocks are never returned. Eligible(J , Ksuc , ν) then returns the patch indices assigned to blocks in J that satisfy n + ℓν ≤ N for every ℓ = 1, . . . , Ksuc .

Top2Margin ignores masked scores and returns the best valid score minus the second-best valid score. If only one valid score exists, it uses a large positive sentinel margin, so the sole valid match is not compared with a masked entry. Conf(m; φ, ψ) is its learned sigmoid calibration, σ(exp(φ)m + ψ). DiverseTopKρ greedily selects the highest-scoring remaining candidate more than ρ patch positions from every previous selection. If none satisfies that constraint, it selects the highest-scoring remaining valid candidate. Thus it never chooses a masked candidate or a duplicate when enough valid candidates exist. MaskedSoftmax assigns zero weight to any unavailable selected slot. Finally, LeftPad and Block create the consecutive width-Bblk blocks, TransitionValue is defined in equation 7, and TruncateH keeps the first H entries after the correction patches are concatenated in future order. Algorithm 1 Dual-context analog correction for one sample Require: tokens Uc,1:N for c = 1, . . . , C, horizon embeddings ehor 1:F b ∈ RC×H Ensure: normalized correction E 1: ν ← ⌈P/S⌉ 2: G1:M ← Block(LeftPad(U1:N ), Bblk ) 3: b0m ← MLPblk (vec(Gm )) + eblk m for m = 1, . . . , M 4: b1:M ← b01:M + λblk MLPbaxis (b01:M ) 5: for f = 1 to F do 6: ξf ← UN + ehor f 7: hcur f ← CosineAttention(ξf , UN −Kcur +1:N ) blk blk 8: sblk f,m ← τblk CosSim(Wq ξf , Wk bm ) for m = 1, . . . , M 9: Jf ← TopKValid(sblk f,1:M , Kblk ) blk 10: mf ← Top2Margin(sblk f,1:M ) χ χ blk 11: χblk ← Conf(m ; φ f f blk , ψblk ) 12: Cf ← Eligible(Jf , Ksuc , ν) det det 13: sdet f,n ← τdet CosSim(Wq ξf , Wk Un ) for n ∈ Cf det 14: If ← DiverseTopKρ (sf,Cf , Kdet ) 15: for k = 1 to Kdet do (k) 16: nf ← If [k] (k)

(k)

vf ← TransitionValue(U, nf , ν, Ksuc , ξf ) end for πf ← MaskedSoftmax(sdet f,I ) PKdet (k) (k)f det blk 20: hf ← χf k=1 πf vf 21: if Kdet = 1 then det 22: mdet f ← Top2Margin(sf,Cf ) χ χ det det 23: hdet f ← Conf(mf ; φdet , ψdet )hf 24: end if 25: ωf ← softmax(MLPview ([ξf ∥ehor f ])) cur 26: rf ← MLPdec (ωf,1 hf + ωf,2 hdet f ) 27: end for b ← TruncateH (Concat(r1 , . . . , rF )) 28: E b 29: return E 17: 18: 19:

13

Preprint

B

S PARSE C HANNEL M IXER D ETAILS

The main text retains only the channel residual update. For each channel c, let eqc , ekc ∈ Rdg be learned query and key embeddings of graph width dg , and let β ∈ R be the learned self-channel logit. The omitted graph construction is qc,n = pc,n + MLPin (pc,n ), sc,j =

(eqc )⊤ ekj p , dg

Nc = TopKj̸=c (sc,j , κch ),

(ac,c , (ac,j )j∈Nc ) = softmax (β, (sc,j )j∈Nc ) ,

mc,n =

X

(15)

ac,j qj,n .

j∈Nc ∪{c}

The residual coefficient γch is also learned. The graph is shared across samples and patch positions. Section 3.2 describes how its consensus enters the residual channel update.

C

R EPRODUCIBILITY D ETAILS

C.1

B ENCHMARKS AND T HEIR S TATISTICS

Table 5 summarizes the eight public benchmarks. The four ETT datasets contain seven transformer load and oil-temperature signals. ETTh1 and ETTh2 are sampled hourly, while ETTm1 and ETTm2 use 15-minute intervals (Zhou et al., 2021). Weather contains 21 meteorological variables recorded every ten minutes (Max Planck Institute for Biogeochemistry, 2024). Electricity reports hourly demand from 321 clients (Trindade, 2015), Traffic contains hourly occupancy from 862 freeway sensors (California Department of Transportation (Caltrans), 2024), and Solar records ten-minute generation from 137 photovoltaic plants (National Renewable Energy Laboratory, 2024). C.2

R EPORTED E RROR M EASURES

Let i index the n test windows, h the forecast steps, and c the channels. We report 2 1 X b 1 X b Yi,h,c − Yi,h,c . Yi,h,c − Yi,h,c , MAE = MSE = nHC nHC i,h,c

(16)

i,h,c

Every window, forecast step, and channel receives equal weight. MSE is used as the training objective and gives greater weight to large errors. MAE provides a complementary measure that is less sensitive to large individual residuals. Lower values are better for both metrics.

D

E VALUATION S ETUP D ETAILS

D.1

P ROCEDURE AND S EARCH S PACE

We use Optuna (Akiba et al., 2019) with the Tree-structured Parzen Estimator, a multivariate group sampler, 15 startup trials, and a fixed sampler seed. A separate study is run for each benchmark, lookback candidate, and forecast horizon. Each study minimizes the best validation MSE reached during training. Most studies use 50 trials, while a small number use 20 to 30 trials. The configuration with the lowest validation MSE is evaluated on the test split. Table 6 lists the complete search space. Two constraints keep sampled configurations feasible. A trial is pruned when its requested successor span or current-context window exceeds the available patch grid. The exclusion radius is sampled only when more than one detail patch is retrieved because a single match does not require a diversity constraint. D.2

S ELECTED C ONFIGURATIONS

Tables 7 and 8 report the best configuration for every benchmark and forecast horizon.

14

Preprint

Table 5: Statistics of the eight long-term forecasting benchmarks. C is the number of channels and T is the number of observations. Dataset partitions follow chronological order. C

T

Benchmark

Recorded quantity

ETTh1 (Zhou et al., 2021) ETTh2 (Zhou et al., 2021) ETTm1 (Zhou et al., 2021) ETTm2 (Zhou et al., 2021) Weather (Max Planck Institute for Biogeochemistry, 2024) Electricity (Trindade, 2015) Traffic (California Department of Transportation (Caltrans), 2024) Solar (National Renewable Energy Laboratory, 2024)

Transformer load and oil temperature 7 17,420 Transformer load and oil temperature 7 17,420 Transformer load and oil temperature 7 69,680 Transformer load and oil temperature 7 69,680 Meteorological indicators 21 52,696 Client-level power demand 321 26,304 Freeway sensor occupancy 862 17,544 Photovoltaic plant output 137 52,560

Interval Train / val / test 1h 1h 15 min 15 min 10 min 1h 1h 10 min

8,640 / 2,880 / 2,880 8,640 / 2,880 / 2,880 34,560 / 11,520 / 11,520 34,560 / 11,520 / 11,520 36,887 / 5,270 / 10,539 18,412 / 2,632 / 5,260 12,280 / 1,756 / 3,508 36,792 / 5,256 / 10,512

Table 6: Unified hyperparameter search space for DuoTS. Derived values are computed from the sampled coordinates, and retrieval ranges are capped by the available patch grid. Coordinate Sampled Learning rate Path width Mixer hidden width Structured-path layers Dropout Patch length Stride ratio Journey block width Current-context window Successor span Block retrieval budget Patch retrieval budget Exclusion radius Channel neighbourhood Channel graph width Initial channel gate Initial self logit Initial correction gate Initial patch-axis gate Derived or fixed Stride Patch count Successor spacing Correction heads Fusion-gate initialization Weight decay Normalization

Symbol Range, cap, or fixed value η d dff Λ P r Bblk Kcur Ksuc Kblk Kdet ρ κch dg β

S N ν λfuse

log-uniform, [2 × 10−5 , 3 × 10−3 ] {32, 64, 128, 256, 384, 512} {16, 32, 64, 128, 256, 512, 1024} {1, 2, 3} uniform, [0, 0.40] {12, 24, 32, 48, 64, 96, 112, 128, 144, 168, 192, 256}, capped at L {0.30, 0.50, 0.75} {2, 3, 4, 6, 8}, capped at N {2, 3, 4, 6}, capped at N integer in [1, 4], capped at ⌊(N − 1)/ν⌋ {1, 2} {1, 2, 3} {1, 2, 3, 4}, sampled only when Kdet > 1 {0, 1, 2, 4, 6, 8, 12, 16, 20, 32, 64, 128}, capped at C − 1 {4, 8, 16, 32, 64} log-uniform, [10−4 , 5 × 10−3 ] uniform, [1, 4] {0, 0.01, 0.03, 0.05} {0.025, 0.05, 0.10, 0.20} max(1, round(rP )), derived ⌈max(0, L − P )/S⌉ + 1, derived ⌈P/S⌉, derived fixed at 4 fixed at 0 and learned thereafter fixed at 0 fixed, RevIN without a learned affine map

15

Preprint

Table 7: Backbone settings of the reported DuoTS models. The look-back length L is chosen per cell from {96, 336, 512}, P and S are the patch length and stride, d is the shared path width, dff the hidden width of the mixer MLPs, and Λ the number of structured-path layers. Dropout is shared by the backbone MLPs, the channel mixer, and the correction attention. η is the Adam learning rate and B the batch size. Benchmark H L P S d dff Λ Dropout η B

ETTh1 ETTh1 ETTh1 ETTh1

96 192 336 720

336 512 512 336

16 32 112 16

8 10 56 8

512 384 384 128

256 64 256 128

2 2 2 2

0.274 0.200 0.050 0.256

ETTh2 ETTh2 ETTh2 ETTh2

96 192 336 720

512 512 512 336

48 24 48 32

14 7 24 16

256 32 128 32

256 32 512 16

1 1 2 2

0.200 0.300 0.200 0.116

ETTm1 ETTm1 ETTm1 ETTm1

96 192 336 720

336 512 512 336

12 24 32 16

6 18 16 8

256 384 256 64

256 256 128 1024

2 1 2 2

0.252 0.300 0.400 0.239

ETTm2 ETTm2 ETTm2 ETTm2

96 192 336 720

336 512 336 336

12 12 12 32

6 6 9 16

256 64 128 256

16 128 512 256

2 2 3 2

0.339 0.400 0.200 0.001

Weather Weather Weather Weather

96 192 336 720

512 512 512 512

32 32 24 16

16 10 18 8

128 128 256 32

32 32 256 64

2 2 2 2

0.304 0.300 0.400 0.244

Electricity Electricity Electricity Electricity

96 192 336 720

512 512 512 512

48 112 112 16

24 84 34 8

256 256 32 32

32 16 512 128

2 1 2 2

0.068 0.300 0.050 0.159

Traffic Traffic Traffic Traffic

96 192 336 720

512 512 512 512

128 96 48 128

38 72 24 96

256 256 64 256

128 16 512 128

2 2 2 2

0.200 0.250 0.250 0.150

Solar Solar Solar Solar

96 192 336 720

512 512 512 512

24 32 48 24

18 10 14 7

512 256 32 64

16 16 256 32

1 3 1 1

0.050 0.100 0.400 0.000

16

2.585 × 10−4 1.601 × 10−4 9.300 × 10−5 2.443 × 10−4 2.324 × 10−3 2.299 × 10−4 1.720 × 10−4 9.332 × 10−4 9.929 × 10−4 5.821 × 10−5 1.397 × 10−4 1.590 × 10−4 5.270 × 10−5 9.969 × 10−5 4.689 × 10−5 1.154 × 10−4 6.539 × 10−4 6.472 × 10−4 7.906 × 10−4 3.245 × 10−4 3.719 × 10−4 1.151 × 10−3 8.048 × 10−4 8.650 × 10−4

1.811 × 10−3 2.107 × 10−3 2.706 × 10−3 2.333 × 10−3

4.754 × 10−4 5.044 × 10−4 6.104 × 10−4 5.151 × 10−4

32 32 32 32 256 256 256 32 32 128 256 32 32 256 128 32 64 64 64 32 32 16 16 32 16 16 8 8 16 16 16 16

Preprint

Table 8: Correction and channel settings of the reported DuoTS models. Bblk is the journey block width, Kcur the number of newest tokens read by the current context, Ksuc the successor span of a retrieved analog, Kblk and Kdet the block and patch retrieval budgets, and ρ the exclusion radius, which is inactive whenever Kdet = 1. The channel columns give the neighbourhood size κch , the graph width dg , the initial self logit β, and the initial channel gate. The final two columns give the initial correction gate and the initial patch-axis gate. Benchmark

H

Bblk

Kcur

Ksuc

Kblk

Kdet

ρ

κch

dg

β

Gate init

Corr. init

Patch init

ETTh1 ETTh1 ETTh1 ETTh1

96 192 336 720

3 4 4 6

4 4 2 3

4 3 1 3

1 2 1 2

1 1 2 1

0 0 1 0

0 0 1 0

4 8 8 4

1.27 2.23 2.64 3.01

3.03 × 10−3 8.08 × 10−4 2.35 × 10−3 4.90 × 10−3

0.000 0.000 0.000 0.000

0.100 0.200 0.200 0.100

ETTh2 ETTh2 ETTh2 ETTh2

96 192 336 720

4 4 6 2

6 2 6 3

3 3 3 4

1 2 2 2

1 1 3 2

0 0 4 2

2 4 0 4

4 4 32 4

1.71 2.29 1.22 2.02

0.010 0.000 0.050 0.000

0.050 0.100 0.100 0.100

ETTm1 ETTm1 ETTm1 ETTm1

96 192 336 720

6 2 6 3

3 6 2 4

3 2 2 2

1 2 1 2

1 1 2 2

0 0 2 4

0 2 4 0

32 8 4 32

3.88 2.74 3.96 3.87

0.000 0.050 0.050 0.000

0.100 0.050 0.100 0.100

ETTm2 ETTm2 ETTm2 ETTm2

96 192 336 720

4 3 8 2

3 2 3 2

3 2 4 1

2 1 1 1

3 3 3 3

1 3 3 3

2 4 4 0

32 4 8 32

3.67 3.10 1.51 1.37

0.000 0.050 0.050 0.000

0.100 0.100 0.200 0.100

Weather Weather Weather Weather

96 192 336 720

6 2 4 3

2 4 3 2

3 4 2 3

1 2 2 1

2 2 1 1

3 4 0 0

16 12 12 8

64 4 32 8

2.47 2.42 2.17 1.87

0.000 0.010 0.010 0.000

0.100 0.025 0.025 0.100

Electricity Electricity Electricity Electricity

96 192 336 720

3 3 3 6

4 3 3 2

4 1 2 2

1 1 2 2

3 1 2 1

2 0 3 0

128 64 0 8

8 32 4 32

3.64 1.93 1.29 2.96

0.000 0.050 0.030 0.000

0.100 0.200 0.200 0.100

Traffic Traffic Traffic Traffic

96 192 336 720

3 6 2 4

3 2 6 4

2 1 4 2

1 2 2 1

2 3 3 1

3 4 2 0

2 8 4 2

32 16 16 16

1.06 1.88 2.72 3.24

0.030 0.010 0.010 0.010

0.100 0.025 0.050 0.100

Solar Solar Solar Solar

96 192 336 720

2 8 6 6

3 3 3 2

2 4 3 4

2 2 1 2

1 1 3 2

0 0 4 3

16 16 8 16

16 64 16 32

3.21 1.08 2.11 1.57

0.010 0.000 0.030 0.050

0.100 0.025 0.050 0.050

17

8.45 × 10−4 6.25 × 10−4 1.01 × 10−4 3.66 × 10−4 1.75 × 10−3 1.67 × 10−4 1.44 × 10−4 2.83 × 10−4 3.17 × 10−4 5.42 × 10−4 2.06 × 10−4 4.49 × 10−4

2.79 × 10−3 1.99 × 10−4 6.73 × 10−4 2.05 × 10−3 1.01 × 10−4 6.30 × 10−4 2.19 × 10−4 1.27 × 10−3 1.51 × 10−3 2.22 × 10−4 2.75 × 10−4 3.56 × 10−3

1.66 × 10−4 2.31 × 10−3 4.36 × 10−4 1.01 × 10−3

Preprint

D.3

M EANING OF E ACH S EARCHED C OORDINATE

Path width d. This shared width is used by the direct path, structured path, horizon queries, journey tokens, and both correction contexts. Increasing d therefore expands both the backbone and the correction module. Mixer hidden width dff . The hidden width controls the intra-patch MLP, patch-axis mixer, path fusion, and correction decoder. It changes their capacity without changing the stored token width. Structured-path layers Λ. This value specifies how often the structured path applies local difference features and full-axis mixing. It does not change the depth of the direct path. Patch length and stride ratio. Together they determine the number of historical patches N . More overlap creates a larger pool with more similar candidates, while less overlap creates a smaller pool whose patches are farther apart. Journey block width Bblk . The block width specifies how many consecutive patches form one journey token. It controls the resolution of coarse retrieval and the number of journey blocks M = ⌈N/Bblk ⌉. Retrieval budgets Kblk , Kdet , and the radius ρ. Kblk controls how many coarse blocks continue to patch-level retrieval. Kdet determines the number of detail matches. The radius discourages selected matches from occupying nearby patch positions when more separated candidates remain available. Current-context window Kcur and successor span Ksuc . Kcur sets the number of newest tokens read by the current context. Ksuc determines how many observed successor patches are attached to each retrieved match. A longer successor span provides more continuation evidence but reduces the number of eligible historical patches. Channel neighbourhood κch , graph width dg , and self logit β. κch is the number of other channels used by the sparse channel graph. Setting it to zero disables cross-channel mixing. The graph width controls the channel query and key embeddings, while β controls the self-edge before the channel weights are normalized. Gate initializations. The search includes the initial channel weight, correction scale, and patchaxis weight. The underlying parameter of λfuse in equation 14 is always initialized at zero and learned thereafter. Its initialization is not searched. These small initial values allow the additional paths to enter the forecast gradually during optimization.

E

C OMPARISON WITH R ETRIEVAL -AUGMENTED F ORECASTERS

Table 9 collects the complete reported results of RAFT and SARAF on the seven datasets shared with DuoTS. The table retains every forecast horizon and the dataset averages. The source papers use a look-back of 720 whereas DuoTS selects its look-back per cell. Every selected DuoTS lookback is shorter at 96, 336, or 512. Despite using less historical context, DuoTS has the lowest reported MSE in 18 of the 28 dataset–horizon rows and the lowest or tied-lowest MAE in 22. These values are still a contextual cross-paper comparison rather than a controlled rerun.

18

Preprint

Table 9: Reported full-horizon comparison with retrieval-augmented forecasters (lower is better). DuoTS uses the per-cell look-back selected from {96, 336, 512}. RAFT and SARAF use L = 720. RAFT values are from Tables 16–17 of Han et al. (2025), and SARAF values are from Table 4 of Zhou et al. (2026). These are cross-paper reported values rather than a controlled rerun. Within the three displayed methods, the best value is bold and the second-best is underlined. DuoTS

RAFT

SARAF

Dataset

H

MSE

MAE

MSE

MAE

MSE

MAE

ETTh1

96 192 336 720

0.363 0.400 0.401 0.441

0.388 0.413 0.430 0.457

0.367 0.411 0.436 0.467

0.397 0.427 0.442 0.478

0.371 0.404 0.435 0.451

0.399 0.420 0.447 0.473

ETTh2

96 192 336 720

ETTm1

96 192 336 720

ETTm2

96 192 336 720

Avg 0.401 0.422 0.420 0.436 0.415 0.435 0.263 0.312 0.314 0.383

0.332 0.367 0.377 0.424

0.276 0.347 0.376 0.436

0.344 0.393 0.425 0.473

0.271 0.331 0.359 0.399

0.335 0.378 0.408 0.447

Avg 0.318 0.375 0.359 0.409 0.340 0.392 0.284 0.334 0.364 0.419

0.342 0.366 0.383 0.419

0.302 0.329 0.355 0.406

0.349 0.367 0.383 0.413

0.297 0.331 0.357 0.401

0.348 0.370 0.386 0.410

Avg 0.350 0.377 0.348 0.378 0.346 0.378 0.166 0.220 0.278 0.364

0.255 0.293 0.330 0.385

0.164 0.219 0.275 0.359

0.256 0.296 0.336 0.392

0.160 0.215 0.268 0.349

0.252 0.292 0.329 0.383

Avg 0.257 0.316 0.254 0.320 0.248 0.314 Electricity 96 192 336 720

0.127 0.146 0.162 0.206

0.222 0.241 0.258 0.296

0.133 0.149 0.161 0.197

0.232 0.247 0.259 0.297

0.130 0.143 0.160 0.173

0.228 0.241 0.260 0.274

Avg 0.160 0.254 0.160 0.259 0.152 0.251 Traffic

96 192 336 720

Solar

96 192 336 720

0.355 0.380 0.386 0.424

0.252 0.259 0.262 0.284

0.378 0.391 0.402 0.434

0.273 0.277 0.282 0.297

0.371 0.385 0.398 0.425

0.267 0.274 0.282 0.295

Avg 0.387 0.264 0.402 0.282 0.395 0.280 0.162 0.177 0.185 0.196

0.218 0.236 0.241 0.250

0.192 0.247 0.240 0.246

0.251 0.323 0.300 0.311

0.182 0.204 0.216 0.224

0.244 0.254 0.263 0.270

Avg 0.180 0.236 0.231 0.296 0.206 0.258

F

R ETRIEVAL AND S UCCESSOR E VIDENCE

We separate candidate selection from successor evidence through four retrieval perturbations. Random eligible samples candidates from the valid search pool. Bottom-K selects the lowest scoring candidates. Nearest only removes diversity and keeps the highest scoring candidate. Successor shuffle preserves the selected candidates but permutes their observed continuations. These perturbations isolate whether the correction benefits from the learned ranking and from the trajectories that follow the retrieved states.

19

Preprint

Table 10: Detail-retrieval perturbations that change candidate selection or successor pairing. Bold marks the lowest MSE in each row. Dataset H Default Random eligible Bottom-K Nearest only Successor shuffle

ETTh1

96 192 336 720

0.3634 0.4009 0.4017 0.4412

0.3666 0.4027 0.4017 0.4416

0.3690 0.4080 0.4015 0.4416

0.3634 0.4009 0.4017 0.4412

0.3632 0.3989 0.4015 0.4413

ETTh2

96 192 336 720

0.2632 0.3125 0.3144 0.3835

0.2632 0.3125 0.3152 0.3829

0.2632 0.3125 0.3087 0.3823

0.2632 0.3125 0.3144 0.3834

0.2634 0.3125 0.3130 0.3829

ETTm1

96 192 336 720

0.2849 0.3340 0.3643 0.4193

0.2851 0.3347 0.3654 0.4196

0.2851 0.3346 0.3659 0.4202

0.2849 0.3340 0.3643 0.4194

0.2850 0.3350 0.3648 0.4213

ETTm2

96 192 336 720

0.1665 0.2203 0.2789 0.3644

0.1669 0.2206 0.2795 0.3644

0.1677 0.2206 0.2798 0.3644

0.1665 0.2203 0.2789 0.3644

0.1675 0.2214 0.2797 0.3724

Solar

96 192 336 720

0.1625 0.1778 0.1852 0.1968

0.1704 0.1790 0.1853 0.1980

0.1807 0.1800 0.1854 0.2010

0.1625 0.1778 0.1852 0.1968

0.1635 0.1781 0.1852 0.1969

Weather

96 192 720

0.1428 0.1889 0.3126

0.1432 0.1905 0.3126

0.1444 0.1926 0.3126

0.1428 0.1889 0.3126

0.1429 0.1888 0.3126

Random selection changes 26 settings and increases MSE in 25 of them, with a mean increase of 0.00081. Bottom-K also changes 26 settings and worsens 22, with a mean increase of 0.00160. The consistent degradation shows that the learned ranking provides useful retrieval evidence. Successor shuffling changes 27 settings and increases MSE in 18, with a smaller mean increase of 0.00040. This result indicates that the observed continuations also contribute, although less uniformly. Nearest-only affects only the five settings that use more than one candidate and shows no consistent advantage. Overall, the correction depends mainly on meaningful candidate selection and also benefits from the associated successor trajectories.

G

A DDITIONAL M ECHANISM D IAGNOSTICS

Learned correction scale. Across all 423 dataset–horizon–future-patch combinations, the mean absolute correction scale is 0.040. The horizon averages are 0.041 on Solar, 0.056 on Weather, and 0.031 on Traffic. The correction therefore remains small relative to the normalized base forecast instead of replacing it. The sign is not constrained. Eight of the 32 cells learn a negative scale at every future patch. Confidence-map calibration. The affine confidence maps do not move uniformly. Of 64 dataset– horizon–level pairs, seven stay exactly at their zero initialization and 37 remain within 0.05 of it. In contrast, the parameters move substantially for the selected Solar, Traffic, and Weather cases. For example, at H = 336 the journey-level (s, b) parameters are (−0.074, −0.629) on Solar and (−0.387, −0.603) on Traffic, while Weather learns nonzero maps at both levels. This pattern indicates selective calibration rather than a uniformly active confidence transform.

20

Preprint

Where does the correction help? Table 11 compares the corrected and base forecasts on Solar, Traffic, and Weather, where the correction improves average MSE at every horizon. Weather improves at every forecast step. Solar’s gain is distributed across nearly all channels, and Traffic also improves across most steps and channels. The decomposition therefore supports the correction’s benefit at both step and channel levels. Table 11: Correction decomposition averaged over four horizons. ∆MSE is corrected minus base (×10−3 ). The last columns report where the correction has larger squared error.

H

Dataset

∆MSE

Steps hurt (%)

Channels hurt (%)

Solar Traffic Weather

-9.45 -1.25 -17.50

24.5 12.9 0.0

0.2 12.4 16.7

C OMPUTATIONAL C OST

Table 12: Computational cost with L = 512 and H = 96 on one RTX 4060 Laptop GPU. ETT uses batch size 32, Electricity uses batch size 4, and Weather uses batch size 16. Smaller values are better. Dataset

Model

Params (M)

FLOPs (G)

FLOPs/C (G/ch.)

Epoch (s)

Latency (ms/sample)

Memory (MB)

ETTh2 (C = 7, batch size 32) DLinear TimeKAN iTransformer PatchTST DuoTS (Ours)

0.10 0.05 0.95 7.40 12.97

0.001 0.035 0.021 1.971 2.648

0.0001 0.0050 0.0030 0.2816 0.3783

0.59 8.54 1.53 10.96 34.95

0.003 0.410 0.021 0.348 0.942

21 554 47 573 2057

Electricity (C = 321, batch size 4) DLinear TimeKAN iTransformer PatchTST DuoTS (Ours)

0.10 0.06 5.05 7.40 3.04

0.063 2.170 3.918 90.365 13.229

0.0002 0.0068 0.0122 0.2815 0.0412

12.10 1395.76 81.12 1323.39 1151.09

0.044 32.348 1.368 24.970 10.051

37 4180 274 2729 2783

Weather (C = 21, batch size 16) DLinear TimeKAN iTransformer PatchTST DuoTS (Ours)

0.10 0.06 1.21 9.46 1.09

0.004 0.173 0.061 17.418 0.268

0.0002 0.0082 0.0029 0.8294 0.0127

5.38 200.28 19.04 486.50 51.94

0.007 2.348 0.044 3.438 0.188

23 1408 55 3600 304

Table 12 uses a common look-back window of 512, horizon 96, and a single RTX 4060 Laptop GPU. On Electricity, DuoTS has 3.04M parameters and uses 13.229G FLOPs, compared with PatchTST’s 7.40M parameters and 90.365G FLOPs. On Weather, DuoTS lies between iTransformer and PatchTST in FLOPs, epoch time, and latency. ETTh2 is the unfavorable case. Its seven channels do not amortize the fixed wide-representation and correction costs, so DuoTS is less efficient than every listed baseline.

21

Related documents

Record · ID 1181652 · SHA-256 b257f712e7dc3459
Retrieved via Conceptio: every document is proof-bundled with source, license, and retrieval metadata.
Bring this data into your agent: Connect via MCP or API · 20 free credits to start · no card required
Read the Docs → · View CLI source on GitHub · Conceptio Open Knowledge Archive