時系列データを使った予測モデル構築の流れ、データ分析講座(その308)

投稿日

時系列データを使った予測モデル構築の流れ、データ分析講座(その308)

 

時系列データをビジネス活用するとき、最も期待される活用方法の1つが「データで近未来を予測しこれからのビジネス活動に活かす」というものです。これは、需要予測や受注予測、LTV予測、離反予測、故障予測などの「〇〇予測」と呼ばれることが多いです。では、近未来を予測しビジネス活動に活かすためには、何が必要でしょうか。当然ながら、予測モデルが必要です。今回は、1変量の時系列データで予測モデルを構築する流れを、簡単に説明します。

  • Step1:テーマ設定
  • Step2:データ準備
  • Step3:予測モデルの構築方法の検討
  • Step4:予測モデルの構築
  • Step5:ビジネス活用

時系列だからといって特別なわけではなく、よくある機械学習のモデル構築の流れと大差はありません。

1. Step 1でデータ活用ストーリーを描きStep 5で実現する

Step 1とStep 5に登場する「データ活用ストーリー」とは何でしょうか。それは、データがビジネス価値を生み出すまでの流れや関係性を描写したものです。非常に重要なものです。

時系列データを使った予測モデル構築の流れ、データ分析講座(その308)

Step 1で、「データからどうビジネス価値を出すのか」というグランドデザインを「データ活用ストーリー」としてざっくり描きます。その描いた「データ活用ストーリー」は、Step 5で実現します。Step 1では、単に「データ活用ストーリー」を描くだけでなく、「どのよう予測モデルを構築すればいいのか」も併せて検討します。ちなみに、Step 1のテーマ設定(データ活用ストーリーの描写)で失敗すると、その後のステップはすべて無駄になるケースが多いです。無駄になるとは、ビジネスの現場で価値を生み出さない、ということです。

 

2. Step 2の「データの準備」

Step 2は、予測モデル構築に必要なデータを準備するステップです。

時系列データを使った予測モデル構築の流れ、データ分析講座(その308)

(1) Step 2-1:予測モデル構築用データセットの準備

Step 2-1は地味に大変です。データ統合やデータ抽出といったことや、新しい変数を作ったり逆に絞り込んだりする「特徴量エンジニアリング」(特徴量生成や特徴量選択など)を実施します。さらに、基本統計量(平均や分散、など)の計算やグラフ化などを通した「データ理解」などが含まれます。

 

(2) Step 2-2:目的変数yと説明変数Xの設定

Step 2-2では、Step 2-1で準備したデータセットの変数の中から、予測モデルの目的変数yと説明変数Xを選定します。目的変数yが受注の金額などの量的変数の場合には「回帰問題」、目的変数yが受注の有無(1:受注、0:失注)などの質的変数の場合には「分類問題」と呼びます。回帰問題なのか分類問題なのかで、予測モデルのタイプや評価指標などが異なりますので気をつけましょう。

 

(3) Step 2-3:学習データとテストデータへの分割

Step 2-3で、Step 2-1で準備したデータセットを「学習データ」と「テストデータ」に分割します。この「学習データ」と「テストデータ」の2つのデータセットは、次のStep 3で利用します。もっともシンプルな分割方法は、データセットを2分割するホールドアウト法です。時系列データの場合、通常はランダムに2分割することは許されません。時系列性(過去の目的変数や説明変数の影響)が失われることが多いからです。よくあるのが、ある時点を境に前半を学習データと、後半をテストデータに分割する時系列ホールドアウト法です。

 

3. Step 3の「予測モデルの構築方法の検討」

予測モデ...

時系列データを使った予測モデル構築の流れ、データ分析講座(その308)

 

時系列データをビジネス活用するとき、最も期待される活用方法の1つが「データで近未来を予測しこれからのビジネス活動に活かす」というものです。これは、需要予測や受注予測、LTV予測、離反予測、故障予測などの「〇〇予測」と呼ばれることが多いです。では、近未来を予測しビジネス活動に活かすためには、何が必要でしょうか。当然ながら、予測モデルが必要です。今回は、1変量の時系列データで予測モデルを構築する流れを、簡単に説明します。

  • Step1:テーマ設定
  • Step2:データ準備
  • Step3:予測モデルの構築方法の検討
  • Step4:予測モデルの構築
  • Step5:ビジネス活用

時系列だからといって特別なわけではなく、よくある機械学習のモデル構築の流れと大差はありません。

