SPSS Modelerで目的変数に相関する外部要因時系列データから交差相関係数を求めて、先行指数を探してみます。
実行動画(5分25秒)
データの読み込み
商品Aの売上が2014-01-01から毎月記録されています。
この売上に関係のありそうな外部要因の時系列データからどの要因の時系列の相関が大きいかを探してみます。
以下には「平均気温」「原油価格」「株価指数」「長期金利」「消費者物価指数」などが、やはり2014-01-01から毎月記録されています(ダミーデータであり、現実のデータではありません)
これらの外部要因候補のデータの何期前のデータが相関するのかを探していきます。
まず、「レコード結合」ノードで「date」をキーに結合します。
LAGデータの作成
「時系列」ノードで選択したフィールドに「平均気温」「原油価格」「株価指数」「長期金利」「消費者物価指数」を入力し、「スパン」を「3」にします。
各外部要因の過去3か月分の時系列的相関を調べたいという意図です。
目的変数と説明変数の定義
「商品A売上」を「対象」(目的変数)として設定し、「時系列」ノードで作成した「平均気温」「原油価格」「株価指数」「長期金利」「消費者物価指数」の過去3か月の列を「入力」(説明変数)として設定します。「商品A売上」と各外部要因データとの交差相関係数を出してきたいと思います。
交差相関係数を調べる
「データ検査」ノードを実行して、「相関T優位確率」を昇順に並べ替えます。
そうすると「商品A売上」との相関係数の絶対値が高い順に外部要因の時系列変数が並びます。
- 一番高いのは「平均気温__1」で0.719でした。1か月前の平均気温との正の相関が一番高いという意味になります
- 「原油価格__1」は-0.492でした。1か月前の原油価格と負の相関があるということです
- 「株価指数__2」とは0.458でした。2か月前の株価指数と正の相関があると出ています
グラフをダブルクリックするともう少し拡大してみることもできます。
このように過去の外部要因と「商品A売上」の相関が高いものは先行指数である可能性があります。
「平均気温__1」の相関係数が高いということは、気温が上がり始めると次月の売上があがり、気温が下がり始めると次月の売上が下がる傾向があるということです。
このように多くの外部要因候補の指標を入れて、その先行指数を一気に探すことができます。
また、今回は過去3か月としましたが、12か月分のLAGデータをつくれば年単位の周期性なども捉えられるかもしれません。
サンプルストリームとデータ
サンプルストリーム
サンプルデータ
- テスト環境
- Modeler 18.5
- Windows 11 64bit