📘

データ可視化 - 相互相関分析

相互相関分析とは?

相互相関分析カードは、2つの時系列データの間に「時間のズレ(ラグ)」を考慮した相関関係があるかを分析するためのカードです。
「ある事象が起こったあとに、別の事象が時間差で発生している」といった先行指標の特定に役立ちます。 これにより 📘モデル準備 - 時間窓切り出し の窓幅 M の検討にも活用できます。 目的変数と説明変数との間に時間差で関係性があれば、その時間分だけ窓幅に含めることで精度向上が期待できるからです。
 
例えば、天候データと、ある商品の売上データの関係を調べたいとしましょう。 天候は商品の売上に影響する可能性があります。しかし、その影響が即座ではなく数時間や数日後に現れるかもしれません。 このような相互作用を可視化したい場合は相互相関分析が有効です。
 
詳しい式はドコモビジネスの時系列データ分析ノウハウ集「ごちきか」該当記事を参照ください。

相互相関分析カードの操作方法

結線

対象データを結線してください。

パラメータの設定

設定項目任意/必須初期値説明
固定対象カラム必須無し相互相関分析適用の固定する対象のカラム
変動対象カラム必須無し相互相関分析適用の遅れ幅を変動させる対象のカラム
最大の遅れ幅(ラグ数)必須10固定対象カラムに対して変動対象カラムの相関を求める際にずらす時間(レコード数)の最大値
遅れ幅表示範囲切り替え必須ON遅れ幅の範囲にマイナスを含むかどうかを設定します。遅れ幅がマイナスの範囲は、固定対象カラムを過去にずらして相関を計算することに相当します。

実行

  • “実行”ボタンを押してください。
  • 処理時間が 10 分を超えるとタイムアウトし、処理が強制終了されます。

相互相関分析の結果の確認

  • 上図は公開データである「ベルギーの住宅消費電力予測」において、家電の消費電力を表す”Appliances”とキッチンの湿度を表す”RH_1”の相互相関を可視化した結果です。
 

グラフの読み方と解釈のルール

グラフの横軸は「変動対象カラムの遅れ時間(ラグ)」を表し、縦軸は相関係数を表します。山が最も高くなっている箇所のラグ数に注目してください。
  • 固定対象カラム(変数A): 基準となるデータです。
  • 変動対象カラム(変数B): 時間を前後にずらして、変数Aとの相関を確認する対象のデータです。

ラグが「正(プラス)」の場合:Aが先、Bが後

  • 解釈: 固定対象(A)の変化が、数ステップ遅れて変動対象(B)に現れていることを意味します。
  • : ラグ「+3」で最大値をとる場合
    • 「Aの変化から3単位後に、Bが最も強く反応している」
    • AがBの先行指標になっている可能性が高いと言えます。

ラグが「負(マイナス)」の場合:Bが先、Aが後

  • 解釈: 変動対象(B)の変化が、数ステップ先に起こり、後から固定対象(A)が追いかけていることを意味します。
  • : ラグ「-30」で最大値をとる場合
    • 「Bの変化から30単位後に、Aが反応している(=Aから見れば30単位前にBが変化している)」
    • BがAの先行指標になっていると言えます。

具体例

以下のような人工的に生成された波形データ(signal_a と signal_b)を考えます。
signal_b は signal_b を30レコード分後にずらしたものです。
このとき、固定対象(A)をsignal_a、変動対象(B)をsignal_bとして相互相関分析を実行すると、ラグ数が約30のところで山が立ちます。
これは、signal_a の波形が、30ステップ後に signal_b に現れているということ、つまり、signal_a が先に動き、後から signal_b が同じ動きをしていることを示します。