時系列データに対するクロスバリデーション法、データ分析講座(その307)

更新日

投稿日

 

時系列データに対するクロスバリデーション法、データ分析講座(その307)

 

ビジネスの世界では、売上などの時系列データを使い予測モデルを構築し、近未来を予測しながらビジネス活動する人や組織があります。ただ、予測モデルを構築するときに、どのモデル(アルゴリズム)がいいのか?どの説明変数Xの組み合わせがいいのか?どのハイパーパラメータの値の組み合わせがいいのか?は、モデル構築前に通常はわかりません。そのため、色々な組み合わせパターンで試す必要があります。試すとき、予測モデルを構築するために利用するデータセットを「訓練データ」と「検証データ」します。

時系列データに対するクロスバリデーション法、データ分析講座(その307)

色々なパターン(モデルと説明変数Xとハイパーパラメータの値などの組み合わせ)で「訓練データ」で予測モデルを学習し求め「検証データ」で検証し、より良いパターンを探索します。ここで、データセットを「訓練データ」と「検証データ」に分割しチューニングする場合、どう分割するのかという問題があります。そのやり方の1つが、クロスバリデーション法です。今回は「時系列データに対するクロスバリデーション法」というお話しをします。

1. クロスバリデーション法とは?

クロスバリデーション法とは、データセットを複数に分割し「訓練データ」による予測モデルの学習と「検証データ」による評価を、複数回実施する方法です。例えば、データセットをランダムに10個に分けます。このとき「訓練データ」と「検証データ」のデータセットの組み合わせを10セット作ります。

 

それぞれのセットで予測モデルを学習し評価することで、個々の評価結果を出します。最終的にその評価結果を取りまとめ総合評価結果とします。

 

2. クロスバリデーション法のイメージ

もう少し分かりやすく説明します。1セット目です。10分割したデータの1つを「検証データ」とします。それ以外の9個のデータを「訓練データ」とします。この「訓練データ」で予測モデルを学習し「検証データ」を使い評価します。 

時系列データに対するクロスバリデーション法、データ分析講座(その307)

2セット目です。10分割したデータの中から1セット目と異なる「検証データ」を1つ選択し「検証データ」とします。それ以外の9個のデータを「訓練データ」とします。この「訓練データ」で予測モデルを学習し「検証データ」を使い評価します。

時系列データに対するクロスバリデーション法、データ分析講座(その307)

このような感じで、3セット目以降も同様に「訓練データ」による予測モデルの学習と「検証データ」による評価を実施します。最終的に、10個の評価結果が手に入ります。多くの場合、評価結果の平均を取り総合評価とします。もちろん、平均ではなく最大値や最小値などを求め「最悪のケース」を総合評価とすることもあります。 

 

3. そのまま時系列データに適用したとき起こる問題

今説明したクロスバリデーション法は、時間軸を考慮した予測モデルのチューニングをするとき問題が起きます。

 

「訓練データ」は「検証データ」よりも時間的に過去のデータである必要があります。ランダムに分割すると「過去のデータで予測モデルを学習し、未来の目的変数yを予測する」という前提を満たさない可能性が高いからです。そのため、ある時点で2つにデータセットを分割し、時間的に前のデータを「訓練データ」時間的に後のデータを「検証データ」とします。

 

4. 時系列データに対するクロスバリデーション法

クロスバリデーション法は複数の「訓練データ」と「検証データ」のセットを準備し、それぞれのセットで予測モデルを学習し評価し、最終的にその評価結果を取りまとめ総合評価結果とします。時系列データの場合には、次のように「訓練データ」と「検証データ」を分割する時点を複数設け、その時点ごとに「訓練データ」と「検証データ」のセットを作ります。

時系列データに対するクロスバリデーション法、データ分析講座(その307)

訓練データの期間を伸ばしていくエクスパディング型と、訓練データの期間を常に一定と...

 

時系列データに対するクロスバリデーション法、データ分析講座(その307)

 

ビジネスの世界では、売上などの時系列データを使い予測モデルを構築し、近未来を予測しながらビジネス活動する人や組織があります。ただ、予測モデルを構築するときに、どのモデル(アルゴリズム)がいいのか?どの説明変数Xの組み合わせがいいのか?どのハイパーパラメータの値の組み合わせがいいのか?は、モデル構築前に通常はわかりません。そのため、色々な組み合わせパターンで試す必要があります。試すとき、予測モデルを構築するために利用するデータセットを「訓練データ」と「検証データ」します。

時系列データに対するクロスバリデーション法、データ分析講座(その307)

色々なパターン(モデルと説明変数Xとハイパーパラメータの値などの組み合わせ)で「訓練データ」で予測モデルを学習し求め「検証データ」で検証し、より良いパターンを探索します。ここで、データセットを「訓練データ」と「検証データ」に分割しチューニングする場合、どう分割するのかという問題があります。そのやり方の1つが、クロスバリデーション法です。今回は「時系列データに対するクロスバリデーション法」というお話しをします。

1. クロスバリデーション法とは?

クロスバリデーション法とは、データセットを複数に分割し「訓練データ」による予測モデルの学習と「検証データ」による評価を、複数回実施する方法です。例えば、データセットをランダムに10個に分けます。このとき「訓練データ」と「検証データ」のデータセットの組み合わせを10セット作ります。

 

