時系列分析とは何か?
一定間隔の時間順に保存されたデータから有意義な情報を引き出す作業で、過去の行動を理解し、将来の行動を予測するために使用されます。
時系列はデータ分析の重要な分岐点であるにもかかわらず、その分析方法の理論と応用に対する技術的な障壁と、将来を予測することに伴う様々な限界のため、実務の観点からのデータ活用においてその使用が非常に制限されてきました。
しかしながら、現業で意思決定に活用できる時系列データが増加しており、時系列分析だけが提供できるインサイトが存在することを考えると、より多くのビジネスでより頻繁に時系列データを活用すべきだと思います。
時系列データの特徴
時系列(time-series)データとは、一定の時間間隔で観測・収集されたデータを指します。そのため、時系列データには、そのレコードが収集・観測された日時を示す「時間変数」が存在します。「2022-10-01」「2019-02-07 08:55:16」のような時間変数は、特定の構造(例: 年-月-日)と順序(Order)を持つ数値型変数と考えることができます。
しかし、曜日や平日/週末、または時間帯に存在する周期的パターンを見つけるために、時間変数から月、曜日などの派生変数を加工、抽出して使用することができ、このとき、時間変数はカテゴリー型変数の特性を持つことになります。
時系列分析の目的
探索的分析(EDA)の観点から時系列データを分析する主な目標は以下の2つです。
- トレンド(Trend): 時間の経過に伴って主要な指標が上昇、下降する傾向性。
- 周期的/循環的特性(Cyclic Pattern): 時間帯、曜日、月、四半期/季節などによる周期的なパターン。
HEARTCOUNTで練習 - 時系列データ分析
以下では、店舗の売上データを使って、時間の経過に伴う売上高の傾向と売上高に影響を与える周期的パターンが存在するかどうかを一緒に見てみましょう。
まず、データセットのレビュープロセスで「Order Date (注文日)」という時間変数(「2014年11月8日」などの日付を値にもつ)が存在することが確認できます。

時間の経過に伴う売上の推移を見る
それでは、スマートプロットメニューから、時間の経過に伴う売上高の推移を見てみましょう。
-
まずX軸には、時間変数である「Order Date(注文日)」を選択し、売上の集計方法を「平均」から「合計」に変更しましょう。
-
次に、「Order Date」の横に表示される時計アイコンをクリックし、「Sales(売上)」を集計する時間間隔(time grain)を調整してみてください。年・四半期・月・週などの単位が選べますが、「月」を選ぶと、視覚的にちょうどよい粒度で売上の変化を確認することができます。
-
さらに、サブグループに「Category(製品カテゴリー)」を設定し、グラフタイプを「積み上げ面グラフ」に切り替えましょう。製品カテゴリごとの売上推移を柔らかい曲線で表現し、全体の傾向を見やすく把握できます。
月別に製品カテゴリー別の売上合計(総額)が計算され、積み重ねられた視覚化が完成しました。
しかし、上のグラフを見て、いったいどのようなメッセージを伝えることができるでしょうか?
月別、製品別に売上合計にバラツキがあったという話は正しいですが、当たり前の話で情報量のないメッセージです。
売上の季節的、周期的な特性を探る
-
まずX軸には、「Order Date(注文日)」から派生した時間変数のひとつ、「Order Date - 月毎」を選択してみましょう。(この派生時間変数は、HEARTCOUNTが周期的なパターンを見つけやすくするために自動で加工・生成している補助的な時間項目です)
-
年ごとの比較を可能にするために、ファセット(画面分割)の条件として「Order Date - 年」を選択します。
-
グラフタイプは、初期設定の「積み上げ面グラフ」から「積み上げ棒グラフ」に変更してみましょう。月ごとの売上総額(合計値)を明確に比較するには、面グラフよりも棒グラフのほうが適しています。
-
次に、右側のウィンドウにあるサブグループの凡例から「Furniture(家具)」「Office Supplies(事務用品)」「Technology(電子製品)」をクリックしてみてください。各カテゴリごとの売上パターンを視覚的に確認できます。
-
また、X軸を「Order Date - 曜日」に変更することで、「月〜日」それぞれの曜日ごとの売上傾向も確認できます。曜日別の周期パターンを把握したい場合に有効です。
時間というのは私たちが直接コントロールできるものではありませんが、世界や自分のデータを理解するうえで欠かせない重要な軸です。
たとえば主要な指標が「先月」や「昨年同月」と比べて悪化していた場合、その理由を深く掘り下げて探る行為こそが、まさに探索的データ分析(EDA)といえるでしょう。
また、時間変数は「一方向に流れる数値型変数」としてトレンドを追うこともできますし、「月」「曜日」「時間帯」などの特徴を抽出して、順序を持つカテゴリ変数として活用することも可能です。
視点を変えることで、時間の持つ情報はさらに多彩に広がります。