Transformerは自然言語処理や画像認識で圧倒的な成功を収めてきましたが、時系列予測への適用は長い間苦戦していました。2022年の衝撃的な論文(Zeng et al., “Are Transformers Effective for Time Series Forecasting?”)は、単純な線形モデルがTransformerベースの時系列モデルを上回ることを示し、時系列コミュニティに大きな疑問を投げかけました。
なぜTransformerは時系列で苦戦するのでしょうか? 根本的な原因は、トークン化の方法にありました。NLPでは「単語」という意味のある単位をトークンとしますが、初期の時系列Transformerは各時刻の1つのスカラー値をトークンとしていました(point-wise tokenization)。長さ $L = 512$ の系列なら512個のトークンが生成され、Self-Attentionの計算量は $O(512^2) = O(262{,}144)$ に達します。さらに、1つのスカラー値にはほとんど意味的情報が含まれていません。
PatchTST(Nie et al., ICLR 2023, “A Time Series is Worth 64 Words”)は、この根本問題を2つのシンプルなアイデアで解決しました。
- パッチ化(Patching): 時系列を固定長のパッチ(部分系列)に分割してトークンとする
- チャネル独立(Channel Independence): 多変量時系列の各チャネルを独立に処理する
この2つだけで、Transformerは線形モデルを再び上回り、しかも計算コストは大幅に下がりました。PatchTSTを理解することは、以下のような場面で直接役立ちます。
- 後続モデルの理解: MOMENT、Sundial、TimeSiam等、2024-2025年の主要な時系列基盤モデルの多くがPatchTSTのパッチ化設計を採用しています。PatchTSTは現代の時系列モデルの「共通語」です
- 長い履歴を扱う設計: 数千点に及ぶ長い入力系列を、計算量を爆発させずにTransformerへ渡すための実用的な設計指針が得られます
本記事の内容
- Point-wise tokenization の問題点
- パッチ化の動機と数理(系列長の削減、局所パターンの保持)
- チャネル独立設計の意義
- PatchTSTのアーキテクチャ詳細(論文の原図つき)
- 自己教師あり学習(マスクパッチ再構成)
- 論文の実験結果(メイン結果・アブレーション・look-back窓の効果)
- 後続モデルへの影響
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。

Point-wise Tokenization の問題点
各時刻をトークンにする非効率性
初期の時系列Transformer(Informer, Autoformer, FEDformer等)は、各時刻のスカラー値 $x_t$ をトークンとして扱いました。多変量の場合は、各時刻のベクトル $\bm{x}_t = (x_t^{(1)}, \ldots, x_t^{(C)})$($C$ チャネル)が1トークンです。
この方法には3つの深刻な問題があります。
計算量の爆発: 系列長 $L$ のトークン列に対するSelf-Attentionの計算量は $O(L^2 d)$ です。$L = 512$ では $O(262{,}144 \cdot d)$ となり、NLPの典型的なトークン数(数百〜数千)と同程度ですが、時系列ではさらに長い系列を扱いたい場面が多く($L = 10{,}000$ 以上)、計算量が問題になります。
意味の希薄さ: NLPの1トークン(単語やサブワード)は豊富な意味情報を持ちますが、時系列の1時刻のスカラー値にはほとんど意味がありません。「温度が25.3°C」という1つの値からは、トレンドも周期性も読み取れません。意味が生まれるのは、値の時間的な並びからです。
局所パターンの分断: Self-Attentionは全時刻間のペアワイズ関係を計算しますが、時系列の重要な情報は多くの場合局所的な構造(短期トレンド、振動パターン等)に含まれます。point-wise tokenization では局所構造が個別のトークンに分解され、Transformerが再構成する必要があります。