1. Step 1でデータ活用ストーリーを描きStep 5で実現する

Step 1とStep 5に登場する「データ活用ストーリー」とは何でしょうか。それは、データがビジネス価値を生み出すまでの流れや関係性を描写したものです。非常に重要なものです。

時系列データを使った予測モデル構築の流れ、データ分析講座(その308)

Step 1で、「データからどうビジネス価値を出すのか」というグランドデザインを「データ活用ストーリー」としてざっくり描きます。その描いた「データ活用ストーリー」は、Step 5で実現します。Step 1では、単に「データ活用ストーリー」を描くだけでなく、「どのよう予測モデルを構築すればいいのか」も併せて検討します。ちなみに、Step 1のテーマ設定(データ活用ストーリーの描写)で失敗すると、その後のステップはすべて無駄になるケースが多いです。無駄になるとは、ビジネスの現場で価値を生み出さない、ということです。

 

2. Step 2の「データの準備」

Step 2は、予測モデル構築に必要なデータを準備するステップです。

時系列データを使った予測モデル構築の流れ、データ分析講座(その308)

(1) Step 2-1:予測モデル構築用データセットの準備

Step 2-1は地味に大変です。データ統合やデータ抽出といったことや、新しい変数を作ったり逆に絞り込んだりする「特徴量エンジニアリング」(特徴量生成や特徴量選択など)を実施します。さらに、基本統計量(平均や分散、など)の計算やグラフ化などを通した「データ理解」などが含まれます。

 

(2) Step 2-2:目的変数yと説明変数Xの設定

Step 2-2では、Step 2-1で準備したデータセットの変数の中から、予測モデルの目的変数yと説明変数Xを選定します。目的変数yが受注の金額などの量的変数の場合には「回帰問題」、目的変数yが受注の有無(1:受注、0:失注)などの質的変数の場合には「分類問題」と呼びます。回帰問題なのか分類問題なのかで、予測モデルのタイプや評価指標などが異なりますので気をつけましょう。

 

(3) Step 2-3:学習データとテストデータへの分割

Step 2-3で、Step 2-1で準備したデータセットを「学習データ」と「テストデータ」に分割します。この「学習データ」と「テストデータ」の2つのデータセットは、次のStep 3で利用します。もっともシンプルな分割方法は、データセットを2分割するホールドアウト法です。時系列データの場合、通常はランダムに2分割することは許されません。時系列性(過去の目的変数や説明変数の影響)が失われることが多いからです。よくあるのが、ある時点を境に前半を学習データと、後半をテストデータに分割する時系列ホールドアウト法です。

 

3. Step 3の「予測モデルの構築方法の検討」

予測モデルは、実務で使う前にその構築方法を検討する必要があります。Step 3で、「学習データ」で予測モデルを学習し、学習した予測モデルを「テストデータ」で評価する、ということを実施しながら、どうすればより良い予測モデルが構築できるのかを検討していきます。

時系列データを使った予測モデル構築の流れ、データ分析講座(その308)

(1) Step 3-1:モデルのタイプなどを選定

Step 3-1でモデルのタイプ(予測モデルを構築するアルゴリズム)などを選定します。「モデルのタイプの選定」とは、どのモデルのタイプで予測モデルを構築するのかを決める、ということです。もちろん複数選定しても問題ありません。

 

ちなみに、モデルのタイプ(予測モデルを構築するアルゴリズム)とは、「線形回帰」「決定木」「XGBoost」などのテーブルデータ系の数理モデルや、「ARIMA」「TBATS」「Prophet」などの時系列系の数理モデルのことです。モデルのタイプによっては、ハイパーパラメータというものを持つことがあります。このハイパーパラメータをどのように扱うのかも、ここで検討しておく必要があります。

 

  • チューニングするハイパーパラメータの選定:どのハイパーパラメータをチューニングし、どのハイパーパラメータをチューニングしないのか 
  • ハイパーパラメータのチューニング方法:チューニングの探索範囲(値の候補)をどのようし設定し、どのような方法でチューニングするのか

 

(2) Step 3-2:予測モデルの学習(学習データ利用)

Step 3-2で、「学習データ」を使い予測モデルを学習していきます。選定したモデルが複数あれば、少なくともモデルのタイプの数だけ予測モデルを学習します。ハイパーパラメータをチューニングする場合、最大でもそのハイパーパラメータの「値の候補」の数だけ予測モデルを学習します。要は、たくさんの予測モデルをここで学習し作っていきます。たくさんの予測モデルの学習を通し……

  • どのモデルで予測モデルを作るのがいいのか 
  • どのハイパーパラメータの値がいいのか
  • どの説明変数の組み合わせがいいのか

