TS Plot Sample(時系列分析) | Alteryx Predictive Tools 道場 Advent Calendar 2018 #14

2018.12.14

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、にいのです。

当エントリは『Alteryx Predictive Tools 道場 Advent Calendar 2018』の14日目のエントリです。エントリを書き終えたと思えばもう次の当番がやってくる、アドベントカレンダーは思った以上に大変な行事であると感じる今日この頃ですが、張り切って時系列分析をやっていきましょう!!!

クラスメソッド Alteryx Predictive Tools 道場 Advent Calendar 2018 - Qiita Alteryx Predictive Tools 道場 Advent Calendar | シリーズ | DevelopersIO

前提条件

Alteryxは「Alteryx Designer / Version 2018.4」を利用しています。

サンプルワークフローとは?

Alteryxでは、Predictive Toolを使用したサンプルワークフローを参照することができます。[Help]→[Sample Workflows]→[Predictive Tool samples]→[Predictive Analytics]から参照可能です。参照にはAlteryx Predictive Tools with Rがインストールされている必要があります。今回は14 TS Plot Sampleを使用しています。

TS Plot Sample(時系列分析)とは?

時系列分析は、ある一定の期間内の分析対象の数量変動から将来の予測をする分析手法です。例えば、年間を通したビールの売り上げを表したデータがあるとします。夏に売り上げ個数が多く、冬には少ないという場合、「夏にはビールが売れやすい」「冬は売れにくい」という予測ができます。時系列分析で作成される図は後述します。

Alteryxで時系列データ分析をする場合はTS Plot Toolを使用します。

サンプルワークフロー概要

では、実際に時系列分析を実行できるツールTS Plot Toolを使ったサンプルワークフローを見てみましょう。全体図は以下の通りです。ツールが5個配置されており、それぞれ違うアプローチの分析結果を確認できます。

インプットデータ

インプットデータに使用されているのは、2002年〜2011年までの月ごとのマウンテンリゾート予約件数です。

TS Plot Toolその1 〜Time series plot〜

5つあるTS Plot Toolを順番に確認してみましょう。まずは1つめです。このフェーズではTime series plotを使って時系列順の目標変数と時間の関係を確認します。今回のケースでは、部屋の予約数と予約月の関係性について確認します。Config画面は以下の通りです。

出力結果(Rアンカー)

TS Plot Toolには2種類のアウトプット方法(Rアンカー/Iアンカー)があります。結果を静的なグラフで表示させるRアンカーの実行結果は以下の通りです。インプットデータでは2011年までのデータしかありませんでしたが、2012年の部屋の予約数の予測結果を確認できます。

出力結果(Iアンカー)

Iアンカーでは、マウスオーバーで追加情報を確認できるようなインタラクティブグラフを生成します。実行結果は以下の通りです。

TS Plot Toolその2 〜Time series decomposition plot(目標変数=予約数)〜

2つ目のツールでは、Time series decomposition plotをプロットとして選択し、時系列を元のデータ(data)データの傾向(trend)データの季節性(seasonal)残差(remainder)に分解してグラフ化します。

出力結果

上述の通り、分解された4つのデータが表示されます。なお、IアンカーはTime series plotと同一のものが表示されているので割愛します。

上記2つの分析結果より、以下3点が明らかになりました。

  1. 時間の経過とともに顕著な予約数の上昇傾向が見られる
  2. 強い季節性がある
  3. 季節性のグラフを見ると、上下の振り幅が予約数そのものの増加とともに大きくなっている

Formula Tool

前項までの結果より、季節性が予約数の予測に役立ちそうだということがわかりました。Formula Toolを使って以下の関数より対数を取得します。

log([Bookings])

対数を取得するねらいは、予約数の増加傾向が乗法的なものであるかを確認することです。前述した通り、時系列データにはデータの傾向(trend)データの季節性(seasonal)残差(remainder)の要素があります。これらの要素が掛け算されて目標変数の数値が上昇している乗法的なものなのか、足し算されて上昇しているものなのかを調べていきます。

TS Plot Tool その3 〜Time series decomposition plot(目標変数=対数)〜

Formula Toolで取得した予約数に対する対数を目標変数として設定し、再度Time series decomposition plotを使って分析します。

出力結果

出力結果は以下の通りです。季節性(Seasonal)の結果を見ると、一定の振り幅のグラフが描画されています。このことから予約数の上昇傾向は乗法モデルと一致することがわかりました。

TS Plot Tool その4 〜Seasonal plot〜

これまでの分析結果で予約数の変動傾向として季節性があることがわかりましたが、季節性のパターンをより詳しく分析できるのがSeasonal plotです。出力結果を見ると一目瞭然ですが、対象データに季節性が存在するのか、存在しているとすればどのような傾向があるのかを理解するのに適した手法です。

出力結果

折れ線グラフで表現された盛り上がりの部分から、予約数が増加している2つのハイシーズンの存在が読み取れます。1つ目は12月〜2月の間、2つ目は夏の間で、ピークとなる月は8月ということがわかりました。

TS Plot Tool その5 〜Autoregression function plot〜

ついに最後、5つめのTS Plot Toolです。最後はAutoregression function plotを選択しています。このプロットでは過去のデータと現在のデータに関連があるかどうか確認できます。

出力結果

出力結果は以下の通りです。縦軸のACFは自己相関係数、横軸のLagは直近の期間より後ろの期間の数を示しています。このグラフでは、高い自己相関の傾向があることを示しています。

参考資料

おわりに

今回はTS Plot Toolを用いた時系列分析のサンプルワークフローについてご紹介しました。明日は大高大輔による「Time Series Forecasting Sample(時系列予測)」です。お楽しみに!

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400