上の図は2つのトークン化を対比したものです。上段の point-wise 方式では、波形の各点(赤い丸)がそれぞれ独立した1トークンになり、48点あれば48トークンになりますが、1点だけを見てもトレンドや振動といった意味は読み取れません。下段のパッチ化方式では、長さ $P=8$ の部分系列をひとまとめにして1トークン(P1〜P6)とするため、トークン数は6個に減り、しかも各トークンの中に「山」「谷」「立ち上がり」といった局所パターンがそのまま保持されています。これがPatchTSTの出発点となる着想です。
線形モデルに負けた理由
DLinear(Zeng et al., 2022)が示したのは、時系列予測では局所パターンの抽出が最も重要だということです。単純な移動平均分解 + 線形層で十分に高い予測精度が得られる場合、Transformerの大域的注意は過剰適合のリスクを高めるだけで利点がありません。
この洞察から、PatchTSTの設計思想が生まれました — まず局所パターンを保持するトークン化を行い、そのうえでTransformerの大域的注意を活用する。
point-wise tokenization の限界が明確になったところで、PatchTSTがこれをどう解決するか見ていきましょう。
パッチ化の数理
パッチの定義
長さ $L$ の時系列 $\bm{x} = (x_1, x_2, \ldots, x_L)$ を、パッチ長 $P$、ストライド $S$ で分割します。$i$ 番目のパッチは、
$$ \bm{p}_i = (x_{(i-1)S+1}, x_{(i-1)S+2}, \ldots, x_{(i-1)S+P}), \quad i = 1, \ldots, N $$
パッチ数は、
$$ N = \left\lfloor \frac{L – P}{S} \right\rfloor + 1 $$
ストライド $S$ はパッチの「ずらし幅」です。$S < P$ ならパッチは重なり(overlap)、$S = P$ なら隙間なく分割(non-overlap)されます。NLPとの対比で考えると、パッチは「単語」に相当します。1つの文字(時刻)ではなく、複数の文字をまとめた単語(パッチ)をトークンとすることで、各トークンに意味的な情報が凝縮されます。

この図は $L=30$、$P=8$、$S=6$ でパッチを切り出す様子を示しています。上段の灰色が元系列で、そこから幅 $P=8$ の窓を $S=6$ ずつずらしながらパッチ1〜4を取り出しています。窓幅 $P$ より小さいストライド $S$ を使っているため隣り合うパッチが少しずつ重なっており、パッチの境界で局所パターンが分断されるのを防いでいます。公式 $N = \lfloor(30-8)/6\rfloor + 1 = 4$ の通り、ちょうど4つのパッチが得られます。
計算量の削減
パッチ化による最大の恩恵は、トークン数の劇的な削減です。トークン数が $L$ から $N \approx L/S$ に減るため、Self-Attentionのペア数は $L^2$ から $N^2$ へ、約 $S^2$ 倍のオーダーで減少します。
| パラメータ | point-wise | パッチ化 ($P=16, S=8$) |
|---|---|---|
| トークン数 | $L = 512$ | $N = 63$ |
| Attention計算量 | $O(512^2) = O(262{,}144)$ | $O(63^2) = O(3{,}969)$ |
| 削減率 | — | 約66倍 |
$P = 16, S = 8$ の場合、$N = \lfloor (512 – 16) / 8 \rfloor + 1 = 63$ です。Attentionの計算量は $L^2 / N^2 = (512/63)^2 \approx 66$ 倍削減されます。

このグラフは入力系列長 $L$ に対するSelf-Attentionのペア数を対数軸で描いたものです。赤い曲線が point-wise の $O(L^2)$、緑の曲線がパッチ化の $O(N^2)$ で、$L$ が大きくなるほど両者の差は開いていきます。$L=512$ の時点で約66倍の削減となり、これは実測でも裏付けられています。論文のケーススタディ(後述のTable 1)では、$P=16, S=8, L=336$ の設定でTrafficデータの訓練時間が最大22倍高速化されました。この「計算量が二次的に下がる」性質こそが、長い履歴をTransformerに渡せるようにする鍵です。
局所パターンの保持
パッチ化のもう一つの重要な効果は、局所パターンが1つのトークン内に保持されることです。
パッチ長 $P = 32$ の場合、各パッチは32時刻の部分系列を含みます。トレンド、振動の1周期、ステップ変化といった局所構造がパッチ内に自然に収まります。周期的な信号であれば、パッチ長をその周期の特性的な時間スケールに合わせることで、物理的に意味のあるトークン化が実現できます。

