1. 序章

このチュートリアルでは、ARMAタイプのモデルのACFプロットとPACFプロットを調べて、それらから最適な値を選択する方法を理解します。

ACFプロット、PACFプロット、定常性などのいくつかの基本概念から説明を始めます。 その後、ARMAモデルと、それらから最適なモデルを選択する方法について説明します。 最後に、データサイエンスと機械学習アプローチを使用してこの問題を解決する方法を提案します。

2. 自己相関関数(ACF)

自己相関関数(ACF)は、時系列の値が互いにどの程度相関しているかを識別するために使用できる統計手法です。 ACFは、ラグに対する相関係数をプロットします。いくつかの期間または単位の。 ラグは特定の時点に対応し、その後、時系列の最初の値が観測されます。

相関係数の範囲は-1(完全な負の関係)から+1(完全な正の関係)です。 係数0は、変数間に関係がないことを意味します。 また、ほとんどの場合、ピアソンの相関係数またはスピアマンの順位相関係数のいずれかによって測定されます。

これは、経済的または科学的な測定などのランダムなプロセスからの一連の数値を分析するために最もよく使用されます。 また、証券価格や気候測定などの相関データセットの体系的なパターンを検出するためにも使用できます。 通常、PythonとRの統計パッケージを使用するか、ExcelやSPSSなどのソフトウェアを使用してACFを計算できます。 以下に、ACFプロットの例を示します。

上記のACFプロットの青いバーはエラーバンドであり、これらのバー内のすべては統計的に有意ではありません。 これは、この領域外の相関値は、統計的なまぐれではなく、相関である可能性が非常に高いことを意味します。 信頼区間はデフォルトで95%に設定されています。

ラグゼロの場合、ACFは常に1に等しいことに注意してください。これは、信号が常にそれ自体と完全に相関しているため、理にかなっています。

要約すると、自己相関は時系列(信号)とそれ自体の遅延バージョンの間の相関であり、ACFはラグに対して相関係数をプロットし、自己相関を視覚的に表現したものです。

3. 偏自己相関関数(PACF)

偏自己相関は、他の変数の影響を制御した後、2つの変数間の相関を取得する統計的尺度です。 たとえば、ラグ()の信号をラグと(、、)の同じ信号で回帰する場合、との間の偏相関はとの間の相関の量であり、との間の相互相関によって説明されません。 。

そうは言っても、との間でPACFを見つける方法は、回帰モデルを使用することです。

(1)  

ここで、、およびは係数であり、はエラーです。 上記の回帰式から、との間のPACF値は係数です。 との効果はとによってすでにキャプチャされているため、この係数は時系列の直接効果を時系列に与えます。

次の図は、PACFプロットを示しています。

要約すると、偏自己相関関数は、時系列とそれ自体の遅延バージョンとの間の「直接」相関をキャプチャします。

4. 定常性

時系列予測に関しては、時系列の定常性は、アルゴリズムの大部分が必要とする最も重要な条件の1つです。 簡単に言うと、これらの条件が満たされた場合、時系列は定常的です(定常性が弱い)。

  1. 一定の平均を持っています。
  2. 一定の標準偏差があります。
  3. に季節性はありません。 1年以内に繰り返しパターンがある場合は、季節性があります。

信号の定常性を視覚的に確認(近似)するか、統計的仮説を使用してより正確な答えを得ることができます。 その目的のために、2つのテストについて言及することができます。

  • 信号が非定常であるという帰無仮説を使用した拡張ディッキー-フラー検定(ADF)。
  • 信号が静止しているという帰無仮説を使用したKwiatkowski-Phillips-Schmidt-Shin検定(KPSS)。

信号が非定常である場合、差分をとることによってそれらを定常信号に変換できます

(2)  

または変化率の計算

(3)  

これらの変換にもかかわらず、信号は常に静止しているとは限りません。 まれですが、発生する可能性があります。 その場合、非定常のままであれば、同じ変換を信号に適用できます。

以下の例は、非定常時系列とそれに続く上記の2つの変換を示しています。 また、信号が変換を通過するときにAFCとPACFがどのように変化するかを確認できます。 正の傾向があるため、信号はそれ自体の遅延バージョンと高い相関関係があり、したがってACFプロットはゆっくりとした減少を示します。 反対に、提示された2つの変換の場合、AFCはラグゼロでのみ有意な相関関係があります。

5. 自己回帰移動平均モデル(ARMA)

ARMA()モデルは、変数間の関係を特徴付ける経済学、統計、および信号処理で使用される時系列予測手法です。 このモデルは、過去の値に基づいて将来の値を予測でき、自己回帰部分(AR)と移動平均部分(MA)の順序をそれぞれ定義する2つのパラメーターとがあります。

理解しやすいように、ARMAモデルの両方の部分を別々に定義します。

ただし、その前に、ARモデルとMAモデルの両方で信号の定常性が必要であることを知っておく必要があります。 通常、回帰モデルで非定常時系列を使用すると、高いR2乗値と統計的に有意な回帰係数が得られる可能性があります。 これらの結果は、誤解を招くまたは偽物である可能性が非常に高いです。

それはおそらくそれらの間に実際の関係はなく、唯一の一般的なことはそれらが時間とともに成長(減少)しているということです。 式で定義された2つのランダムウォーク間の相関を計算することで、それをテストできます。

(4)  

次の図では、9組のランダムウォークを生成しました。 その結果、ほとんどのペアが明らかに偽の高い相関関係を持っていることがわかります。

5.1. 自己回帰モデル(AR)

自己回帰モデルは、1つの変数の以前の期間への依存性を表す統計モデルです。 これは、シグナルがそれ自体の過去の値のみに依存するモデルです。 たとえば、AR(3)は、過去の3つの値に依存するモデルであり、次のように記述できます。

