logo

自己回帰モデル 📂機械学習

自己回帰モデル

定義

$N \in \mathbb{N}$に対して、順序を持つデータの集合 $X = \left\{ x_{1}, \dots, x_{N} \right\}$とその冪集合 $P(X)$が与えられたとしよう。次のような関数 $f : P(X) \to X$を自己回帰モデルautoregressive modelという。

$$ f : \left\{ x_{1}, \dots, x_{t-1} \right\} \mapsto x_{t} $$

説明1

直観的には、これまでの値 $x_{1}, \dots, x_{t-1}$が与えられたとき、次のステップの値 $x_{t}$を予測する関数である。時系列予測や生成モデルなどで中心的に用いられる。特に、予測した値 $x_{t}$を再び入力の末尾に繋げて $x_{t+1}$を予測するという形で繰り返せば、任意の長さのシーケンスを生成できるが、大規模言語モデルがトークンを一つずつ繋げて文章を生成するのが代表的な例だ。

狭い意味

伝統的に自己回帰モデルといえば、時系列分析自己回帰過程autoregressive processを指す。ホワイトノイズ $\left\{ e_{t} \right\}_{t \in \mathbb{N}}$と係数 $\phi_{t}$に対して、次のように定義された $\left\{ Y_{t} \right\}_{t \in \mathbb{N}}$を $p$次の自己回帰過程 $AR(p)$という。

$$ Y_{t} = \phi_{1}Y_{t-1} + \phi_{2}Y_{t-2} + \cdots + \phi_{p}Y_{t-p} + e_{t} $$

$AR(p)$は過去の値の線形結合で次の値を説明するが、広い意味の自己回帰モデルが必ずしもこのように線形で表される必要はない。

条件付き分布としての定義

狭い意味の $AR(p)$が次の値を生み出す具体的な(線形)確率過程を一つ指定するのとは異なり、現代の生成モデルなどでは自己回帰モデルを次のような条件付き確率密度関数そのものとみなす場合が多い。

$$ p \left( x_{t} \mid x_{1}, \dots, x_{t-1} \right) $$

このように見ると、データ全体の結合確率密度関数は条件付き確率密度関数の積に分解される。

$$ p \left( x_{1}, \dots, x_{t} \right) = \prod_{n=1}^{t} p \left( x_{n} \mid x_{1}, \dots, x_{n-1} \right) $$

ディープラーニングでは、この条件付き分布は主に非線形人工ニューラルネットワーク構造でモデリングされ、データを順に読み進めるリカレントニューラルネットワークが代表的である。


  1. George Box et al. TIME SERIES ANALYSIS (5E), p8. ↩︎