実際の多変量信号(周期構造 + ノイズ)をパッチ化した様子です。$L=512$ の系列が $P=32, S=16$ の設定で $N=31$ 個のトークンに変換され、各色が1つのパッチ(=局所波形)に対応します。1つ1つのパッチが「上昇」「ピーク」「下降」といった意味のある波形断片を捉えており、point-wise 方式では失われてしまう局所構造がトークンの中に保存されていることが見て取れます。
パッチ化の効果を理解したところで、次にPatchTSTのもう一つの革新 — チャネル独立設計 — について見ていきます。
チャネル独立設計
多変量時系列の扱い
多変量時系列($C$ チャネル)を処理する方法には、大きく2つのアプローチがあります。
チャネル混合(Channel Mixing): 全チャネルを1つのトークンに結合する。時刻 $t$ のトークンは $\bm{x}_t = (x_t^{(1)}, \ldots, x_t^{(C)}) \in \mathbb{R}^C$ です。チャネル間の相関を直接モデル化できますが、パラメータ数がチャネル数に依存し、チャネル数が変わるとモデルを再学習する必要があります。
チャネル独立(Channel Independence): 各チャネルを独立な単変量時系列として処理する。$C$ チャネルの多変量時系列は $C$ 個の独立な単変量時系列に分解され、同じ重みを共有するモデルが各チャネルに適用されます。
PatchTSTはチャネル独立を採用します。直感に反するかもしれません — チャネル間の相関を使った方が良いのでは?と思うでしょう。しかし、PatchTSTの実験では、多くのベンチマークでチャネル独立がチャネル混合を上回りました。

左がチャネル独立、右がチャネル混合の処理の流れです。チャネル独立(左)では、各変量が同一の重みを共有する1つのTransformerに別々に通され、それぞれ独立に予測されます。この結果、実質的な学習サンプル数が変量数だけ増え、パラメータ数は変量数に依存しません。一方チャネル混合(右)では、各時刻の全変量を1つのベクトルに結合してからTransformerに渡すため、変量間の相関を直接扱える反面、訓練データ上のたまたまの相関に過剰適合しやすくなります。
なぜチャネル独立が有効なのか
過剰適合の防止: チャネル混合モデルは、訓練データのチャネル間の偽の相関を学習してしまうリスクがあります。例えば、気温と湿度の間に訓練データでは強い負の相関が見られても、予測時には異なる条件でこの相関が崩れる可能性があります。チャネル独立は各チャネル内の時間パターンのみを学習するため、汎化性能が高くなります。
正則化効果: $C$ チャネルの多変量系列をチャネル独立で処理すると、実質的に学習サンプル数が $C$ 倍になります。これはバッチサイズの増加と同等の効果を持ち、勾配推定の分散を下げます。
柔軟性: チャネル数が異なるデータセットに同じモデルをそのまま適用できます。センサ構成が対象ごとに異なるような場面でも、チャネル独立モデルなら再学習なしで適用できます。この性質は、後述する転移学習・自己教師あり事前学習において特に重要になります。
計算効率: チャネル混合ではトークンの次元が $C \times P$ になりますが、チャネル独立では $P$ のままです。$C = 10$ の場合、パッチ埋め込みのパラメータ数は10分の1です。
ただし、チャネル間の物理的な因果関係が明確に存在する場合には、チャネル混合の方が有利な場面もあります。論文自身も結論で「チャネル独立を保ちつつクロスチャネル依存を取り込むこと」を今後の課題として挙げています。
PatchTSTのアーキテクチャ
全体構造
PatchTSTの全体像を、論文の原図で確認しましょう。