(5)  

ここで、は係数、はエラーです。 PACFプロットからの有意なスパイクに基づいて、AR()モデルの次数を選択できます。 ARプロセスのもう1つの兆候は、ACFプロットの減衰が遅いことです。

たとえば、以下の例から、PACF値が有意であるため、PACFプロットにはラグ2と3で有意なスパイクがあると結論付けることができます。 対照的に、青い帯内のすべてについて、それがゼロと異なるという証拠はありません。 また、青い帯の外側にある他のラグの値を試すこともできます。 結論として、PACFプロットの青い境界の外側にあるものはすべて、ARモデルの順序を示しています。

5.2. 移動平均(MA)

MA()モデルは、過去のエラーの加重平均をとることによって予測値を計算します。時系列データの傾向とパターンをキャプチャする機能があります。 たとえば、信号のMA(3)は次のように定式化できます。

(6)  

ここで、は級数の平均、は係数、は平均がゼロで標準偏差が1の正規分布を持つ誤差です(ホワイトノイズと呼ばれることもあります)。

ARモデルとは対照的に、このプロットにラグの後に鋭いカットオフがある場合、ACFからモデルMA()の次数を選択できます。 MAプロセスのもう1つの兆候は、PACFプロットの減衰が遅いことです。

ARモデルの選択と同様に、MAモデルの適切な順序を選択するには、青い領域よりも高いすべてのスパイクを分析する必要があります。 その意味で、下の画像から、またはを使ってみることができます。

5.3. ARMAの定義

ARMA()は、AR()モデルとMA()モデルの組み合わせです。 たとえば、信号のARMA(3,3)は、次のように定式化できます。

(7)  

ここで、は係数と誤差です。 順序の選択方法については、ARモデルとMAモデルのセクションですでに説明しました。

6. pおよびq順序を選択するための機械学習アプローチ

前述のように、ACFおよびPACFプロットを分析して、ARMAモデルの正しい順序を見つけるのは非常に困難で時間のかかる場合があります。 したがって、このモデルの調整に関しては、いくつかの簡単なアプローチがあります。 今日、ほとんどの統計ツールには、「自動ARIMA」と呼ばれることが多い統合機能があります。

たとえば、PythonとRでは、自動ARIMAメソッド自体が最適なパラメーターを生成します。これは、データセットがより適切な予測を提供するのに適しています。 その背後にある高レベルのロジックは、他の機械学習モデルのハイパーパラメータ調整の背後にあるロジックと同じです。 とパラメータのいくつかの組み合わせを試し、検証セットを使用して結果を比較する必要があります。

検索スペースは大きくなく、通常は値であり、10以下であるため、グリッド検索と呼ばれるハイパーパラメータ最適化の一般的な手法を適用できます。グリッド検索は、手動で指定されたサブセットの完全な検索です。学習アルゴリズムのハイパーパラメータ空間。 基本的に、これは、このメソッドが、提供された指定されたサブセットの各組み合わせを試行することを意味します。

また、との最適な組み合わせを見つけるには、検証セットでモデルのパフォーマンスを測定する目的関数が必要です。  通常、その目的でAICとBICを使用できます。 これらの基準の値が低いほど、モデルは優れています。

6.1. 赤池情報量基準(AIC)

AICは赤池情報量基準の略で、さまざまなモデルの相対的な品質を比較するために使用できる統計的尺度です。データへの適合度の観点からモデルの品質を測定します。 、その単純さ、およびチューニングパラメータにどれだけ依存しているか。 AICの式は次のとおりです。

(8)  

ここで、は対数尤度であり、はいくつかのパラメーターです。 たとえば、AR()モデルにはパラメーターがあります。 上記の式から、AICは、モデルがデータの適合にどれほど強いかを示すより高い対数尤度と、パラメーターの観点からのより単純なモデルを好むと結論付けることができます。

6.2. ベイズ情報量基準(BIC)

AICに加えて、BIC(ベイズ情報量基準)は、フィッティングに使用されるサンプルの数を定義するもう1つのインジケーターを使用します。BICの式は次のとおりです。

(9)  

6.3. 時系列の相互検証

最後に、時系列を扱っているため、パラメーターの調整には適切な検証手法を利用する必要があります。 データフローのリアルタイムの動作をシミュレートする必要があるため、これは重要です。 たとえば、データサンプルを使用してデータサンプルを予測するのは正しくありません。これは、現実には、将来の情報を使用してリアルタイムでデータを予測することはできないためです。

したがって、時系列ベースの機械学習モデルの調整に使用される一般的な検証手法の1つは、時系列の相互検証です。 目標は、モデルのどのハイパーパラメータがトレーニングデータで選択した測定メトリックの意味で最良の結果をもたらすかを確認し、そのモデルを将来の予測に使用することです。

たとえば、データが5つの時点で構成されている場合、次のようにトレインテストを分割できます。

  • トレーニング[1]、テスト[2]
  • トレーニング[1、2]、テスト[3]
  • トレーニング[1、2、3]、テスト[4]
  • トレーニング[1、2、3、4]、テスト[5]

もちろん、開始トレーニングセットとしては、1つの時点では不十分な場合がありますが、1つの時点ではなく、開始点から開始して同じロジックに従うことができます。

7. 結論

この記事では、時系列予測に関するいくつかの重要な用語を紹介しました。

時系列予測は非常に複雑で困難な作業であり、これを行うための正しい方法は1つではありません。 実際には、上記のACFとPACFの例から、適切なものを選択し、図のみを分析することは、かなり不確定な作業になる可能性があることがわかりました。 したがって、機械学習の方法に基づいて、適切なものを選択するための実践からもう1つの方法を提示しました。