それぞれのセットで予測モデルを学習し評価することで、個々の評価結果を出します。最終的にその評価結果を取りまとめ総合評価結果とします。

 

2. クロスバリデーション法のイメージ

もう少し分かりやすく説明します。1セット目です。10分割したデータの1つを「検証データ」とします。それ以外の9個のデータを「訓練データ」とします。この「訓練データ」で予測モデルを学習し「検証データ」を使い評価します。 

時系列データに対するクロスバリデーション法、データ分析講座(その307)

2セット目です。10分割したデータの中から1セット目と異なる「検証データ」を1つ選択し「検証データ」とします。それ以外の9個のデータを「訓練データ」とします。この「訓練データ」で予測モデルを学習し「検証データ」を使い評価します。

時系列データに対するクロスバリデーション法、データ分析講座(その307)

このような感じで、3セット目以降も同様に「訓練データ」による予測モデルの学習と「検証データ」による評価を実施します。最終的に、10個の評価結果が手に入ります。多くの場合、評価結果の平均を取り総合評価とします。もちろん、平均ではなく最大値や最小値などを求め「最悪のケース」を総合評価とすることもあります。 

 

3. そのまま時系列データに適用したとき起こる問題

今説明したクロスバリデーション法は、時間軸を考慮した予測モデルのチューニングをするとき問題が起きます。

 

「訓練データ」は「検証データ」よりも時間的に過去のデータである必要があります。ランダムに分割すると「過去のデータで予測モデルを学習し、未来の目的変数yを予測する」という前提を満たさない可能性が高いからです。そのため、ある時点で2つにデータセットを分割し、時間的に前のデータを「訓練データ」時間的に後のデータを「検証データ」とします。

 

4. 時系列データに対するクロスバリデーション法

クロスバリデーション法は複数の「訓練データ」と「検証データ」のセットを準備し、それぞれのセットで予測モデルを学習し評価し、最終的にその評価結果を取りまとめ総合評価結果とします。時系列データの場合には、次のように「訓練データ」と「検証データ」を分割する時点を複数設け、その時点ごとに「訓練データ」と「検証データ」のセットを作ります。

時系列データに対するクロスバリデーション法、データ分析講座(その307)

訓練データの期間を伸ばしていくエクスパディング型と、訓練データの期間を常に一定とするローリング型の2通りの方法があります。実務で予測モデルを構築し活用するとき、どちらの使い方に近いかで考えればいいと思います。

  1.  エクステパディング型:実務で予測モデルを構築するとき、手に入る過去データをできるだけ使うケース
  2.  ローリング型:実務で予測モデルを構築するとき、ある一定の期間の過去データを使うケース(もしくは、古いデータを定期的に破棄するケース)

 

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

 

   続きを読むには・・・


この記事の著者

高橋 威知郎

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

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


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

もっと見る
情報の蓄積 「果報は練って待て!」

1. 起業時した友人からのアドバイス  筆者の友人に、機械装置関連のものづくり企業を約35年間続けている中小企業経営者がいます。過去には、バブル崩壊やリ...

1. 起業時した友人からのアドバイス  筆者の友人に、機械装置関連のものづくり企業を約35年間続けている中小企業経営者がいます。過去には、バブル崩壊やリ...


データを活用する領域とは データ分析講座(その115)

◆ドメインは、データサイエンス成功に欠かせない  データサイエンスに対して、どのような印象があるでしょうか。「データサイエンス」の字面からだと「デー...

◆ドメインは、データサイエンス成功に欠かせない  データサイエンスに対して、どのような印象があるでしょうか。「データサイエンス」の字面からだと「デー...


解釈は事実と現場の頭の中にある現場感 データ分析講座(その141)

◆ データ分析: 過去を考える  前回のデータ分析講座(その140)データ分析は必ず「アクション」まで導き出す。では次のようなお話しをしました。 ...

◆ データ分析: 過去を考える  前回のデータ分析講座(その140)データ分析は必ず「アクション」まで導き出す。では次のようなお話しをしました。 ...


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

もっと見る
ソーシャルメディアデータの解析事例:異分野研究から得られる共通した目的とは

 2020年、コロナウィルス感染の問題が大きくなり始めた頃、少人数の開催ということで、ソーシャルメディアデータ解析を専門にされている先生の講演会を聞く...

 2020年、コロナウィルス感染の問題が大きくなり始めた頃、少人数の開催ということで、ソーシャルメディアデータ解析を専門にされている先生の講演会を聞く...


中小製造業のウェブ戦略

 中小製造業がウェブサイトを立ち上げる際、その目的として「自社の信用力を高めるための会社概要的な役割」と考える経営者も少なくない。しかし、当社のクライアン...

 中小製造業がウェブサイトを立ち上げる際、その目的として「自社の信用力を高めるための会社概要的な役割」と考える経営者も少なくない。しかし、当社のクライアン...


‐時代の流れを意識した開発テ-マの設定‐  製品・技術開発力強化策の事例(その5)

 前回の事例その4に続いて解説します。時代の流れに沿う開発テ-マとして、最近では、高齢者介護機器、環境関連機器、省エネ機器、情報技術(IT)等に関心が注が...

 前回の事例その4に続いて解説します。時代の流れに沿う開発テ-マとして、最近では、高齢者介護機器、環境関連機器、省エネ機器、情報技術(IT)等に関心が注が...