出典: Nie et al., “A Time Series is Worth 64 Words: Long-term Forecasting with Transformers”, ICLR 2023, Fig.1(a)
論文のFig.1(a)は、多変量時系列 $\bm{x} \in \mathbb{R}^{M \times L}$($M$ 変量・長さ $L$)が処理される流れを示しています。左側で入力がチャネルごと($\bm{x}^{(i)} \in \mathbb{R}^{1 \times L}$)に分解され(Channel-independence)、それぞれが同じTransformerバックボーン(中央の灰色ブロック)を通り、最後に各チャネルの予測 $\hat{\bm{x}}^{(i)} \in \mathbb{R}^{1 \times T}$ を結合(Concatenate)して $\hat{\bm{x}} \in \mathbb{R}^{M \times T}$ を得ます。すべてのチャネルが重みを共有している点が、チャネル独立設計の核心です。
バックボーンの内部は次のように構成されます。

出典: Nie et al., ICLR 2023, Fig.1(b) 教師あり / (c) 自己教師あり
論文のFig.1(b)(左)は教師あり予測のバックボーンです。下から順に、入力単変量系列に Instance Norm + Patching を適用してパッチ列 $\bm{x}_p^{(i)} \in \mathbb{R}^{P \times N}$ を作り、Projection + Position Embedding で $D$ 次元のトークンに射影し、Transformer Encoder(右に展開された Multi-Head Attention → Add&Norm → Feed Forward → Add&Norm の $n$ 段)に通し、最後に Flatten + Linear Head で予測系列を出力します。Fig.1(c)(右)は自己教師あり版で、予測ヘッドの代わりに Linear Layer を置き、マスクしたパッチ(点線枠)を復元する構成になっています。この2つが同じEncoderを共有していることが、事前学習→微調整をスムーズにします。
順を追って数式で確認します。
1. パッチ埋め込み(Patch Embedding): パッチ $\bm{p}_i \in \mathbb{R}^P$ を線形層で $D$ 次元のトークン埋め込みに変換します。
$$ \bm{h}_i^{(0)} = \bm{W}_{\text{patch}}\, \bm{p}_i + \bm{e}_i^{\text{pos}} $$
ここで $\bm{W}_{\text{patch}} \in \mathbb{R}^{D \times P}$、$\bm{e}_i^{\text{pos}} \in \mathbb{R}^D$ は学習可能な位置埋め込みです。
2. Transformer Encoder: 各ヘッドはクエリ・キー・バリューを計算し、スケール済みドット積注意を取ります。
$$ \bm{O}_h^{(i)} = \text{Attention}(Q_h^{(i)}, K_h^{(i)}, V_h^{(i)}) = \text{Softmax}\!\left( \frac{Q_h^{(i)} (K_h^{(i)})^\top}{\sqrt{d_k}} \right) V_h^{(i)} $$
Encoder-onlyであり、Decoderは使いません。注意マスクも不要(全パッチ間のAttentionを計算)で、これはBERTと同じ双方向構造です。なお論文では、時系列Transformerでは LayerNorm より BatchNorm の方が性能が良いという先行知見に従い、正規化に BatchNorm を採用しています。
3. 予測ヘッド(Prediction Head): Encoder の出力トークン列を平坦化し、線形層で予測系列を出力します。
$$ \hat{\bm{x}}_{L+1:L+T}^{(i)} = \text{Flatten}(\bm{z}_1^{(i)}, \ldots, \bm{z}_N^{(i)})\, \bm{W}_{\text{pred}} + \bm{b}_{\text{pred}} $$
損失は全 $M$ チャネルの予測とグラウンドトゥルースの MSE を平均したものです。
$$ \mathcal{L} = \mathbb{E}_{\bm{x}} \frac{1}{M} \sum_{i=1}^{M} \left\| \hat{\bm{x}}_{L+1:L+T}^{(i)} – \bm{x}_{L+1:L+T}^{(i)} \right\|_2^2 $$
さらに、訓練データとテストデータの分布のずれ(distribution shift)を緩和するため、Instance Normalization を用います。各系列インスタンスを平均0・分散1に正規化してからパッチ化し、出力側で平均と標準偏差を戻します。
パッチ間のSelf-Attentionが捉える構造
パッチ化によって各トークンが意味のある局所波形を持つようになると、Self-Attentionはパッチ間の意味的な関係を学習できます。

