---
kind: concept
slug: direct-multi-step-forecasting
title: Direct multi-step forecasting
summary: >-
  Predicts all T future steps of a series in one model call, instead of feeding each prediction back as the next input. A single linear layer with this output beat published Transformer forecasters on nine benchmarks in one author-reported study. Variants add a trend split or a last-value anchor. The evidence is one paper, and its baselines used a different look-back.
tags: [time-series, forecasting, linear-model, transformer]
papers: ["2205.13504"]
related: [time-series-forecasting, self-attention, positional-encoding, series-decomposition, multi-layer-perceptron]
status: draft
updated_at: 2026-10-24
---

## Overview

Direct multi-step (DMS) forecasting predicts all T future steps from a look-back
window in one model call. The alternative, iterated multi-step (IMS), predicts
one step, feeds it back as an input, and repeats, so errors can build up over
the horizon [arxiv:2205.13504 §1] [arxiv:2205.13504 §2].

The one study on this page argues for a DMS-style linear baseline. A single
linear layer maps the recent values of each variate to the whole horizon, and
the paper compares it with published Transformer forecasters on nine benchmarks
[arxiv:2205.13504 §4] [arxiv:2205.13504 §5.1]. In the main table, the best
linear model has lower MSE than the best Transformer in each of 36
dataset-horizon cells [arxiv:2205.13504 tab. 2]. These are author-reported
numbers. The table gives no run count or spread, and the Transformer numbers
(except Pyraformer) are copied from another paper, not re-run [arxiv:2205.13504
tab. 2].

The paper hypothesises that the gains of Transformer forecasters come largely
from the DMS strategy they use [arxiv:2205.13504 §4]. Its evidence for this is
a simplification: Informer reduced to one linear layer has
lower MSE than Informer in every Exchange-Rate and ETTh1 cell it reports, at
look-back 96 [arxiv:2205.13504 tab. 4]. No table in the card compares IMS and
DMS on the same model, so the page does not show that DMS beats IMS directly.

## Variants

All three variants below come from the same paper and share its DMS output.
Each variant has a card: [Are Transformers Effective for Time Series
Forecasting?](/papers/2205.13504).

### Single linear layer (LTSF-Linear)

One weight matrix maps the last L = 336 values of each variate to all T future
values. The weights are shared across variates, so no correlation between
variates is modelled [arxiv:2205.13504 §4] [arxiv:2205.13504 app. B.2]. This
is the base model. Plain Linear does not beat every Transformer cell: at ETTh2,
T=720, its MSE is 0.698 against 0.463 for FEDformer [arxiv:2205.13504 tab. 2].

### Trend and remainder split (DLinear)

A moving average with kernel size 25 separates the input into a slow trend and
a remainder. Each part gets its own linear layer, and the two forecasts are
summed [arxiv:2205.13504 §4] [arxiv:2205.13504 app. B.2]. The paper borrows the
decomposition from Autoformer and FEDformer [arxiv:2205.13504 §3]. On
Exchange-Rate, DLinear has the lowest MSE of the three linear models at all four
horizons [arxiv:2205.13504 tab. 2]. At T=720 it is 0.643 against 0.964 for plain
Linear [arxiv:2205.13504 tab. 2].

### Last-value anchor (NLinear)

The last observed value is subtracted from the input window, the linear layer
runs, and the value is added back to the output [arxiv:2205.13504 §4]. The paper
says the purpose is to reduce the shift between training and test periods
[arxiv:2205.13504 §4] [arxiv:2205.13504 app. D.1]. On ETTh1 at T=720 its MSE is
0.440 against 0.624 for plain Linear, and on ETTh2 at T=720 it is 0.394
against 0.698 [arxiv:2205.13504 tab. 2].

### Transformer forecasters (the baseline class)

Informer, Autoformer, FEDformer, Pyraformer and LogTrans are the Transformer
forecasters the paper tests against. The paper says these models use the DMS
strategy [arxiv:2205.13504 §4]. Their own cards are not in this wiki, so they
are named here only.

## When to use which

| Situation | Use | Why |
|---|---|---|
| Tight latency or memory budget, long horizons | Linear or DLinear | The paper costs only DLinear: 0.4 ms and 687 MiB, against 26.8 ms and 6091 MiB for a vanilla Transformer with the same decoder, on one GPU and one setting [arxiv:2205.13504 tab. 8] |
| The level of the series drifts between training and test periods | NLinear | The anchor is built for this shift [arxiv:2205.13504 §4]. At ETTh1, T=720, it gives 0.440 against 0.624 for plain Linear [arxiv:2205.13504 tab. 2] |
| Strong trend, or exchange-rate-like behaviour | DLinear | Lowest MSE of the three linear models at every Exchange-Rate horizon [arxiv:2205.13504 tab. 2] |
| Interactions between variates matter | Not covered by these three | The paper's models share weights across variates and do not model cross-variate correlation [arxiv:2205.13504 §4]. Test a model that does |
| Comparing a linear model with a Transformer | Run both at the same look-back | The paper uses L=336 for the linear family and L=96 for the Transformers [arxiv:2205.13504 app. B.2], so its main table mixes input lengths |
| A simple reference before a new forecaster | Linear | The paper proposes it as the baseline a new forecaster must beat [arxiv:2205.13504 §6] |

## Implementation sketch

The two strategies differ in how many model calls they make. The DMS core is a
single call. The IMS loop is shown for contrast.

```pseudocode
# Iterated multi-step (IMS)  [arxiv:2205.13504 §1] [§2]
# Each prediction is appended to the window and fed back as an input
def ims_forecast(x, step_model, T):
    window = x                                     # (B, L, C)
    preds = []
    for t in range(T):
        # one step ahead, then slide the window by one  [§1]
        y_next = step_model(window)                # (B, 1, C)
        preds.append(y_next)
        window = concat(window[:, 1:, :], y_next, axis=1)
    return concat(preds, axis=1)                   # (B, T, C)

# Direct multi-step (DMS)  [arxiv:2205.13504 §4]
# One call returns all T steps; no prediction is fed back
def dms_forecast(x, model):
    # the model's output layer has T outputs per variate  [§4]
    return model(x)                                # (B, T, C)
```

## Contradictions

- **"In all cases" against the table.** The abstract says the linear models
  beat the Transformers "in all cases" [arxiv:2205.13504 abstract]. Table 2
  supports this for the best linear model in each cell. It does not hold for
  every linear model: plain Linear loses at ETTh2, T=720 [arxiv:2205.13504 tab.
  2].
- **Repeat baseline.** On Exchange-Rate at T=96, the last-value Repeat baseline
  ties DLinear on MSE (0.081) and beats it on MAE (0.196 against 0.203)
  [arxiv:2205.13504 tab. 2].

No conflict with other papers is known, because this page cites one card.

## Papers

- [Are Transformers Effective for Time Series Forecasting?](/papers/2205.13504):
  one linear layer with a DMS output, and two variants, DLinear and NLinear,
  compared against published Transformer forecasters on nine benchmarks.
