トップページ | ひとつ上のページ | 目次ページ | このサイトについて | ENGLISH

ホワイトノイズからSARIMAXまでの道のり

時系列分析 の比較的古い文献では、ARMAモデルが説明されることが多いです。ARIMAが増えて、最近は、ARIMAXやSARIMAが説明されることが増えました。 今のところ、最大のモデルはSARIMAXのようです。

SARIMAXは、S、AR、I、MA、Xのモデルの足し合わせでできているので、個々のモデルを理解する必要があります。 さらに、その前段として、ホワイトノイズ、ランダムウォーク、移動平均があります。

このページでは、SARIMAXをゴールとして、そこまでの道のりを説明します。
ホワイトノイズからSARIMAXまでの道のり

世の中の文献は、モデルの内容には触れない文献と、一般化・抽象化をして詳しく説明している文献に二極化しているようです。 このページは、その中間です。 実務で使う人が。知っていると良いことをまとめてみました。

ARMAモデルの準備

ARMAモデルの前に、準備として、ホワイトノイズモデル、ランダムウォークモデル、移動平均モデルを説明します。

ARMAモデルを理解するには、移動平均モデルを知っていた方が良いです。 移動平均モデルを理解するには、ホワイトノイズモデルとランダムウォークモデルを知っていた方が良いです。

ホワイトノイズモデル

時系列分析を特に学んだことがなくても、日常生活の中での予測では、過去のデータの平均値を使うことが多いと思います。 そうした予測をしている時は、ホワイトノイズモデルを想定していることになります。

ホワイトノイズノイズは、過去の値とは、まったく関係なく次の値が決まるモデルです。

式は、以下のようになります。
ホワイトノイズモデル

この式は、「n+1番目のxは、中心値uに、n+1番目の乱数eを足したもの」という意味です。

ホワイトノイズモデルを仮定して予測する場合は、乱数の部分は予測不能なので、予測値はuにします。 uは、過去のデータの平均値を使います。

ランダムウォークモデル

日常生活では、 「今日は最高気温が30℃だったから、明日は30℃くらいだろう」というように、直近のデータだけで予測することもあります。

このような予測は、データが古ければ古いほど、予測の参考にならない時にします。 そうした予測をしている時は、ランダムウォークを想定していることになります。

ランダムウォークモデルは、1ステップ前の値に、乱数が足し合わさることで、次の値が決まるモデルです。 このサイトには、 ランダムウォークモデル のページもあります。

式は、以下のようになります。
ランダムウォークモデル

ホワイトノイズモデルで、一定値を表すuのところが、n番目のxに置き換わっています。

ランダムウォークモデルは、1ステップ前の値との相関がとても高くなります。 自己単相関分析 のモデルにもなります。

ランダムウォークモデルを仮定して予測する場合は、乱数の部分は予測不能なので、予測値は1ステップ前の値にします。

移動平均モデル

ホワイトノイズモデルは、過去のデータの全部を使って平均値を計算して、予測値にします。 ランダムウォークモデルは、直前のデータだけを使って、予測値にします。

移動平均モデルは、これらの中間で、例えば、3ステップ前までの値の平均値を計算して、予測値にします。

日常生活では、 「最近3日は、満席が続いたから、明日も満席だろう」というように、予測することがありますが、このタイプです。

式は、以下のようになります。
移動平均モデル

ベースになる値がゆっくりと変化していて、観測しているのがベースの値に誤差が加わったものの場合、 直前の1つの観測値だけを見るよりも、直近の複数の観測値の平均値を見た方が、ベースの値を精確に推定できます。 移動平均モデルは、このような場合に適しています。

ちなみに、ホワイトノイズモデルは、ベースになる値は変化していないことを前提としたモデルです。

ARMAモデル

ARMAモデルは、ARモデルとMAモデルを合体したものです。ARモデルから説明します。

ARモデル

移動平均モデルの例では、3ステップ前の値までの値の平均値を計算するので、過去の値に「1/3」をかけて計算しました。

この部分を一般化して、「1/3以外でも可」とするのが、ARモデルです。

式は、以下のようになります。
ARモデル

係数aの合計が1より大きいと、発散傾向になります。 また、1より小さいと、収束傾向になります。

ARモデルを使うと、直近の値ほど割合を大きくすることができます。 そうすると、ランダムウォークモデルと、移動平均モデルの中間のようなモデルになります。

指数平滑法は、「直近の値ほど割合を大きくして、係数aの合計を1したARモデル」と解釈できます。

MAモデル

MAモデルのMAは、「Moving Average(移動平均)」の略です。 そのため、上記の移動平均モデルと名前が同じになるのですが、こちらは「MAモデル」と呼んで区別することが一般的です。 ここでも、この呼び方で区別します。


ここまでの説明では、xとeという値を扱って来ましたが、xは観測している値です。 eは、「こういう値があるはず」ということで想定はしているものの、観測していない値です。 eは観測していませんが、aの値を推定すると、xとaを使って求めることができます。