このヒートマップは、周期構造を持つ信号をパッチ化し、パッチ内容の類似度から計算したSelf-Attention重みです(行がクエリ、列がキー)。対角線だけでなく、一定間隔で並ぶ斜めの縞模様が現れているのが分かります。これは「同じ位相のパッチ同士が強く注目し合う」ことを意味し、信号の周期(この例では周期64がストライド16の4パッチ分に対応)がそのまま縞の間隔として現れています。パッチ化により各トークンが局所パターンを持つからこそ、Attentionがこうした周期的・意味的な時間関係を捉えられるのです。
自己教師あり学習 — マスクパッチ再構成
PatchTSTは教師あり学習(次ステップ予測)に加えて、マスクパッチ再構成による自己教師あり事前学習もサポートします。これがもう一つの大きな貢献です。
BERTの[MASK]トークンと同じアイデアで、入力パッチの一定割合 $r$(論文では $r = 0.4$)をマスクし、残りのパッチからマスクされたパッチの値を再構成します。事前学習ではパッチを重ならないように(non-overlap)区切ります。

この図は自己教師あり事前学習の様子です。系列をパッチに区切り、そのうち40%(赤い「MASK」の区間)をゼロで隠して、残りの青いパッチだけから隠された波形(点線)を復元させます。ポイントは点単位ではなくパッチ単位でマスクすることです。もし1点ずつマスクすると、隣接する点からの単純な内挿で簡単に埋められてしまい、高次の表現を学ぶ動機になりません。パッチごとまとめて隠すことで、モデルは「周囲の文脈から欠けた区間の波形全体を推定する」というより本質的な能力を獲得します。
マスキング: $N$ 個のパッチのうち $\lfloor rN \rfloor$ 個をランダムに選択し、マスクします。
再構成: マスクされた位置の出力から元のパッチ値を再構成し、MSE損失で学習します。
$$ \mathcal{L}_{\text{pretrain}} = \frac{1}{|\mathcal{M}|} \sum_{i \in \mathcal{M}} \|\bm{p}_i – \hat{\bm{p}}_i\|_2^2 $$
この事前学習により、モデルは「局所パターンの文脈的補完」を学習します。事前学習後に予測タスクへ微調整(fine-tuning)または線形プロービングすることで、教師あり学習をゼロから行うよりも高い予測精度が得られることが論文で示されています。しかも、チャネル独立設計のおかげで、事前学習データと下流データでチャネル数が違っても同じモデルを使えるため、あるデータセットで事前学習して別のデータセットへ転移する、といった使い方も可能です。
論文の実験結果
PatchTSTは Weather・Traffic・Electricity・ILI・ETT(4種)の計8データセットで評価されました。ここでは論文の主要な結果表を引用しながら、何が示されたのかを読み解きます。
ケーススタディ:パッチ化の効果と高速化

出典: Nie et al., ICLR 2023, Table 1
論文のTable 1はTrafficデータでのケーススタディです。左表を見ると、look-back窓を $L=96$ から $L=336$ に伸ばすだけでMSEが $0.518 \to 0.397$ に下がり、さらにパッチ化を加えると $0.397 \to 0.367$、自己教師ありにすると $0.349$(最良)まで改善しています。チャネル混合のFEDformer(0.597)やDLinear(0.410)を明確に上回っています。右表は実行時間で、$L=336$ のときパッチ化ありは、なしに比べて Traffic で22倍・Electricity で19倍高速です。パッチ化が「精度を上げつつ計算も速くする」ことがこの1枚に凝縮されています。
メイン結果

出典: Nie et al., ICLR 2023, Table 3
Table 3が多変量長期予測のメイン結果です。予測長 $T \in \{96, 192, 336, 720\}$(ILIのみ $\{24,36,48,60\}$)にわたり、PatchTST/64(look-back 512)と PatchTST/42(look-back 336)を、FEDformer・Autoformer・Informer・Pyraformer・LogTrans・DLinear と比較しています。太字(最良)のほとんどがPatchTSTの列に集中しているのが一目で分かります。論文によれば、PatchTST/64は既存Transformer系の最良結果に対しMSEで平均21.0%・MAEで16.7%の削減を達成し、強敵だったDLinearに対しても、特に大規模データ(Weather・Traffic・Electricity)とILIで優位に立っています。
アブレーション:2つの要素はどちらも効く

