トップページ |
ひとつ上のページ |
目次ページ |
このサイトについて | ENGLISH
時系列分析 の比較的古い文献では、ARMAモデルが説明されることが多いです。 その後、ARIMAの紹介が増えて、最近は、ARIMAXやSARIMAが説明されることが増えました。 今のところ、最大のモデルはSARIMAXのようです。
SARIMAXは、S、AR、I、MA、Xのモデルの足し合わせでできているので、個々のモデルを理解する必要があります。 さらに、その前段として、ホワイトノイズ、ランダムウォーク、移動平均があります。
このページでは、SARIMAXをゴールとして、そこまでの道のりを説明します。
世の中の文献は、モデルの内容には触れない文献と、一般化・抽象化をして詳しく説明している文献に二極化しているようです。 このページは、その中間です。 実務で使う人が。知っていると良いことをまとめてみました。
ARMAモデルは、ARモデルとMAモデルを合体したものです。ARモデルから説明します。
移動平均モデル の例では、3ステップ前の値までの値の平均値を計算するので、過去の値に「1/3」をかけて計算しました。
この部分を一般化して、「1/3以外でも可」とするのが、ARモデルです。
式は、以下のようになります。
係数aの合計が1より大きいと、発散傾向になります。 また、1より小さいと、収束傾向になります。
ARモデルを使うと、直近の値ほど割合を大きくすることができます。 そうすると、ランダムウォークモデルと、移動平均モデルの中間のようなモデルになります。
指数平滑法 は、「直近の値ほど割合を大きくして、係数aの合計を1にしたARモデル」と解釈できます。
ARモデルと一般化したランダムウォークモデルは、だいたい同じ
MAモデルのMAは、「Moving Average(移動平均)」の略です。 そのため、 移動平均モデル と名前が同じになるのですが、こちらは「MAモデル」と呼んで区別することが一般的です。 ここでも、この呼び方で区別します。
ここまでの説明では、xとeという値を扱って来ましたが、xは観測している値です。 eは、「こういう値があるはず」ということで想定はしているものの、観測していない値です。 eは観測していませんが、aの値を推定すると、xとaを使って求めることができます。
移動平均モデルは、過去のxの平均値を使います。
MAモデルは、過去のeの平均値を使います。 さらに、「平均値」という考え方を、ARモデルのように拡張して、任意の係数をかけて計算できるようにします。
MAモデルでは、式が、例えば以下のようになります。
n+1番目のxは、定数のc、乱数e、係数bで求まる式です。
上記のARモデルの場合は、1行ずらしたデータと、2行ずらしたデータを変数として、重回帰分析をすることで、係数aが求まります。 そのため、Excelでも簡単にできます。
MAモデルの場合は、重回帰分析ではできませんが、Excelの場合は、ソルバーを使った最適化計算でできます。 具体的には、eについての、二乗平均平方根誤差(RMSE)が最小値になるように、係数b、cを最適化する計算になります。 詳細は、 ExcelでMAモデル のページにあります。
ここまでで、ARMAモデルの準備ができました。 ARMAモデルは、ARモデルとMAモデルを合体したモデルです。
式は、以下のようになります。
ARMAモデルへの誤解 のページがあります。
SARIMAXは、S、AR、I、MA、Xのモデルの足し合わせでできています。
世の中の解説では、「ARIMA」、「SARIMA]、「ARIMAX」といった感じで、要素を合体した名前で呼んで解説しますが、要素で分けた方がわかりやすいので、ここでは、要素別に説明します。 ARとMAは、既に説明しているので、S、I、Xを順に説明します。
Sモデルの「S」は、「Seasonal:季節性の」から来ていますが、季節性に限らず、1週間でも、1日でも、周期性があれば扱えるモデルです。
まず、ランダムウォークモデルとして、以下を考えます。
これは、予測値を1ステップ前の値と考える式になっています。
Sモデルのシンプルな式は、例えば以下になります。
1か月に1個データがあり、12か月ごとの周期的な変化のあるデータの場合に当てはまる式です。
時系列分析の方法にProphetがありますが、Prophetでは、周期性を三角関数で扱います。 三角関数の場合は、過去にわたってずっと同じように周期的な変化をしている場合に向いています。
Sモデルの場合は、例えば、上の例では12か月前のデータしか参照していないので、「周期性はあるが、長い年月の中では周期的な特徴が変わって来ている」という場合も扱えます。
Iモデルの「I」は、「Integrated:和分」ですが、実際は逆の意味の差分を扱います。
上記で、ランダムウォークモデルのシンプルな式として、以下を考えました。
ここで、以下のようにyを考えます。
すると、yの予測式はシンプルです。
元のデータでは、うまく当てはまるモデルが見つからなくても、 差分を分析対象にすると、モデルが当てはまることがあります。
例えば、位置データの差分は、移動距離を表します。 温度の差分は、熱エネルギーに比例します。 差分は、当てはまりを良くするための、単なる計算テクニックではなく、物理現象の分析として、意味のある分析になっていることもあります。
Xモデルの「X」は、「exogenous:外生の」です。
単回帰分析
は、以下のような直線を表す式のモデルです。
単回帰分析を正確に表現する式は、以下になります。
eは誤差です。
実際のデータは、直線状ではなく、直線からばらつきますが、eがばらつきの分を受け持つことで、実際のデータを表す式になります。
データとの対応を、より正確に表す式が以下になります。
これは、n+1番目のサンプルに対して成り立つ式ですが、任意のサンプルのことも表しています。
前置きが長くなりましたが、シンプルなXモデルは以下になります。
ここまで説明して来た、ホワイトノイズモデルからIモデルまでは、使用する変数がxだけでした。
Xモデルでは、別の変数が加わるところが、大きな違いです。
Xモデルは、過去のデータとは関係なく、aやbが求まるので、単体では時系列分析のモデルではありません。 他のモデルと組み合わせると、時系列分析のモデルになります。
元のデータについて、差分を計算して、その差分についてARMAモデルを作ると、それはARIMAモデルになります。
SARIMAモデルは、1周期前のデータを変数として加えたARIAMAモデルです。
SモデルはARモデルの特殊な形のため、特に「S」と書いていない文献でも、当たり前のようにして季節性が考慮されていることがあります。
ARIMAモデルに、外生変数の項を加えると、ARIMAXモデルになります。
SARIMAXモデルは、このページで説明した部品をすべて盛り込んだモデルです。
順路
次は
MAレスSARIMAXモデル