移動平均モデルは、過去のxの平均値を使います。

MAモデルは、過去のeの平均値を使います。 さらに、「平均値」という考え方を、ARモデルのように拡張して、任意の係数をかけて計算できるようにします。

MAモデルでは、式が、例えば以下のようになります。 n+1番目のxは、定数のc、乱数e、係数bで求まる式です。
MAモデル


上記のARモデルの場合は、1行ずらしたデータと、2行ずらしたデータを変数として、重回帰分析をすることで、係数aが求まります。 そのため、Excelでも簡単にできます。

MAモデルの場合は、重回帰分析ではできませんが、Excelの場合は、ソルバーを使った最適化計算でできます。 具体的には、eについての、二乗平均平方根誤差(RMSE)が最小値になるように、係数b、cを最適化する計算になります。 詳細は、 ExcelでMAモデル のページにあります。

ARMAモデル

ここまでで、ARMAモデルの準備ができました。 ARMAモデルは、ARモデルとMAモデルを合体したモデルです。

式は、以下のようになります。
ARMAモデル

ARMAモデルへの誤解 のページがあります。

SARIMAXモデル

SARIMAXは、S、AR、I、MA、Xのモデルの足し合わせでできています。

世の中の解説では、「ARIMA」、「SARIMA]、「ARIMAX」といった感じで、要素を合体した名前で呼んで解説しますが、要素で分けた方がわかりやすいので、ここでは、要素別に説明します。 ARとMAは、既に説明しているので、S、I、Xを順に説明します。

Sモデル(季節性モデル)

Sモデルの「S」は、「Seasonal:季節性の」から来ていますが、季節性に限らず、1週間でも、1日でも、周期性があれば扱えるモデルです。

まず、ランダムウォークモデルとして、以下を考えます。 これは、予測値を1ステップ前の値と考える式になっています。
ランダムウォークモデル

Sモデルのシンプルな式は、例えば以下になります。 1か月に1個データがあり、12か月ごとの周期的な変化のあるデータの場合に当てはまる式です。
Sモデル


時系列分析の方法にProphetがありますが、Prophetでは、周期性を三角関数で扱います。 三角関数の場合は、過去にわたってずっと同じように周期的な変化をしている場合に向いています。

Sモデルの場合は、例えば、上の例では12か月前のデータしか参照していないので、「周期性はあるが、長い年月の中では周期的な特徴が変わって来ている」という場合も扱えます。

Iモデル(差分モデル)

Iモデルの「I」は、「Integrated:和分」ですが、実際は逆の意味の差分を扱います。

上記で、ランダムウォークモデルのシンプルな式として、以下を考えました。
ランダムウォークモデル

ここで、以下のようにyを考えます。
Iモデル

すると、yの予測式はシンプルです。
Iモデル

元のデータでは、うまく当てはまるモデルが見つからなくても、 差分を分析対象にすると、モデルが当てはまることがあります。

例えば、位置データの差分は、移動距離を表します。 温度の差分は、熱エネルギーに比例します。 差分は、当てはまりを良くするための、単なる計算テクニックではなく、物理現象の分析として、意味のある分析になっていることもあります。

Xモデル(外生変数モデル)

Xモデルの「X」は、「exogenous:外生の」です。

単回帰分析 は、以下のような直線を表す式のモデルです。
単回帰分析

単回帰分析を正確に表現する式は、以下になります。 eは誤差です。 実際のデータは、直線状ではなく、直線からばらつきますが、eがばらつきの分を受け持つことで、実際のデータを表す式になります。
単回帰分析

データとの対応を、より正確に表す式が以下になります。 これは、n+1番目のサンプルに対して成り立つ式ですが、任意のサンプルのことも表しています。
単回帰分析


前置きが長くなりましたが、シンプルなXモデルは以下になります。 ここまで説明して来た、ホワイトノイズモデルからIモデルまでは、使用する変数がxだけでした。 Xモデルでは、別の変数が加わるところが、大きな違いです。
Xモデル

Xモデルは、過去のデータとは関係なく、aやbが求まるので、単体では時系列分析のモデルではありません。 他のモデルと組み合わせると、時系列分析のモデルになります。

ARIMAモデル

元のデータについて、差分を計算して、その差分についてARMAモデルを作ると、それはARIMAモデルになります。

SARIMAモデル

SARIMAモデルは、1周期前のデータを変数として加えたARIAMAモデルです。

SモデルはARモデルの特殊な形のため、特に「S」と書いていない文献でも、当たり前のようにして季節性が考慮されていることがあります。

ARIMAモデル

ARIMAモデルに、外生変数の項を加えると、ARIMAXモデルになります。

SARIMAXモデル

SARIMAXモデルは、このページで説明した部品をすべて盛り込んだモデルです。






順路 次は MAレスSARIMAXモデル


杉原データサイエンス事務所のロゴ
杉原データサイエンス事務所によるコンサルティングとセミナー