出典: Nie et al., ICLR 2023, Table 7
Table 7は、パッチ化(P)とチャネル独立(CI)のそれぞれがどれだけ効くかを切り分けたアブレーションです。4条件 — 両方入り(P+CI)、CIのみ、Pのみ、両方なし(Original TST)— を比較しており、両方入りのP+CI(太字)がすべてのデータセット・予測長で最良です。注目すべきは、Original(両方なし)の列に「-」が多いことで、これはパッチ化しないと入力トークンが多すぎてGPUメモリが溢れる(NVIDIA A40 48GBでもバッチサイズ1で不足)ことを意味します。パッチ化は精度だけでなく、そもそもモデルを動かすためにも不可欠なのです。
長い履歴を活かせるか

出典: Nie et al., ICLR 2023, Fig.2
論文のFig.2は、look-back窓 $L$ を $24 \to 720$ と伸ばしたときのMSEの変化です。紫の×印がPatchTSTで、Electricity・Traffic・Weather のいずれでも、そして予測長 $T=96, 720$ のいずれでも、$L$ を伸ばすほど一貫してMSEが下がっています。一方、Informer(青)などの既存Transformerは $L$ を伸ばしても改善せず、むしろ悪化することが多い。これは「Transformerは長い履歴を与えても活かせていなかった」という当時の批判に対する明確な反証で、パッチ化が長い履歴を有効に使えることを示しています。
この定性的な傾向を模式化すると次のようになります。

自作の概念図でFig.2の要点を整理したものです。PatchTST(紫)はlook-back窓を広げるほど誤差が下がり続けるのに対し、従来のpoint-wise Transformer(赤)は履歴を増やしても活かせず、かえって誤差が増えてしまいます。「より多くの過去を見られること」と「それを実際に使えること」は別問題であり、PatchTSTは後者を初めて満たした、というのがこの図の主張です。
後続モデルへの影響
PatchTSTが確立した「パッチ化 + Transformer Encoder」の設計は、後続の時系列基盤モデルに広く採用されています。
MOMENT(CMU, ICML 2024): PatchTSTと同じパッチ化 + マスク再構成の事前学習を大規模データに適用。Encoder-only構造を維持。
Sundial(Tsinghua, ICML 2025): パッチ化をFlow Matchingと組み合わせ、確率的予測を実現。パッチ埋め込みの構造はPatchTSTを踏襲。
TimeSiam(ICML 2024): パッチ化された時系列に対してSiameseネットワークで自己教師あり学習。
PatchTSTはいわば「時系列Transformerの基盤設計のスタンダード」を確立した論文であり、論文自身も結論で「時系列基盤モデルの構成要素(building block)になりうる」と位置づけています。
まとめ
本記事では、PatchTST(ICLR 2023)が提案するパッチ化とチャネル独立設計について、論文の原図とともに解説しました。
- パッチ化: 時系列をパッチ(部分系列)単位でトークン化し、局所パターンを保持しつつトークン数を大幅に削減(Attention計算量を数十倍削減し、訓練も最大22倍高速化)
- チャネル独立: 多変量時系列の各チャネルを重み共有で独立に処理し、過剰適合を防止しつつパラメータ効率と汎化性能を向上
- 自己教師あり学習: BERTスタイルのマスクパッチ再構成で事前学習し、教師ありをゼロから行うより高い精度と、データ間の転移を可能に
- 実験結果: 既存Transformer系に対しMSEで平均21.0%削減、look-back窓を伸ばすほど改善するという「長い履歴を活かせる」性質を実証
- 後続モデルへの影響: MOMENT、Sundial、TimeSiam等が「パッチ化 + Transformer Encoder」の設計を採用
次のステップとして、以下の記事も参考にしてください。