……などをここで検討します。

 

(3) Step 3-3:予測モデルのテスト(テストデータ利用)

Step 3-3で、学習し構築した予測モデルをテストデータで使いテストを行い、実務で使う予測モデルを検討していきます。このとき、通常は予測値と実測値の乖離の小さな高精度な予測モデルを選びます。しかし、高精度な予測モデルが使えるモデルとは限りません。例えば、1日後に出力される高精度な予測結果よりも、1分以内に出力されるまぁまぁの精度の予測結果が好まれたりします。その辺りも念頭に入れておきましょう。

 

4. Step 4の「予測モデルの構築(全データ利用)」

予測モデルの構築方法がStep 3で固まれば、次に全てのデータを利用し予測モデルを学習し求めます。この予測モデルをビジネス現場で活用していきます。「全データ利用」とは、手元にあるデータすべてという意味です。少なくとも「学習データ」と「テストデータ」の両方を使います。さらに、新たに蓄積したデータも含まれます。新たなデータがある程度溜まった段階で、再学習し常に予測モデルを更新していきます。

 

【ものづくり セミナーサーチ】 セミナー紹介:国内最大級のセミナー掲載数 〈ものづくりセミナーサーチ〉 はこちら!

 

   続きを読むには・・・


この記事の著者

高橋 威知郎

データネクロマンサー/データ分析・活用コンサルタント (埋もれたデータに花を咲かせる、データ分析界の花咲じじい。それほど年齢は重ねてないけど)

データネクロマンサー/データ分析・活用コンサルタント (埋もれたデータに花を咲かせる、データ分析界の花咲じじい。それほど年齢は重ねてないけど)


「情報マネジメント一般」の他のキーワード解説記事

もっと見る
分析に求められる洞察力の基礎とは データ分析講座(その55)

◆ 目的無きデータ分析にも意味はある。遠回りかもしれないが、良いこともある  よくデータ分析するとき、目的を明確にせよ! と言います。正しいでしょう...

◆ 目的無きデータ分析にも意味はある。遠回りかもしれないが、良いこともある  よくデータ分析するとき、目的を明確にせよ! と言います。正しいでしょう...


時系列データを使った3つのデータ活用 データ分析講座(その208)

    ビジネス活動でよく目にするのが、時系列データです。この時系列データを使ったデータ分析・活用(データサイエンス実践)には、い...

    ビジネス活動でよく目にするのが、時系列データです。この時系列データを使ったデータ分析・活用(データサイエンス実践)には、い...


データの前処理とは何か データ分析講座(その254)

  データを手に入れたとき、集計や分析、数理モデル構築などをする前に、前処理をしデータをキレイにする必要があります。前処理を適切に行わない...

  データを手に入れたとき、集計や分析、数理モデル構築などをする前に、前処理をしデータをキレイにする必要があります。前処理を適切に行わない...


「情報マネジメント一般」の活用事例

もっと見る
‐社内の問題克服による開発活動‐  製品・技術開発力強化策の事例(その14)

 前回の事例その13に続いて解説します。社内における様々な問題を高いレベルで深く追及して解決することが、競争力のある技術を育成し、売れる製品を生み出す事に...

 前回の事例その13に続いて解説します。社内における様々な問題を高いレベルで深く追及して解決することが、競争力のある技術を育成し、売れる製品を生み出す事に...


‐技術開発の目標について 第1回‐  製品・技術開発力強化策の事例(その15)

 前回の事例その14に続いて解説します。製品開発を目指している企業の中には、テ-マが見つかったら、または、アイデアが閃いたら開発に取り組む。そのような淡い...

 前回の事例その14に続いて解説します。製品開発を目指している企業の中には、テ-マが見つかったら、または、アイデアが閃いたら開発に取り組む。そのような淡い...


‐情報収集で配慮すべき事項(第3回)‐  製品・技術開発力強化策の事例(その11)

 前回の事例その10に続いて解説します。ある目的で情報収集を開始する時には、始めに開発方針を明らかにして、目的意識を持って行動する必要があります。目的を明...

 前回の事例その10に続いて解説します。ある目的で情報収集を開始する時には、始めに開発方針を明らかにして、目的意識を持って行動する必要があります。目的を明...